This is the mail archive of the libc-hacker@sourceware.org mailing list for the glibc project.
Note that libc-hacker is a closed list. You may look at the archives of this list, but subscription and posting are not open.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Other format: | [Raw text] |
Hi! The nm -u ld.so | cmp -s /dev/null - test fails on sparc64, because ld.so (and other shared libs) on sparc64 have STT_REGISTER SHN_UNDEF symbols which are supposed to be undefined per psABI and are not really any kind of errors, just notes about each library's use of global registers. Using readelf -s allows us to filter symbols which can be SHN_UNDEF (symbol 0 and STT_REGISTER). Ok? 2007-08-16 Jakub Jelinek <jakub@redhat.com> * elf/Makefile ($(objpfx)ld.so): Use readelf -s and awk instead of nm -u to check for undefined symbols. --- libc/elf/Makefile.jj 2007-08-10 15:31:49.000000000 +0200 +++ libc/elf/Makefile 2007-08-16 22:08:21.000000000 +0200 @@ -307,7 +307,9 @@ $(objpfx)ld.so: $(objpfx)librtld.os $(ld $(filter-out $(map-file),$^) $(load-map-file) \ -Wl,-soname=$(rtld-installed-name) -T $@.lds rm -f $@.lds - nm -u $@ | cmp -s /dev/null - + readelf -s $@ \ + | awk '($7 ~ /^UND(|EF)$/ && $1 != "0:" && $4 != "REGISTER") { print }' \ + | cmp -s /dev/null - # interp.c exists just to get this string into the libraries. CFLAGS-interp.c = -D'RUNTIME_LINKER="$(slibdir)/$(rtld-installed-name)"' \ Jakub
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |