This is the mail archive of the
libc-alpha@sources.redhat.com
mailing list for the glibc project.
R_PPC_REL24 bugs in glibc 2.2.x
- To: libc-alpha at sources dot redhat dot com
- Subject: R_PPC_REL24 bugs in glibc 2.2.x
- From: Olaf Hering <olh at suse dot de>
- Date: Mon, 25 Jun 2001 22:45:45 +0200
Hi,
it seems that the glibc 2.2.x can not handle the relocation properly. As
example, kmail compiled with 2.95.3 or the current CVS version can not
be used:
peach:~ # ldd -r /opt/kde2/bin/kmail
libkhtml.so.3 => /opt/kde2/lib/libkhtml.so.3 (0x0154d000)
libkjava.so.1 => /opt/kde2/lib/libkjava.so.1 (0x01508000)
libkparts.so.1 => /opt/kde2/lib/libkparts.so.1 (0x014b0000)
libkssl.so.2 => /opt/kde2/lib/libkssl.so.2 (0x0147a000)
libssl.so.0 => /usr/lib/libssl.so.0 (0x01427000)
libcrypto.so.0 => /usr/lib/libcrypto.so.0 (0x01317000)
libkspell.so.3 => /opt/kde2/lib/libkspell.so.3 (0x012cf000)
libkab.so.3 => /opt/kde2/lib/libkab.so.3 (0x01262000)
libkfile.so.3 => /opt/kde2/lib/libkfile.so.3 (0x01199000)
libksycoca.so.3 => /opt/kde2/lib/libksycoca.so.3 (0x010cb000)
libkio.so.3 => /opt/kde2/lib/libkio.so.3 (0x00ff5000)
libkdeui.so.3 => /opt/kde2/lib/libkdeui.so.3 (0x00d57000)
libkdesu.so.1 => /opt/kde2/lib/libkdesu.so.1 (0x00d12000)
libkdecore.so.3 => /opt/kde2/lib/libkdecore.so.3 (0x00b8a000)
libkdefakes.so.3 => /opt/kde2/lib/libkdefakes.so.3 (0x00b69000)
libdl.so.2 => /lib/libdl.so.2 (0x00b46000)
libDCOP.so.1 => /opt/kde2/lib/libDCOP.so.1 (0x00b04000)
libqt.so.2 => /usr/lib/qt2/lib/libqt.so.2 (0x00557000)
libpng.so.2 => /usr/lib/libpng.so.2 (0x0050b000)
libjpeg.so.62 => /usr/lib/libjpeg.so.62 (0x004c8000)
libXext.so.6 => /usr/X11R6/lib/libXext.so.6 (0x00496000)
libX11.so.6 => /usr/X11R6/lib/libX11.so.6 (0x00373000)
libSM.so.6 => /usr/X11R6/lib/libSM.so.6 (0x00349000)
libICE.so.6 => /usr/X11R6/lib/libICE.so.6 (0x00311000)
libutil.so.1 => /lib/libutil.so.1 (0x002ee000)
libz.so.1 => /lib/libz.so.1 (0x002be000)
libstdc++-libc6.2-2.so.3 => /usr/lib/libstdc++-libc6.2-2.so.3
(0x00244000)
libm.so.6 => /lib/libm.so.6 (0x001ab000)
libc.so.6 => /lib/libc.so.6 (0x00051000)
libXft.so.1 => /usr/X11R6/lib/libXft.so.1 (0x30029000)
libmng.so.0 => /usr/lib/libmng.so.0 (0x300a4000)
/lib/ld.so.1 => /lib/ld.so.1 (0x30000000)
libXrender.so.1 => /usr/X11R6/lib/libXrender.so.1 (0x300fc000)
liblcms.so.1 => /usr/lib/liblcms.so.1 (0x30111000)
/opt/kde2/bin/kmail: error while loading shared libraries:
/usr/X11R6/lib/libXft.so.1: R_PPC_REL24 relocation at 0x3004a574 for
symbol `)Ð' out of range
The symbol name is different with each compiler/glibc version that I
tried.
Running ld.so.1 in gdb didnt help much. It seems that
__process_machine_rela() in sysdeps/powerpc/dl-machine.c calls
dl_reloc_overflow() with wrong values, sym is never NULL:
(gdb)
Run till exit from #0 __process_machine_rela (map=0x30150038,
reloc=0xa, sym=0xa, refsym=0x30150038,
reloc_addr=0x1135d4, finaladdr=1119184, rinfo=10) at
../sysdeps/powerpc/dl-machine.c:403
/opt/kde2/bin/kmail: error while loading shared libraries:
/usr/X11R6/lib/libXft.so.1: R_PPC_REL24 relocation at 0x0012ad38 for
symbol `c' out of range
Any ideas how to fix that? I was told it is a compiler bug, but it
happens also with the latest version so I guess the dynamic linker is
buggy on ppc.
The same KDE2 sources work fine with glibc 2.1.3, however, I didnt try
all possible combinations yet. ;)
Gruss Olaf
--
$ man clone
BUGS
Main feature not yet implemented...