diff options
-rw-r--r-- | ChangeLog | 3 | ||||
-rw-r--r-- | elf/Makefile | 3 |
2 files changed, 5 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog index a3a3d62f37..d7a6c4030a 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,8 @@ 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. + * sysdeps/unix/sysv/linux/sparc/sparc32/clone.S (__clone): If the syscall fails, set errno to the actual returned error number rather than EINVAL. diff --git a/elf/Makefile b/elf/Makefile index d1b3c5a1f5..2943acc66b 100644 --- a/elf/Makefile +++ b/elf/Makefile @@ -307,7 +307,8 @@ $(objpfx)ld.so: $(objpfx)librtld.os $(ld-map) $(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; p=1 } END { exit p != 0 }' # interp.c exists just to get this string into the libraries. CFLAGS-interp.c = -D'RUNTIME_LINKER="$(slibdir)/$(rtld-installed-name)"' \ |