------- 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