diff options
| author | Florian Weimer <fweimer@redhat.com> | 2021-06-03 08:26:04 +0200 |
|---|---|---|
| committer | Florian Weimer <fweimer@redhat.com> | 2021-06-03 09:11:45 +0200 |
| commit | 6f1c701026287f6928d3bdd1aea7359308635abe (patch) | |
| tree | 8dcf3b5a755f131435a912f7629478deaff74264 | |
| parent | 0c1c3a771eceec46e66ce1183cf988e2303bd373 (diff) | |
| download | glibc-6f1c701026287f6928d3bdd1aea7359308635abe.tar.xz glibc-6f1c701026287f6928d3bdd1aea7359308635abe.zip | |
dlfcn: Cleanups after -ldl is no longer required
This commit removes the ELF constructor and internal variables from
dlfcn/dlfcn.c. The file now serves the same purpose as
nptl/libpthread-compat.c, so it is renamed to dlfcn/libdl-compat.c.
The use of libdl-shared-only-routines ensures that libdl.a is empty.
This commit adjusts the test suite not to use $(libdl). The libdl.so
symbolic link is no longer installed.
Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org>
| -rw-r--r-- | Makeconfig | 6 | ||||
| -rw-r--r-- | dlfcn/Makefile | 42 | ||||
| -rw-r--r-- | dlfcn/libdl-compat.c (renamed from dlfcn/dlfcn.c) | 25 | ||||
| -rw-r--r-- | elf/Makefile | 172 | ||||
| -rw-r--r-- | htl/Makefile | 1 | ||||
| -rw-r--r-- | iconvdata/Makefile | 1 | ||||
| -rw-r--r-- | include/dlfcn.h | 18 | ||||
| -rw-r--r-- | malloc/Makefile | 3 | ||||
| -rw-r--r-- | misc/Makefile | 2 | ||||
| -rw-r--r-- | nptl/Makefile | 7 | ||||
| -rw-r--r-- | nss/Makefile | 5 | ||||
| -rw-r--r-- | resolv/Makefile | 19 | ||||
| -rw-r--r-- | stdlib/Makefile | 8 | ||||
| -rw-r--r-- | string/Makefile | 1 | ||||
| -rw-r--r-- | sysdeps/mips/Makefile | 1 | ||||
| -rw-r--r-- | sysdeps/pthread/Makefile | 6 | ||||
| -rw-r--r-- | sysdeps/x86/Makefile | 13 |
17 files changed, 60 insertions, 270 deletions
diff --git a/Makeconfig b/Makeconfig index 1d5e45926c..c3496452b6 100644 --- a/Makeconfig +++ b/Makeconfig @@ -1256,12 +1256,6 @@ endif # build-shared ifeq ($(build-shared),yes) -libdl = $(common-objpfx)dlfcn/libdl.so$(libdl.so-version) -else -libdl = $(common-objpfx)dlfcn/libdl.a -endif - -ifeq ($(build-shared),yes) libm = $(common-objpfx)math/libm.so$(libm.so-version) libmvec = $(common-objpfx)mathvec/libmvec.so$(libmvec.so-version) else diff --git a/dlfcn/Makefile b/dlfcn/Makefile index a471d86071..6bbfbb8344 100644 --- a/dlfcn/Makefile +++ b/dlfcn/Makefile @@ -21,10 +21,8 @@ include ../Makeconfig headers := bits/dlfcn.h dlfcn.h extra-libs := libdl -libdl-routines := dlfcn -routines := $(patsubst %,s%,$(filter-out dlfcn,$(libdl-routines))) -elide-routines.os := $(routines) -routines += \ +libdl-routines := libdl-compat +routines = \ dladdr \ dladdr1 \ dlclose \ @@ -38,9 +36,16 @@ routines += \ extra-libs-others := libdl +libdl-shared-only-routines += libdl-compat + +# Pretend that libdl.so is a linker script, so that the symbolic +# link is not installed. +install-lib-ldscripts = libdl.so +$(inst_libdir)/libdl.so: + ifeq ($(build-shared),yes) routines += dlopenold -shared-only-routines := dlopenold dlfcn +shared-only-routines := dlopenold endif ifeq (yes,$(build-shared)) @@ -87,77 +92,54 @@ ifeq ($(build-shared),yes) tests: $(test-modules) endif -$(objpfx)glrefmain: $(libdl) $(objpfx)glrefmain.out: $(objpfx)glrefmain \ $(objpfx)glreflib1.so $(objpfx)glreflib2.so -$(objpfx)failtest: $(libdl) $(objpfx)failtest.out: $(objpfx)failtestmod.so -$(objpfx)tst-dladdr: $(libdl) $(objpfx)tst-dladdr.out: $(objpfx)glreflib1.so -$(objpfx)tst-dlinfo: $(libdl) $(objpfx)tst-dlinfo.out: $(objpfx)glreflib3.so LDFLAGS-glreflib3.so = -Wl,-rpath,: LDFLAGS-default = $(LDFLAGS-rdynamic) -$(objpfx)default: $(libdl) $(objpfx)defaultmod1.so $(objpfx)defaultmod2.so -$(objpfx)defaultmod1.so: $(libdl) +$(objpfx)default: $(objpfx)defaultmod1.so $(objpfx)defaultmod2.so LDFLAGS-defaultmod2.so = $(LDFLAGS-Bsymbolic) -$(objpfx)defaultmod2.so: $(libdl) -$(objpfx)errmsg1: $(libdl) $(objpfx)errmsg1.out: $(objpfx)errmsg1 $(objpfx)errmsg1mod.so -$(objpfx)tstatexit: $(libdl) $(objpfx)tstatexit.out: $(objpfx)tstatexit $(objpfx)modatexit.so -$(objpfx)tstcxaatexit: $(libdl) $(objpfx)tstcxaatexit.out: $(objpfx)tstcxaatexit $(objpfx)modcxaatexit.so -$(objpfx)tststatic: $(objpfx)libdl.a $(objpfx)tststatic.out: $(objpfx)tststatic $(objpfx)modstatic.so -$(objpfx)tststatic2: $(objpfx)libdl.a $(objpfx)tststatic2.out: $(objpfx)tststatic2 $(objpfx)modstatic.so \ $(objpfx)modstatic2.so -$(objpfx)modstatic2.so: $(libdl) - -$(objpfx)tststatic3: $(objpfx)libdl.a $(objpfx)tststatic3.out: $(objpfx)tststatic3 $(objpfx)modstatic3.so -$(objpfx)tststatic4: $(objpfx)libdl.a $(objpfx)tststatic4.out: $(objpfx)tststatic4 $(objpfx)modstatic3.so -$(objpfx)tststatic5: $(objpfx)libdl.a $(objpfx)tststatic5.out: $(objpfx)tststatic5 $(objpfx)modstatic5.so -$(objpfx)bug-dlopen1: $(libdl) - -$(objpfx)bug-dlsym1: $(libdl) $(objpfx)bug-dlsym1-lib2.so +$(objpfx)bug-dlsym1: $(objpfx)bug-dlsym1-lib2.so $(objpfx)bug-dlsym1.out: $(objpfx)bug-dlsym1-lib1.so \ $(objpfx)bug-dlsym1-lib2.so $(objpfx)bug-dlsym1-lib1.so: $(objpfx)bug-dlsym1-lib2.so -$(objpfx)bug-atexit1: $(libdl) $(objpfx)bug-atexit1.out: $(objpfx)bug-atexit1-lib.so -$(objpfx)bug-atexit2: $(libdl) $(objpfx)bug-atexit2.out: $(objpfx)bug-atexit2-lib.so ifneq (,$(CXX)) LDLIBS-bug-atexit3-lib.so = -lstdc++ -lgcc_eh $(objpfx)bug-atexit3-lib.so: $(libsupport) -$(objpfx)bug-atexit3: $(libdl) $(objpfx)bug-atexit3.out: $(objpfx)bug-atexit3-lib.so endif $(objpfx)bug-dl-leaf: $(objpfx)bug-dl-leaf-lib.so $(objpfx)bug-dl-leaf.out: $(objpfx)bug-dl-leaf-lib-cb.so -$(objpfx)bug-dl-leaf-lib.so: $(libdl) $(objpfx)bug-dl-leaf-lib-cb.so: $(objpfx)bug-dl-leaf-lib.so -$(objpfx)tst-rec-dlopen: $(libdl) $(objpfx)tst-rec-dlopen.out: $(objpfx)moddummy1.so $(objpfx)moddummy2.so diff --git a/dlfcn/dlfcn.c b/dlfcn/libdl-compat.c index ef750bc27a..d197a98e79 100644 --- a/dlfcn/dlfcn.c +++ b/dlfcn/libdl-compat.c @@ -1,4 +1,4 @@ -/* Load a shared object at run time. +/* Placeholder compatibility symbols. Copyright (C) 2005-2021 Free Software Foundation, Inc. This file is part of the GNU C Library. @@ -19,27 +19,8 @@ #include <dlfcn.h> #include <shlib-compat.h> -int __dlfcn_argc attribute_hidden; -char **__dlfcn_argv attribute_hidden; - - -static void -init (int argc, char *argv[]) -{ - __dlfcn_argc = argc; - __dlfcn_argv = argv; -} - -static void (*const init_array []) (int argc, char *argv[]) - __attribute__ ((section (".init_array"), aligned (sizeof (void *)))) - __attribute_used__ = -{ - init -}; - -/* The remainder of this file is used to keep specific symbol versions - occupied, so that ld does not generate weak symbol version - definitions. */ +/* This file is used to keep specific symbol versions occupied, so + that ld does not generate weak symbol version definitions. */ void attribute_compat_text_section diff --git a/elf/Makefile b/elf/Makefile index 0ec736bb0f..e9788d3d4f 100644 --- a/elf/Makefile +++ b/elf/Makefile @@ -673,8 +673,6 @@ $(objpfx)ldd: ldd.bash.in $(common-objpfx)soversions.mk \ chmod 555 $@.new mv -f $@.new $@ -$(objpfx)sprof: $(libdl) - $(objpfx)sln: $(sln-modules:%=$(objpfx)%.o) $(objpfx)ldconfig: $(ldconfig-modules:%=$(objpfx)%.o) @@ -699,28 +697,21 @@ include $(patsubst %,$(..)libof-iterator.mk,$(cpp-srcs-left)) test-modules = $(addprefix $(objpfx),$(addsuffix .so,$(strip $(modules-names)))) generated += $(addsuffix .so,$(strip $(modules-names))) -$(objpfx)testobj1_1.so: $(objpfx)testobj1.so $(libdl) -$(objpfx)testobj2.so: $(objpfx)testobj1.so $(libdl) -$(objpfx)testobj3.so: $(libdl) -$(objpfx)testobj4.so: $(libdl) -$(objpfx)testobj5.so: $(libdl) -$(objpfx)testobj6.so: $(objpfx)testobj1.so $(objpfx)testobj2.so $(libdl) +$(objpfx)testobj1_1.so: $(objpfx)testobj1.so +$(objpfx)testobj2.so: $(objpfx)testobj1.so +$(objpfx)testobj6.so: $(objpfx)testobj1.so $(objpfx)testobj2.so $(objpfx)failobj.so: $(objpfx)testobj6.so $(objpfx)dep1.so: $(objpfx)dep2.so $(objpfx)dep4.so $(objpfx)dep2.so: $(objpfx)dep3.so $(objpfx)dep4.so $(objpfx)dep4.so: $(objpfx)dep3.so $(objpfx)nodelmod3.so: $(objpfx)nodelmod4.so -$(objpfx)nextmod1.so: $(libdl) -$(objpfx)neededobj1.so: $(libdl) -$(objpfx)neededobj2.so: $(objpfx)neededobj1.so $(libdl) -$(objpfx)neededobj3.so: $(objpfx)neededobj1.so $(objpfx)neededobj2.so $(libdl) +$(objpfx)neededobj2.so: $(objpfx)neededobj1.so +$(objpfx)neededobj3.so: $(objpfx)neededobj1.so $(objpfx)neededobj2.so $(objpfx)neededobj4.so: $(objpfx)neededobj1.so $(objpfx)neededobj2.so \ - $(objpfx)neededobj3.so $(libdl) + $(objpfx)neededobj3.so $(objpfx)neededobj6.so: $(objpfx)neededobj5.so $(objpfx)unload2mod.so: $(objpfx)unload2dep.so -$(objpfx)ltglobmod2.so: $(libdl) $(objpfx)firstobj.so: $(shared-thread-library) -$(objpfx)globalmod1.so: $(libdl) $(objpfx)reldep4mod1.so: $(objpfx)reldep4mod3.so $(objpfx)reldep4mod2.so: $(objpfx)reldep4mod4.so $(objpfx)dblloadmod1.so: $(objpfx)dblloadmod3.so @@ -750,14 +741,9 @@ $(objpfx)unload3mod2.so: $(objpfx)unload3mod3.so $(objpfx)unload3mod3.so: $(objpfx)unload3mod4.so $(objpfx)unload4mod1.so: $(objpfx)unload4mod2.so $(objpfx)unload4mod3.so $(objpfx)unload4mod2.so: $(objpfx)unload4mod4.so $(objpfx)unload4mod3.so -$(objpfx)unload6mod1.so: $(libdl) -$(objpfx)unload6mod2.so: $(libdl) -$(objpfx)unload6mod3.so: $(libdl) -$(objpfx)unload7mod1.so: $(libdl) $(objpfx)unload7mod2.so: $(objpfx)unload7mod1.so $(objpfx)unload8mod1.so: $(objpfx)unload8mod2.so $(objpfx)unload8mod2.so: $(objpfx)unload8mod3.so -$(objpfx)unload8mod3.so: $(libdl) $(objpfx)tst-initordera2.so: $(objpfx)tst-initordera1.so $(objpfx)tst-initorderb2.so: $(objpfx)tst-initorderb1.so $(objpfx)tst-initordera2.so $(objpfx)tst-initordera3.so: $(objpfx)tst-initorderb2.so $(objpfx)tst-initorderb1.so @@ -766,8 +752,6 @@ $(objpfx)tst-initorder: $(objpfx)tst-initordera4.so $(objpfx)tst-initordera1.so $(objpfx)tst-null-argv: $(objpfx)tst-null-argv-lib.so $(objpfx)tst-tlsalign: $(objpfx)tst-tlsalign-lib.so $(objpfx)tst-nodelete-opened.out: $(objpfx)tst-nodelete-opened-lib.so -$(objpfx)tst-nodelete-opened: $(libdl) -$(objpfx)tst-noload: $(libdl) $(objpfx)tst-tlsalign-extern: $(objpfx)tst-tlsalign-vars.o $(objpfx)tst-tlsalign-extern-static: $(objpfx)tst-tlsalign-vars.o @@ -842,30 +826,25 @@ ifeq ($(build-shared),yes) tests: $(test-modules) endif -$(objpfx)loadtest: $(libdl) LDFLAGS-loadtest = -rdynamic $(objpfx)loadtest.out: $(test-modules) -$(objpfx)neededtest: $(libdl) $(objpfx)neededtest.out: $(objpfx)neededobj1.so $(objpfx)neededobj2.so \ $(objpfx)neededobj3.so -$(objpfx)neededtest2: $(libdl) $(objpfx)neededtest2.out: $(objpfx)neededobj1.so $(objpfx)neededobj2.so \ $(objpfx)neededobj3.so -$(objpfx)neededtest3: $(libdl) $(objpfx)neededtest3.out: $(objpfx)neededobj1.so $(objpfx)neededobj2.so \ $(objpfx)neededobj3.so $(objpfx)neededobj4.so -$(objpfx)neededtest4: $(libdl) $(objpfx)neededobj1.so +$(objpfx)neededtest4: $(objpfx)neededobj1.so $(objpfx)neededtest4.out: $(objpfx)neededobj5.so $(objpfx)neededobj6.so -$(objpfx)restest1: $(objpfx)testobj1.so $(objpfx)testobj1_1.so $(libdl) +$(objpfx)restest1: $(objpfx)testobj1.so $(objpfx)testobj1_1.so LDFLAGS-restest1 = -rdynamic -$(objpfx)restest2: $(libdl) LDFLAGS-restest2 = -rdynamic $(objpfx)restest1.out: $(test-modules) @@ -877,31 +856,24 @@ $(objpfx)preloadtest.out: $(preloadtest-preloads:%=$(objpfx)%.so) preloadtest-ENV = \ LD_PRELOAD=$(subst $(empty) ,:,$(strip $(preloadtest-preloads:=.so))) -$(objpfx)loadfail: $(libdl) LDFLAGS-loadfail = -rdynamic $(objpfx)loadfail.out: $(objpfx)failobj.so -$(objpfx)multiload: $(libdl) LDFLAGS-multiload = -rdynamic CFLAGS-multiload.c += -DOBJDIR=\"$(elf-objpfx)\" $(objpfx)multiload.out: $(objpfx)testobj1.so -$(objpfx)origtest: $(libdl) LDFLAGS-origtest = -rdynamic $(objpfx)origtest.out: $(objpfx)testobj1.so ifeq ($(have-thread-library),yes) -$(objpfx)resolvfail: $(libdl) $(shared-thread-library) -else -$(objpfx)resolvfail: $(libdl) +$(objpfx)resolvfail: $(shared-thread-library) endif -$(objpfx)constload1: $(libdl) $(objpfx)constload1.out: $(objpfx)constload2.so $(objpfx)constload3.so -$(objpfx)circleload1: $(libdl) $(objpfx)circleload1.out: $(objpfx)circlemod1.so \ $(objpfx)circlemod1a.so @@ -920,7 +892,7 @@ $(objpfx)vismain: $(addprefix $(objpfx),vismod1.so vismod2.so) $(objpfx)vismain.out: $(addprefix $(objpfx),vismod3.so) vismain-ENV = LD_PRELOAD=$(addprefix $(objpfx),vismod3.so) -$(objpfx)noload: $(objpfx)testobj1.so $(libdl) +$(objpfx)noload: $(objpfx)testobj1.so LDFLAGS-noload = -rdynamic -Wl,--no-as-needed $(objpfx)noload.out: $(objpfx)testobj5.so @@ -932,16 +904,13 @@ noload-ENV = MALLOC_TRACE=$(objpfx)noload.mtrace LDFLAGS-nodelete = -rdynamic LDFLAGS-nodelmod1.so = -Wl,--enable-new-dtags,-z,nodelete LDFLAGS-nodelmod4.so = -Wl,--enable-new-dtags,-z,nodelete -$(objpfx)nodelete: $(libdl) $(objpfx)nodelete.out: $(objpfx)nodelmod1.so $(objpfx)nodelmod2.so \ $(objpfx)nodelmod3.so LDFLAGS-nodlopenmod.so = -Wl,--enable-new-dtags,-z,nodlopen -$(objpfx)nodlopen: $(libdl) $(objpfx)nodlopen.out: $(objpfx)nodlopenmod.so $(objpfx)nodlopenmod2.so: $(objpfx)nodlopenmod.so -$(objpfx)nodlopen2: $(libdl) $(objpfx)nodlopen2.out: $(objpfx)nodlopenmod2.so $(objpfx)filtmod1.so: $(objpfx)filtmod1.os $(objpfx)filtmod2.so @@ -954,31 +923,23 @@ $(objpfx)filter: $(objpfx)filtmod1.so # This does not link against libc. CFLAGS-filtmod1.c += $(no-stack-protector) -$(objpfx)unload: $(libdl) $(objpfx)unload.out: $(objpfx)unloadmod.so -$(objpfx)reldep: $(libdl) $(objpfx)reldep.out: $(objpfx)reldepmod1.so $(objpfx)reldepmod2.so -$(objpfx)reldep2: $(libdl) $(objpfx)reldep2.out: $(objpfx)reldepmod1.so $(objpfx)reldepmod3.so -$(objpfx)reldep3: $(libdl) $(objpfx)reldep3.out: $(objpfx)reldepmod1.so $(objpfx)reldepmod4.so -$(objpfx)reldep4: $(libdl) $(objpfx)reldep4.out: $(objpfx)reldep4mod1.so $(objpfx)reldep4mod2.so -$(objpfx)next: $(objpfx)nextmod1.so $(objpfx)nextmod2.so $(libdl) +$(objpfx)next: $(objpfx)nextmod1.so $(objpfx)nextmod2.so LDFLAGS-next = -Wl,--no-as-needed -$(objpfx)unload2: $(libdl) $(objpfx)unload2.out: $(objpfx)unload2mod.so $(objpfx)unload2dep.so -$(objpfx)lateglobal: $(libdl) $(objpfx)lateglobal.out: $(objpfx)ltglobmod1.so $(objpfx)ltglobmod2.so -$(objpfx)tst-pathopt: $(libdl) $(objpfx)tst-pathopt.out: tst-pathopt.sh $(objpfx)tst-pathopt \ $(objpfx)pathoptobj.so $(SHELL) $< $(common-objpfx) '$(test-wrapper-env)' \ @@ -998,55 +959,40 @@ $(objpfx)tst-rtld-preload.out: tst-rtld-preload.sh $(objpfx)ld.so \ '$(rpath-link)' '$(tst-rtld-preload-OBJS)' > $@; \ $(evaluate-test) -$(objpfx)initfirst: $(libdl) $(objpfx)initfirst.out: $(objpfx)firstobj.so $(objpfx)global: $(objpfx)globalmod1.so $(objpfx)global.out: $(objpfx)reldepmod1.so -$(objpfx)dblload: $(libdl) $(objpfx)dblload.out: $(objpfx)dblloadmod1.so $(objpfx)dblloadmod2.so -$(objpfx)dblunload: $(libdl) $(objpfx)dblunload.out: $(objpfx)dblloadmod1.so $(objpfx)dblloadmod2.so -$(objpfx)reldep5: $(libdl) $(objpfx)reldep5.out: $(objpfx)reldepmod5.so $(objpfx)reldepmod6.so -$(objpfx)reldep6: $(libdl) $(objpfx)reldep6.out: $(objpfx)reldep6mod3.so $(objpfx)reldep6mod4.so -$(objpfx)reldep7: $(libdl) $(objpfx)reldep7.out: $(objpfx)reldep7mod1.so $(objpfx)reldep7mod2.so -$(objpfx)reldep8: $(libdl) $(objpfx)reldep8.out: $(objpfx)reldep8mod3.so LDFLAGS-nodel2mod2.so = -Wl,--enable-new-dtags,-z,nodelete -$(objpfx)nodelete2: $(libdl) $(objpfx)nodelete2.out: $(objpfx)nodel2mod3.so -$(objpfx)reldep9: $(libdl) $(objpfx)reldep9.out: $(objpfx)reldep9mod3.so $(objpfx)tst-tls3: $(objpfx)tst-tlsmod1.so -$(objpfx)tst-tls4: $(libdl) $(objpfx)tst-tls4.out: $(objpfx)tst-tlsmod2.so -$(objpfx)tst-tls5: $(libdl) $(objpfx)tst-tls5.out: $(objpfx)tst-tlsmod2.so -$(objpfx)tst-tls6: $(libdl) $(objpfx)tst-tls6.out: $(objpfx)tst-tlsmod2.so -$(objpfx)tst-tls7: $(libdl) $(objpfx)tst-tls7.out: $(objpfx)tst-tlsmod3.so -$(objpfx)tst-tls8: $(libdl) $(objpfx)tst-tls8.out: $(objpfx)tst-tlsmod3.so $(objpfx)tst-tlsmod4.so -$(objpfx)tst-tls9: $(libdl) $(objpfx)tst-tls9.out: $(objpfx)tst-tlsmod5.so $(objpfx)tst-tlsmod6.so $(objpfx)tst-tls10: $(objpfx)tst-tlsmod8.so $(objpfx)tst-tlsmod7.so @@ -1055,67 +1001,53 @@ $(objpfx)tst-tls11: $(objpfx)tst-tlsmod10.so $(objpfx)tst-tlsmod9.so $(objpfx)tst-tls12: $(objpfx)tst-tlsmod12.so $(objpfx)tst-tlsmod11.so -$(objpfx)tst-tls13: $(libdl) $(objpfx)tst-tls13.out: $(objpfx)tst-tlsmod13a.so -$(objpfx)tst-tls14: $(objpfx)tst-tlsmod14a.so $(libdl) +$(objpfx)tst-tls14: $(objpfx)tst-tlsmod14a.so $(objpfx)tst-tls14.out: $(objpfx)tst-tlsmod14b.so -$(objpfx)tst-tls15: $(libdl) $(objpfx)tst-tls15.out: $(objpfx)tst-tlsmod15a.so $(objpfx)tst-tlsmod15b.so -$(objpfx)tst-tls-dlinfo: $(libdl) $(objpfx)tst-tls-dlinfo.out: $(objpfx)tst-tlsmod2.so -$(objpfx)tst-tls16: $(libdl) $(objpfx)tst-tls16.out: $(objpfx)tst-tlsmod16a.so $(objpfx)tst-tlsmod16b.so -$(objpfx)tst-tls17: $(libdl) $(objpfx)tst-tls17.out: $(objpfx)tst-tlsmod17b.so $(patsubst %,$(objpfx)%.os,$(tlsmod17a-modules)): $(objpfx)tst-tlsmod17a%.os: tst-tlsmod17a.c $(compile-command.c) -DN=$* $(patsubst %,$(objpfx)%.so,$(tlsmod17a-modules)): $(objpfx)tst-tlsmod17a%.so: $(objpfx)ld.so $(objpfx)tst-tlsmod17b.so: $(patsubst %,$(objpfx)%.so,$(tlsmod17a-modules)) -$(objpfx)tst-tls18: $(libdl) $(objpfx)tst-tls18.out: $(patsubst %,$(objpfx)%.so,$(tlsmod18a-modules)) $(patsubst %,$(objpfx)%.os,$(tlsmod18a-modules)): $(objpfx)tst-tlsmod18a%.os : tst-tlsmod18a.c $(compile-command.c) -DN=$* $(patsubst %,$(objpfx)%.so,$(tlsmod18a-modules)): $(objpfx)tst-tlsmod18a%.so: $(objpfx)ld.so -$(objpfx)tst-tls19: $(libdl) $(objpfx)tst-tls19.out: $(objpfx)tst-tls19mod1.so CFLAGS-tst-align.c += $(stack-align-test-flags) CFLAGS-tst-align2.c += $(stack-align-test-flags) CFLAGS-tst-alignmod.c += $(stack-align-test-flags) CFLAGS-tst-alignmod2.c += $(stack-align-test-flags) -$(objpfx)tst-align: $(libdl) $(objpfx)tst-align.out: $(objpfx)tst-alignmod.so $(objpfx)tst-align2: $(objpfx)tst-alignmod2.so -$(objpfx)unload3: $(libdl) $(objpfx)unload3.out: $(objpfx)unload3mod1.so $(objpfx)unload3mod2.so \ $(objpfx)unload3mod3.so $(objpfx)unload3mod4.so -$(objpfx)unload4: $(libdl) $(objpfx)unload4.out: $(objpfx)unload4mod1.so $(objpfx)unload4mod3.so -$(objpfx)unload5: $(libdl) $(objpfx)unload5.out: $(objpfx)unload3mod1.so $(objpfx)unload3mod2.so \ $(objpfx)unload3mod3.so $(objpfx)unload3mod4.so -$(objpfx)unload6: $(libdl) $(objpfx)unload6.out: $(objpfx)unload6mod1.so $(objpfx)unload6mod2.so \ $(objpfx)unload6mod3.so -$(objpfx)unload7: $(libdl) $(objpfx)unload7.out: $(objpfx)unload7mod1.so $(objpfx)unload7mod2.so unload7-ENV = MALLOC_PERTURB_=85 -$(objpfx)unload8: $(libdl) $(objpfx)unload8.out: $(objpfx)unload8mod1.so $(objpfx)unload8mod1x.so ifdef libdl @@ -1124,7 +1056,6 @@ $(objpfx)tst-tls9-static.out: $(objpfx)tst-tlsmod5.so $(objpfx)tst-tlsmod6.so endif ifeq ($(have-z-execstack),yes) -$(objpfx)tst-execstack: $(libdl) $(objpfx)tst-execstack.out: $(objpfx)tst-execstack-mod.so CPPFLAGS-tst-execstack.c += -DUSE_PTHREADS=0 LDFLAGS-tst-execstack = -Wl,-z,noexecstack @@ -1159,7 +1090,6 @@ $(objpfx)tst-array3-cmp.out: tst-array1.exp $(objpfx)tst-array3.out cmp $^ > $@; \ $(evaluate-test) -$(objpfx)tst-array4: $(libdl) $(objpfx)tst-array4.out: $(objpfx)tst-array2dep.so $(objpfx)tst-array4-cmp.out: tst-array4.exp $(objpfx)tst-array4.out cmp $^ > $@; \ @@ -1180,7 +1110,6 @@ CFLAGS-tst-pie2.c += $(pie-ccflag) $(objpfx)tst-piemod1.so: $(libsupport) $(objpfx)tst-pie1: $(objpfx)tst-piemod1.so -$(objpfx)tst-dlopen-pie: $(libdl) $(objpfx)tst-dlopen-pie.out: $(objpfx)tst-pie1 ifeq (yes,$(build-shared)) @@ -1239,7 +1168,6 @@ $(objpfx)check-wx-segment.out: $(..)scripts/check-wx-segment.py \ $(evaluate-test) generated += check-wx-segment.out -$(objpfx)tst-dlmodcount: $(libdl) $(objpfx)tst-dlmodcount.out: $(test-modules) $(all-built-dso:=.jmprel): %.jmprel: % Makefile @@ -1292,38 +1220,31 @@ $(objpfx)check-initfini.out: $(..)scripts/check-initfini.awk \ $(evaluate-test) generated += check-initfini.out -$(objpfx)tst-dlopenrpathmod.so: $(libdl) -$(objpfx)tst-dlopenrpath: $(objpfx)tst-dlopenrpathmod.so $(libdl) +$(objpfx)tst-dlopenrpath: $(objpfx)tst-dlopenrpathmod.so CFLAGS-tst-dlopenrpath.c += -DPFX=\"$(objpfx)\" LDFLAGS-tst-dlopenrpathmod.so += -Wl,-rpath,\$$ORIGIN/test-subdir $(objpfx)tst-dlopenrpath.out: $(objpfx)firstobj.so $(objpfx)tst-deep1mod2.so: $(objpfx)tst-deep1mod3.so -$(objpfx)tst-deep1: $(libdl) $(objpfx)tst-deep1mod1.so +$(objpfx)tst-deep1: $(objpfx)tst-deep1mod1.so $(objpfx)tst-deep1.out: $(objpfx)tst-deep1mod2.so LDFLAGS-tst-deep1 += -rdynamic tst-deep1mod3.so-no-z-defs = yes -$(objpfx)tst-dlmopen1mod.so: $(libdl) -$(objpfx)tst-dlmopen1: $(libdl) $(objpfx)tst-dlmopen1.out: $(objpfx)tst-dlmopen1mod.so -$(objpfx)tst-dlmopen2: $(libdl) $(objpfx)tst-dlmopen2.out: $(objpfx)tst-dlmopen1mod.so -$(objpfx)tst-dlmopen3: $(libdl) $(objpfx)tst-dlmopen3.out: $(objpfx)tst-dlmopen1mod.so $(objpfx)tst-audit1.out: $(objpfx)tst-auditmod1.so tst-audit1-ENV = LD_AUDIT=$(objpfx)tst-auditmod1.so -$(objpfx)tst-audit2: $(libdl) $(objpfx)tst-audit2.out: $(objpfx)tst-auditmod1.so $(objpfx)tst-auditmod9b.so # Prevent GCC-5 from translating a malloc/memset pair into calloc CFLAGS-tst-audit2.c += -fno-builtin tst-audit2-ENV = LD_AUDIT=$(objpfx)tst-auditmod1.so -$(objpfx)tst-audit9: $(libdl) $(objpfx)tst-audit9.out: $(objpfx)tst-auditmod9a.so $(objpfx)tst-auditmod9b.so |
