Subject: bug#16452: closed (Re: bug#16452: opt_duplicate_compiler_generated_deps is harmful on Solaris)

From: [email-masked] (GNU bug Tracking System)
Date: Fri, 17 Jan 2014 21:19:02 +0000

Your bug report

#16452: opt_duplicate_compiler_generated_deps is harmful on Solaris

which was filed against the libtool package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
16452: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=16452
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: bug#16452: opt_duplicate_compiler_generated_deps is harmful on Solaris
From: "Gary V. Vaughan" <[email-masked]>
To: Rainer Orth <[email-masked]>
Cc: [email-masked], Libtool Patches List <[email-masked]>
Date: Sat, 18 Jan 2014 10:18:39 +1300
List-Id: <debbugs-submit.debbugs.gnu.org>

Hi Rainer,

On Jan 16, 2014, at 1:59 AM, Rainer Orth <[email-masked]> wrote:
> 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?

I took the liberty of writing a ChangeLog on your behalf.

Pushed, this will be in the incoming release as long as testing doesn't find
any issues.  Thanks.

Cheers,
-- 
Gary V. Vaughan (gary AT gnu DOT org)

Subject: opt_duplicate_compiler_generated_deps is harmful on Solaris
From: Rainer Orth <[email-masked]>
To: [email-masked]
Date: Wed, 15 Jan 2014 13:59:11 +0100
List-Id: <debbugs-submit.debbugs.gnu.org>

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