View previous topic :: View next topic |
Author |
Message |
raf Apprentice
Joined: 16 Jan 2005 Posts: 158
|
Posted: Tue Jun 07, 2005 1:07 pm Post subject: Update to glibc-2.3.5 broke glibc-2.0 compatibility ?! |
|
|
Hi,
I have a bin-only commercial program which has been compiled with an older version of glibc. In order to get around this, I compiled my glibc-2.3.4 with +nptl -nptlonly flags, this creates a nptl library in /lib/tls/ and linuxthreads library in /lib/ great! Now to run my bin-only program I would execute:
Code: | export LD_ASSUME_KERNEL=2.4.19 |
and the application would run without any problems.
Last night I upgraded my system to glibc-2.3.5 and gcc-3.4.4 and this no longer works! My entire system which was re-compiled from source works perfectly, but my bin-only application returns with
Code: | symbol errno, version GLIBC_2.0 not defined in file libc.so.6 with link time reference |
irrespective of wheather I run LD_ASSUME_KERNEL or not! Has something changed in the latest glibc-2.3.5 that broke this compatibility? What can I do? I really need this bin-only program!
-Raf |
|
Back to top |
|
|
raf Apprentice
Joined: 16 Jan 2005 Posts: 158
|
Posted: Tue Jun 07, 2005 2:23 pm Post subject: More info... |
|
|
It seems the glibc-2.3.5 ebuild is messed up. It does not create a linuxthread version properly:
From a (I believe to be reliable) source:
Code: | readelf -s /lib/libc.so.6| grep errno |
When nptl is enabled, libc.so has
Code: | 343: 00000008 4 TLS GLOBAL DEFAULT 23 errno@@GLIBC_PRIVATE
7802: 00000008 4 TLS GLOBAL DEFAULT 23 errno |
With Linuxthreads, libc.so has
Code: | 1046: 0012c600 4 OBJECT GLOBAL DEFAULT 27 _errno@GLIBC_2.0
1174: 0012c600 4 OBJECT GLOBAL DEFAULT 27 errno@GLIBC_2.0 |
My new libc-2.3.5.so
Code: | 276: 000e9853 254 FUNC GLOBAL DEFAULT 11 clnt_perrno@@GLIBC_2.0
291: 00000008 4 TLS GLOBAL DEFAULT 19 errno@@GLIBC_PRIVATE
852: 0000001c 4 TLS GLOBAL DEFAULT 19 h_errno@@GLIBC_PRIVATE
1529: 000dd500 25 FUNC GLOBAL DEFAULT 11 __h_errno_location@@GLIBC_2.0
1843: 000156d0 25 FUNC GLOBAL DEFAULT 11 __errno_location@@GLIBC_2.0
2162: 000e9494 120 FUNC GLOBAL DEFAULT 11 clnt_sperrno@@GLIBC_2.0 |
My old libc-2.3.4.so
Code: | 274: 000ce6bc 128 FUNC GLOBAL DEFAULT 11 clnt_perrno@@GLIBC_2.0
994: 0010d360 4 OBJECT GLOBAL DEFAULT 29 _errno@GLIBC_2.0
1120: 0010d360 4 OBJECT GLOBAL DEFAULT 29 errno@GLIBC_2.0
1527: 000c3594 40 FUNC GLOBAL DEFAULT 11 __h_errno_location@@GLIBC_2.0
1707: 0010ef70 4 OBJECT GLOBAL DEFAULT 29 h_errno@GLIBC_2.0
1842: 000157a0 40 FUNC GLOBAL DEFAULT 11 __errno_location@@GLIBC_2.0
2108: 0010ef70 4 OBJECT WEAK DEFAULT 29 _h_errno@GLIBC_2.0
2161: 000ce653 105 FUNC GLOBAL DEFAULT 11 clnt_sperrno@@GLIBC_2.0 |
Any thoughts anyone? I just used the +nptl and -nptlonly flags. |
|
Back to top |
|
|
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|