GNU bug report logs - #16452
opt_duplicate_compiler_generated_deps is harmful on Solaris

Previous Next

Package: libtool;

Reported by: Rainer Orth <ro <at> CeBiTec.Uni-Bielefeld.DE>

Date: Wed, 15 Jan 2014 13:00:02 UTC

Severity: normal

Done: "Gary V. Vaughan" <gary <at> gnu.org>

Bug is archived. No further changes may be made.

Full log


Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Rainer Orth <ro <at> CeBiTec.Uni-Bielefeld.DE>
To: bug-libtool <at> gnu.org
Subject: opt_duplicate_compiler_generated_deps is harmful on Solaris
Date: Wed, 15 Jan 2014 13:59:11 +0100
As described in GCC bug PR target/59788

	Mixing libc and libgcc_s unwinders on 64-bit Solaris 10+/x86 breaks EH
        http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59788

linking e.g. C++ code with -Wl,-Bdirect on 64-bit Solaris 10+/x86 causes
unwinding failures caused by mixing the libc and libgcc_s unwinders in a
single executable.

I've fixed this by a patch to cause every shared object to be linked
with a mapfile to force direct binding to the libgcc_s unwinder,
avoiding the harmful mixing.  Unfortunately, for this change to work
requires to disable the opt_duplicate_compiler_generated_deps
optimization (included in that patch for the copy of libtool in the gcc
tree):

diff --git a/ltmain.sh b/ltmain.sh
--- a/ltmain.sh
+++ b/ltmain.sh
@@ -976,7 +976,7 @@ func_enable_tag ()
 
 
   case $host in
-    *cygwin* | *mingw* | *pw32* | *cegcc*)
+    *cygwin* | *mingw* | *pw32* | *cegcc* | *solaris2* )
       # don't eliminate duplications in $postdeps and $predeps
       opt_duplicate_compiler_generated_deps=:
       ;;

I think that patch should go into upstream libtool as well, although
this won't help for all the copies of libtool already included in
released packages.  As described in the PR, I'm uncertain how to move
forward here.  Suggestions?

Thanks.
        Rainer

-- 
-----------------------------------------------------------------------------
Rainer Orth, Center for Biotechnology, Bielefeld University




This bug report was last modified 11 years and 185 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.