Bug 4025

Summary: linking "elf/dl-allobjs.os" fails with "rtld.os: bad reloc symbol index"
Product: glibc Reporter: Marc Kleine-Budde <mkl>
Component: libcAssignee: Ulrich Drepper <drepper.fsp>
Status: RESOLVED DUPLICATE    
Severity: normal CC: glibc-bugs, r.schwebel
Priority: P2 Flags: fweimer: security-
Version: 2.4   
Target Milestone: ---   
Host: powerpc64-970-linux-gnu Target: powerpc64-970-linux-gnu
Build: i686-pc-linux-gnu Last reconfirmed:

Description Marc Kleine-Budde 2007-02-11 18:37:56 UTC
Hi!

This report is against version "glibc-2.5"....

We have a problem building a cross compiler from "i686-pc-linux-gnu" to
"powerpc64-970-linux-gnu". Linking elf/dl-allobjs.os fails with:

make[3]: Entering directory
`/ptx/work/octopus/mkl/ptxdist/build/scratch/OSELAS.Toolchain-trunk/build-target/glibc-2.5/elf'
powerpc64-970-linux-gnu-gcc   -nostdlib -nostartfiles -r -o
/home/mkl/pengutronix/ptxdist/build/scratch/OSELAS.Toolchain-trunk/build-target/glibc-2.5-build/elf/dl-allobjs.os
/home/mkl/pengutronix/ptxdist/build/scratch/OSELAS.Toolchain-trunk/build-target/glibc-2.5-build/elf/rtld.os
/home/mkl/pengutronix/ptxdist/build/scratch/OSELAS.Toolchain-trunk/build-target/glibc-2.5-build/elf/dl-load.os
/home/mkl/pengutronix/ptxdist/build/scratch/OSELAS.Toolchain-trunk/build-target/glibc-2.5-build/elf/dl-cache.os
/home/mkl/pengutronix/ptxdist/build/scratch/OSELAS.Toolchain-trunk/build-target/glibc-2.5-build/elf/dl-lookup.os
/home/mkl/pengutronix/ptxdist/build/scratch/OSELAS.Toolchain-trunk/build-target/glibc-2.5-build/elf/dl-object.os
/home/mkl/pengutronix/ptxdist/build/scratch/OSELAS.Toolchain-trunk/build-target/glibc-2.5-build/elf/dl-reloc.os
/home/mkl/pengutronix/ptxdist/build/scratch/OSELAS.Toolchain-trunk/build-target/glibc-2.5-build/elf/dl-deps.os
/home/mkl/pengutronix/ptxdist/build/scratch/OSELAS.Toolchain-trunk/build-target/glibc-2.5-build/elf/dl-runtime.os
/home/mkl/pengutronix/ptxdist/build/scratch/OSELAS.Toolchain-trunk/build-target/glibc-2.5-build/elf/dl-error.os
/home/mkl/pengutronix/ptxdist/build/scratch/OSELAS.Toolchain-trunk/build-target/glibc-2.5-build/elf/dl-init.os
/home/mkl/pengutronix/ptxdist/build/scratch/OSELAS.Toolchain-trunk/build-target/glibc-2.5-build/elf/dl-fini.os
/home/mkl/pengutronix/ptxdist/build/scratch/OSELAS.Toolchain-trunk/build-target/glibc-2.5-build/elf/dl-debug.os
/home/mkl/pengutronix/ptxdist/build/scratch/OSELAS.Toolchain-trunk/build-target/glibc-2.5-build/elf/dl-misc.os
/home/mkl/pengutronix/ptxdist/build/scratch/OSELAS.Toolchain-trunk/build-target/glibc-2.5-build/elf/dl-version.os
/home/mkl/pengutronix/ptxdist/build/scratch/OSELAS.Toolchain-trunk/build-target/glibc-2.5-build/elf/dl-profile.os
/home/mkl/pengutronix/ptxdist/build/scratch/OSELAS.Toolchain-trunk/build-target/glibc-2.5-build/elf/dl-conflict.os
/home/mkl/pengutronix/ptxdist/build/scratch/OSELAS.Toolchain-trunk/build-target/glibc-2.5-build/elf/dl-tls.os
/home/mkl/pengutronix/ptxdist/build/scratch/OSELAS.Toolchain-trunk/build-target/glibc-2.5-build/elf/dl-origin.os
/home/mkl/pengutronix/ptxdist/build/scratch/OSELAS.Toolchain-trunk/build-target/glibc-2.5-build/elf/dl-execstack.os
/home/mkl/pengutronix/ptxdist/build/scratch/OSELAS.Toolchain-trunk/build-target/glibc-2.5-build/elf/dl-caller.os
/home/mkl/pengutronix/ptxdist/build/scratch/OSELAS.Toolchain-trunk/build-target/glibc-2.5-build/elf/dl-open.os
/home/mkl/pengutronix/ptxdist/build/scratch/OSELAS.Toolchain-trunk/build-target/glibc-2.5-build/elf/dl-close.os
/home/mkl/pengutronix/ptxdist/build/scratch/OSELAS.Toolchain-trunk/build-target/glibc-2.5-build/elf/dl-trampoline.os
/home/mkl/pengutronix/ptxdist/build/scratch/OSELAS.Toolchain-trunk/build-target/glibc-2.5-build/elf/dl-sysdep.os
/home/mkl/pengutronix/ptxdist/build/scratch/OSELAS.Toolchain-trunk/build-target/glibc-2.5-build/elf/dl-environ.os
/home/mkl/pengutronix/ptxdist/build/scratch/OSELAS.Toolchain-trunk/build-target/glibc-2.5-build/elf/dl-minimal.os
/home/mkl/pengutronix/ptxdist/build/scratch/OSELAS.Toolchain-trunk/build-target/glibc-2.5-build/elf/dl-brk.os
/home/mkl/pengutronix/ptxdist/build/scratch/OSELAS.Toolchain-trunk/build-target/glibc-2.5-build/elf/dl-sbrk.os
/home/mkl/pengutronix/ptxdist/build/scratch/OSELAS.Toolchain-trunk/build-target/glibc-2.5-build/elf/dl-machine.os
/ptx/work/octopus/mkl/ptxdist/build/scratch/OSELAS.Toolchain-trunk/install/opt/OSELAS.Toolchain-trunk/powerpc64-970-linux-gnu/gcc-4.2-20070207-glibc-2.5-kernel-2.6.18/gcc-first/bin/../lib/gcc/powerpc64-970-linux-gnu/4.2.0/../../../../powerpc64-970-linux-gnu/bin/ld:
/home/mkl/pengutronix/ptxdist/build/scratch/OSELAS.Toolchain-trunk/build-target/glibc-2.5-build/elf/rtld.os:
bad reloc symbol index (0x600430 >= 0x95) for offset 0x10 in section `.toc'
/home/mkl/pengutronix/ptxdist/build/scratch/OSELAS.Toolchain-trunk/build-target/glibc-2.5-build/elf/rtld.os:
could not read symbols: Bad value

