This is the mail archive of the
binutils@sources.redhat.com
mailing list for the binutils project.
Re: [RFA:] elflink.c: Hide _GLOBAL_OFFSET_TABLE_
- From: Hans-Peter Nilsson <hans-peter dot nilsson at axis dot com>
- To: amodra at bigpond dot net dot au
- Cc: hans-peter dot nilsson at axis dot com, binutils at sources dot redhat dot com
- Date: Sat, 30 Oct 2004 18:15:34 +0200
- Subject: Re: [RFA:] elflink.c: Hide _GLOBAL_OFFSET_TABLE_
> Date: Sat, 30 Oct 2004 00:20:51 +0930
> From: Alan Modra <amodra@bigpond.net.au>
> It would be a good idea to compile glibc and run the glibc testsuite.
> Pick a target that uses _GLOBAL_OFFSET_TABLE_ in dl-machine.h. If
> that goes without a hitch, then feel free to commit.
Lucky me, the x86 port has that, though most of the fun seems to
be spoiled; it's declaration is already hidden. See elf_machine_dynamic:
extern const Elf32_Addr _GLOBAL_OFFSET_TABLE_[] attribute_hidden;
Unfortunately, I can't get a baseline with unpatched results;
glibc testing fails with current (as of this writing) HEAD of
binutils and glibc. Testing with installed binutils works.
Testing on i686-pc-linux-gnu FC2, with PATH-prefixed prefix (and
--enable-add-ons --without-cvs), where binutils and
/lib/libgcc_s.so.1, is installed, yields:
gcc -nostdlib -nostartfiles -o /home/hp/glibc/obj/rt/tst-timer4 -Wl,-dynamic-linker=/tmp/glibcprefix/lib/ld-linux.so.2 -Wl,-z,\
combreloc -Wl,-z,relro /home/hp/glibc/obj/csu/crt1.o /home/hp/glibc/obj/csu/crti.o `gcc --print-file-name=crtbegin.o` /home/hp/gl\
ibc/obj/rt/tst-timer4.o /home/hp/glibc/obj/rt/librt.so /home/hp/glibc/obj/nptl/libpthread_nonshared.a /home/hp/glibc/obj/nptl/lib\
pthread.so -Wl,-rpath-link=/home/hp/glibc/obj:/home/hp/glibc/obj/math:/home/hp/glibc/obj/elf:/home/hp/glibc/obj/dlfcn:/home/hp/g\
libc/obj/nss:/home/hp/glibc/obj/nis:/home/hp/glibc/obj/rt:/home/hp/glibc/obj/resolv:/home/hp/glibc/obj/crypt:/home/hp/glibc/obj/n\
ptl /home/hp/glibc/obj/libc.so.6 /home/hp/glibc/obj/libc_nonshared.a -lgcc -Wl,--as-needed -lgcc_s -Wl,--no-as-needed `gcc --prin\
t-file-name=crtend.o` /home/hp/glibc/obj/csu/crtn.o
GCONV_PATH=/home/hp/glibc/obj/iconvdata LC_ALL=C /home/hp/glibc/obj/elf/ld-linux.so.2 --library-path /home/hp/glibc/obj:/home/h\
p/glibc/obj/math:/home/hp/glibc/obj/elf:/home/hp/glibc/obj/dlfcn:/home/hp/glibc/obj/nss:/home/hp/glibc/obj/nis:/home/hp/glibc/obj\
/rt:/home/hp/glibc/obj/resolv:/home/hp/glibc/obj/crypt:/home/hp/glibc/obj/nptl /home/hp/glibc/obj/rt/tst-timer4 > /home/hp/glibc\
/obj/rt/tst-timer4.out
make[3]: *** [/home/hp/glibc/obj/rt/tst-timer4.out] Error 1
I guess I just have to wait until HEAD of binutils stabilizes wrt. glibc testing.
Or investigate and fix the bug myself.
This isn't the first glibc test, so I doubt it's just a goof in
my framework, though glibc could do with a howto-testing item in
the FAQ. I also stumbled on --with-binutils which could be
helpful.
brgds, H-P