------- Comment #1 from dave at hiauly1 dot hia dot nrc dot ca  2007-10-18 
23:55 -------
Subject: Re:   New: collect2 doesn't strip .sl version

On Sun, 14 Oct 2007, danglin at gcc dot gnu dot org wrote:

> After recently updating libgmp, I find that shared libraries that
> were linked against the old version are broken.  For example, libtool
> links libguile.sl against libgmp.sl.7, /usr/local/lib/libltdl.sl.4,
> /usr/lib/libc.1 and /users/gcc/gcc-4.2.0/lib/libgcc_s.sl.

The reason previously installed libraries break is the dependent libraries
have hardcoded dependencies on the `*GLOBAL*' symbols used for constructors,
destructors and EH exception support (hppa2.0w-hp-hpux* currently has
its EH data in the data section).

The attached patch fixes the versioning problem.  However, we still have
a random portion in every `*GLOBAL_F*' symbol.  This can easily change
from one build to the next.  So, I'm thinking we need to bury them
in special sections similar to .init_array and .fini_array.  However,
the dynamic loader doesn't provide direct support for this, so this
it's going to take some thinking as to the best way to do this.

Dave


------- Comment #2 from dave at hiauly1 dot hia dot nrc dot ca  2007-10-18 
23:55 -------
Created an attachment (id=14371)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=14371&action=view)


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33772

Reply via email to