about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog8
-rw-r--r--Makerules1
-rw-r--r--dlfcn/Makefile4
-rw-r--r--elf/Makefile37
-rw-r--r--nptl/ChangeLog5
-rw-r--r--nptl/Makefile3
6 files changed, 57 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index 3d2fa219a9..ed5bdf40c3 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+2003-07-21  Ulrich Drepper  <drepper@redhat.com>
+
+	* Makerules (build-module-helper): Add -z defs unless explicitly said
+	not to do it.
+	* dlfcn/Makefile: Define various *-no-z-defs variables for test DSOs
+	which has undefined symbols.
+	* elf/Makefile: Likewise.
+
 2003-07-21  HJ Lu  <hongjiu.lu@intel.com>
 
 	* elf/ldconfig.c (search_dir): Treat symlink as regular file
diff --git a/Makerules b/Makerules
index 18f276ece5..56fcf29d3c 100644
--- a/Makerules
+++ b/Makerules
@@ -521,6 +521,7 @@ endef
 else
 define build-module-helper
 $(LINK.o) -shared $(static-libgcc) $(sysdep-LDFLAGS) $(config-LDFLAGS) \
+	  $(if $($(@F)-no-z-defs)$(no-z-defs),,-Wl,-z,defs) \
 	  -B$(csu-objpfx) $(load-map-file) \
 	  $(LDFLAGS.so) $(LDFLAGS-$(@F:%.so=%).so) \
 	  -L$(subst :, -L,$(rpath-link)) -Wl,-rpath-link=$(rpath-link)
diff --git a/dlfcn/Makefile b/dlfcn/Makefile
index c3d7ecbfc7..a5793cb731 100644
--- a/dlfcn/Makefile
+++ b/dlfcn/Makefile
@@ -47,6 +47,10 @@ modules-names = glreflib1 glreflib2 failtestmod defaultmod1 defaultmod2 \
 		errmsg1mod modatexit modcxaatexit \
 		bug-dlsym1-lib1 bug-dlsym1-lib2
 
+failtestmod.so-no-z-defs = yes
+glreflib2.so-no-z-defs = yes
+errmsg1mod.so-no-z-defs = yes
+
 ifeq (yesyesyes,$(build-static)$(build-shared)$(elf))
 tests += tststatic
 tests-static += tststatic
diff --git a/elf/Makefile b/elf/Makefile
index 2622801dad..5ba98fc4e8 100644
--- a/elf/Makefile
+++ b/elf/Makefile
@@ -335,7 +335,8 @@ $(objpfx)sprof: $(libdl)
 
 $(objpfx)ldconfig: $(ldconfig-modules:%=$(objpfx)%.o)
 SYSCONF-FLAGS := -D'SYSCONFDIR="$(sysconfdir)"'
-CFLAGS-ldconfig.c = $(SYSCONF-FLAGS) -D'LIBDIR="$(libdir)"' -D'SLIBDIR="$(slibdir)"'
+CFLAGS-ldconfig.c = $(SYSCONF-FLAGS) -D'LIBDIR="$(libdir)"' \
+		    -D'SLIBDIR="$(slibdir)"'
 CFLAGS-dl-cache.c = $(SYSCONF-FLAGS)
 CFLAGS-cache.c = $(SYSCONF-FLAGS)
 
@@ -399,6 +400,40 @@ $(objpfx)reldep9mod3.so: $(objpfx)reldep9mod1.so $(objpfx)reldep9mod2.so
 LDFLAGS-tst-tlsmod5.so = -nostdlib
 LDFLAGS-tst-tlsmod6.so = -nostdlib
 
+testobj1.so-no-z-defs = yes
+testobj3.so-no-z-defs = yes
+testobj4.so-no-z-defs = yes
+testobj5.so-no-z-defs = yes
+testobj6.so-no-z-defs = yes
+failobj.so-no-z-defs = yes
+constload2.so-no-z-defs = yes
+constload3.so-no-z-defs = yes
+nodelmod1.so-no-z-defs = yes
+nodelmod2.so-no-z-defs = yes
+nodelmod4.so-no-z-defs = yes
+nodel2mod2.so-no-z-defs = yes
+reldepmod2.so-no-z-defs = yes
+reldepmod3.so-no-z-defs = yes
+reldepmod4.so-no-z-defs = yes
+reldep4mod4.so-no-z-defs = yes
+reldep4mod2.so-no-z-defs = yes
+ltglobmod2.so-no-z-defs = yes
+dblloadmod3.so-no-z-defs = yes
+tst-tlsmod1.so-no-z-defs = yes
+tst-tlsmod2.so-no-z-defs = yes
+tst-tlsmod3.so-no-z-defs = yes
+tst-tlsmod4.so-no-z-defs = yes
+tst-tlsmod7.so-no-z-defs = yes
+tst-tlsmod8.so-no-z-defs = yes
+tst-tlsmod9.so-no-z-defs = yes
+tst-tlsmod10.so-no-z-defs = yes
+tst-tlsmod12.so-no-z-defs = yes
+circlemod2.so-no-z-defs = yes
+circlemod3.so-no-z-defs = yes
+circlemod3a.so-no-z-defs = yes
+reldep8mod2.so-no-z-defs = yes
+reldep9mod1.so-no-z-defs = yes
+
 # filtmod1.so has a special rule
 $(filter-out $(objpfx)filtmod1.so, $(test-modules)): $(objpfx)%.so: $(objpfx)%.os
 	$(build-module)
diff --git a/nptl/ChangeLog b/nptl/ChangeLog
index 43ce661be4..a8a8c33f28 100644
--- a/nptl/ChangeLog
+++ b/nptl/ChangeLog
@@ -1,3 +1,8 @@
+2003-07-21  Ulrich Drepper  <drepper@redhat.com>
+
+	* Makefile: Define various *-no-z-defs variables for test DSOs
+	which has undefined symbols.
+
 2003-07-21  Steven Munroe  <sjmunroe@us.ibm.com>
 
 	* sysdeps/unix/sysv/linux/powerpc/pthread_once.c (__pthread_once):
diff --git a/nptl/Makefile b/nptl/Makefile
index 4c7749eb48..66e33a7c0f 100644
--- a/nptl/Makefile
+++ b/nptl/Makefile
@@ -258,6 +258,9 @@ extra-objs += $(addsuffix .os,$(strip $(modules-names)))
 test-extras += $(modules-names)
 test-modules = $(addprefix $(objpfx),$(addsuffix .so,$(modules-names)))
 
+tst-atfork2mod.so-no-z-defs = yes
+tst-tls3mod.so-no-z-defs = yes
+
 $(test-modules): $(objpfx)%.so: $(objpfx)%.os $(common-objpfx)shlib.lds
 	$(build-module)