We use the latest gcc-4.2 snapshot (20070207), binutils-2.17 (release), aswell
as glibc-2.5 (release). Using a binutils snapshot does not bring any difference.
The problem does not occur with gcc-4.1.1 (release) or latest gcc-4.1 snapshot
(20070208).

I can provide objdump or readelf outputs on request (when someone gives me the
"right" cmd-line parameters)

Marc
Comment 1 Marc Kleine-Budde 2007-02-11 18:45:41 UTC
(In reply to comment #0)
> This report is against version "glibc-2.5"....

> We have a problem building a cross compiler from "i686-pc-linux-gnu" to
> "powerpc64-970-linux-gnu". Linking elf/dl-allobjs.os fails with:
[...]

/home/mkl/pengutronix/ptxdist/build/scratch/OSELAS.Toolchain-trunk/build-target/glibc-2.5-build/elf/rtld.os:
> bad reloc symbol index (0x600430 >= 0x95) for offset 0x10 in section `.toc'

glibc is configured like this:

/home/mkl/pengutronix/ptxdist/build/scratch/OSELAS.Toolchain-trunk/build-target/glibc-2.5/configure
--prefix=/usr --build=x86_64-unknown-linux-gnu --host="powerpc64-970-linux-gnu"
--target="powerpc64-970-linux-gnu"  --enable-add-ons=nptl
--with-headers=/home/mkl/pengutronix/ptxdist/build/scratch/OSELAS.Toolchain-trunk/install/opt/OSELAS.Toolchain-trunk/powerpc64-970-linux-gnu/gcc-4.2-20070207-glibc-2.5-kernel-2.6.18/sysroot-powerpc64-970-linux-gnu/usr/include
--enable-kernel="2.6.16" --without-cvs --disable-sanity-checks --enable-debug
--without-gd --with-__thread --enable-shared --with-tls

If this is a gcc/binutils bug, let me know and I'll fill out the appropriate bug
reports.

Marc
Comment 2 Ulrich Drepper 2007-02-11 19:25:49 UTC

*** This bug has been marked as a duplicate of 333 ***