about summary refs log tree commit diff
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2007-08-16 21:20:11 +0000
committerJakub Jelinek <jakub@redhat.com>2007-08-16 21:20:11 +0000
commitcb84d1e403cf2295307b398ab54cedc6bf9f8973 (patch)
treef166c176f30129a74cd88ea17249ca1ca222f689
parent3e8d1eabc985a5804681506d79187829774885ad (diff)
downloadglibc-cb84d1e403cf2295307b398ab54cedc6bf9f8973.tar.gz
glibc-cb84d1e403cf2295307b398ab54cedc6bf9f8973.tar.xz
glibc-cb84d1e403cf2295307b398ab54cedc6bf9f8973.zip
* elf/Makefile ($(objpfx)ld.so): Use readelf -s and awk instead of nm -u cvs/fedora-glibc-20070816T2121
to check for undefined symbols.
	* elf/Makefile ($(objpfx)ld.so): Use readelf -s and awk instead of nm -u
	to check for undefined symbols.
-rw-r--r--ChangeLog3
-rw-r--r--elf/Makefile3
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)"' \