Symbol was GLOBAL DEFAULT, now it's LOCAL HIDDEN.

Carlos O'Donell carlos@baldric.uwo.ca
Tue Jan 28 18:44:00 GMT 2003


libc-alpha,

Just a quick question about symbols and their leaking. On HPPA we had a
number of symbol visibility bugs with binutils. These have been recently
fixed, and as such it seem that this has broken a few programs that 
required relocations against these symbols that are now hidden.

The victim /usr/bin/wget :

Relocation section '.rela.dyn' at offset 0x1814 contains 6 entries:
 Offset     Info    Type            Sym.Value  Sym. Name + Addend
00060ca4  00007801 R_PARISC_DIR32    00000000   __clz_tab + 0
...
120: 00000000   256 OBJECT  GLOBAL DEFAULT  UND __clz_tab
...

The old library /usr/lib/libcrypto.so.0.9.6:

  1422: 000c97d4   256 OBJECT  GLOBAL DEFAULT   11 __clz_tab

The new library before stripping:

  1292: 000c6edc   256 OBJECT  LOCAL  HIDDEN   11 __clz_tab

# wget
wget: relocation error: wget: undefined symbol: __clz_tab

Is the solution to add a compat symbol in glibc?
Thank you for your help.

Cheers,
Carlos.



More information about the Libc-alpha mailing list