glibc/elf
Joseph Myers 79520f4bd6 Use existing makefile variables for dependencies on glibc libraries.
glibc's Makeconfig defines some variables such as $(libm) and $(libdl)
for linking with libraries built by glibc, and nptl/Makeconfig
(included by the toplevel Makeconfig) defines others such as
$(shared-thread-library).

In some places glibc's Makefiles use those variables when linking
against the relevant libraries, but in other places they hardcode the
location of the libraries in the build tree.  This patch cleans up
various places to use the variables that already exist (in the case of
libm, replacing several duplicate definitions of a $(link-libm)
variable in subdirectory Makefiles).  (It's not necessarily exactly
equivalent to what the existing code does - in particular,
$(shared-thread-library) includes libpthread_nonshared, but is
replacing places that just referred to libpthread.so.  But I think
that change is desirable on the general principle of linking things as
close as possible to the way in which they would be linked with an
installed library, unless there is a clear reason not to do so.)

To support running tests with an installed copy of glibc without
needing the full build tree from when that copy was built, I think it
will be useful to use such variables more generally and systematically
- every time the rules for building a test refer to some file from the
build tree that's also installed by glibc, use a makefile variable so
that the installed-testing case can point those variables to installed
copies of the files.  This patch just deals with straightforward cases
where such variables already exist.

It's quite possible some uses of $(shared-thread-library) should
actually be a new $(thread-library) variable that's set appropriately
in the --disable-shared case, if those uses would in fact work without
shared libraries.  I didn't change the status quo that those cases
hardcode use of a shared library whether or not it's actually needed
(but other uses such as $(libm) and $(libdl) would now get the static
library if the shared library isn't built, when some previously
hardcoded use of the shared library - if they actually need shared
libraries, the test itself needs an enable-shared conditional anyway).

Tested x86_64.

	* benchtests/Makefile
	($(addprefix $(objpfx)bench-,$(bench-math))): Depend on $(libm),
	not $(common-objpfx)math/libm.so.
	($(addprefix $(objpfx)bench-,$(bench-pthread))): Depend on
	$(shared-thread-library), not $(common-objpfx)nptl/libpthread.so.
	* elf/Makefile ($(objpfx)noload): Depend on $(libdl), not
	$(common-objpfx)dlfcn/libdl.so.
	($(objpfx)tst-audit8): Depend on $(libm), not
	$(common-objpfx)math/libm.so.
	* malloc/Makefile ($(objpfx)libmemusage.so): Depend on $(libdl),
	not $(common-objpfx)dlfcn/libdl.so.
	* math/Makefile
	($(addprefix $(objpfx),$(filter-out $(tests-static),$(tests)))):
	Depend on $(libm), not $(objpfx)libm.so.  Do not condition on
	[$(build-shared) = yes].
	($(objpfx)test-fenv-tls): Depend on $(shared-thread-library), not
	$(common-objpfx)nptl/libpthread.so.
	* misc/Makefile ($(objpfx)tst-tsearch): Depend on $(libm), not
	$(common-objpfx)math/libm.so$(libm.so-version) or
	$(common-objpfx)math/libm.a depending on [$(build-shared) = yes].
	* nptl/Makefile ($(objpfx)tst-unload): Depend on $(libdl), not
	$(common-objpfx)dlfcn/libdl.so.
	* setjmp/Makefile (link-libm): Remove variable.
	($(objpfx)tst-setjmp-fp): Depend on $(libm), not $(link-libm).
	* stdio-common/Makefile (link-libm): Remove variable.
	($(objpfx)tst-printf-round): Depend on $(libm), not $(link-libm).
	* stdlib/Makefile (link-libm): Remove variable.
	($(objpfx)bug-getcontext): Depend on $(libm), not $(link-libm).
	($(objpfx)tst-strtod-round): Likewise.
	($(objpfx)tst-tininess): Likewise.
	($(objpfx)tst-strtod-underflow): Likewise.
	($(objpfx)tst-strtod6): Likewise.
	($(objpfx)tst-tls-atexit): Depend on $(shared-thread-library) and
	$(libdl), not $(common-objpfx)nptl/libpthread.so and
	$(common-objpfx)dlfcn/libdl.so.
2014-05-16 21:38:08 +00:00
..
cache.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
chroot_canon.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
circleload1.c
circlemod1.c
circlemod1a.c
circlemod2.c
circlemod2a.c
circlemod3.c
circlemod3a.c
constload1.c
constload2.c
constload3.c
dblload.c
dblloadmod1.c
dblloadmod2.c
dblloadmod3.c
dblunload.c
dep1.c
dep2.c
dep3.c
dep4.c
dl-addr.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
dl-brk.c
dl-cache.c Use glibc_likely instead __builtin_expect. 2014-02-10 15:07:12 +01:00
dl-caller.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
dl-close.c Factor mmap/munmap of PT_LOAD segments out of _dl_map_object_from_fd et al. 2014-04-03 10:47:14 -07:00
dl-conflict.c Use glibc_likely instead __builtin_expect. 2014-02-10 15:07:12 +01:00
dl-debug.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
dl-deps.c Use glibc_likely instead __builtin_expect. 2014-02-10 15:07:12 +01:00
dl-dst.h Use glibc_likely instead __builtin_expect. 2014-02-10 15:07:12 +01:00
dl-environ.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
dl-error.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
dl-execstack.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
dl-fini.c Use glibc_likely instead __builtin_expect. 2014-02-10 15:07:12 +01:00
dl-fptr.c Factor mmap/munmap of PT_LOAD segments out of _dl_map_object_from_fd et al. 2014-04-03 10:47:14 -07:00
dl-hwcaps.c Use glibc_likely instead __builtin_expect. 2014-02-10 15:07:12 +01:00
dl-init.c Use glibc_likely instead __builtin_expect. 2014-02-10 15:07:12 +01:00
dl-iteratephdr.c [BZ #16046] Static dlopen correction fallout fixes. 2014-01-31 17:51:31 +00:00
dl-libc.c Use glibc_likely instead __builtin_expect. 2014-02-10 15:07:12 +01:00
dl-load.c Factor mmap/munmap of PT_LOAD segments out of _dl_map_object_from_fd et al. 2014-04-03 10:47:14 -07:00
dl-load.h Factor mmap/munmap of PT_LOAD segments out of _dl_map_object_from_fd et al. 2014-04-03 10:47:14 -07:00
dl-lookup.c elf/dl-lookup.c: Remove obsolete comment about nested function 2014-04-03 09:58:30 +01:00
dl-map-segments.h Factor mmap/munmap of PT_LOAD segments out of _dl_map_object_from_fd et al. 2014-04-03 10:47:14 -07:00
dl-minimal.c Use glibc_likely instead __builtin_expect. 2014-02-10 15:07:12 +01:00
dl-misc.c Revert "Patch 2/4 of the effort to make TLS access async-signal-safe." 2014-02-06 08:46:20 +10:00
dl-object.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
dl-open.c Use glibc_likely instead __builtin_expect. 2014-02-10 15:07:12 +01:00
dl-origin.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
dl-profile.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
dl-profstub.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
dl-reloc.c Use glibc_likely instead __builtin_expect. 2014-02-10 15:07:12 +01:00
dl-runtime.c Use glibc_likely instead __builtin_expect. 2014-02-10 15:07:12 +01:00
dl-sbrk.c
dl-scope.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
dl-support.c [BZ #16046] Static dlopen correction fallout fixes. 2014-01-31 17:51:31 +00:00
dl-sym.c Use glibc_likely instead __builtin_expect. 2014-02-10 15:07:12 +01:00
dl-symaddr.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
dl-sysdep.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
dl-tls.c BZ #16613: Support TLS in audit libraries. 2014-02-25 13:18:15 -05:00
dl-trampoline.c
dl-tsd.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
dl-unmap-segments.h Factor mmap/munmap of PT_LOAD segments out of _dl_map_object_from_fd et al. 2014-04-03 10:47:14 -07:00
dl-version.c Use glibc_likely instead __builtin_expect. 2014-02-10 15:07:12 +01:00
dl-writev.h Use glibc_likely instead __builtin_expect. 2014-02-10 15:07:12 +01:00
do-rel.h Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
dynamic-link.h Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
elf.h Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
enbl-secure.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
failobj.c
filter.c
filtmod1.c
filtmod2.c
firstobj.c
gen-trusted-dirs.awk
genrtldtbl.awk
get-dynamic-info.h Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
global.c
globalmod1.c
ifuncdep1.c
ifuncdep1pic.c
ifuncdep2.c Remove trailing whitespace. 2013-06-05 20:44:03 +00:00
ifuncdep2pic.c
ifuncdep5.c
ifuncdep5pic.c
ifuncmain1.c Remove trailing whitespace. 2013-06-05 20:44:03 +00:00
ifuncmain1pic.c
ifuncmain1picstatic.c
ifuncmain1pie.c
ifuncmain1static.c
ifuncmain1staticpic.c
ifuncmain1staticpie.c
ifuncmain1vis.c Remove trailing whitespace. 2013-06-05 20:44:03 +00:00
ifuncmain1vispic.c
ifuncmain1vispie.c
ifuncmain2.c
ifuncmain2pic.c
ifuncmain2picstatic.c
ifuncmain2static.c
ifuncmain3.c
ifuncmain4.c
ifuncmain4picstatic.c
ifuncmain4static.c
ifuncmain5.c
ifuncmain5pic.c
ifuncmain5picstatic.c
ifuncmain5pie.c
ifuncmain5static.c
ifuncmain5staticpic.c
ifuncmain6pie.c
ifuncmain7.c
ifuncmain7pic.c
ifuncmain7picstatic.c
ifuncmain7pie.c
ifuncmain7static.c
ifuncmod1.c
ifuncmod3.c
ifuncmod5.c
ifuncmod6.c
initfirst.c
interp.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
lateglobal.c
ldconfig.c Use glibc_likely instead __builtin_expect. 2014-02-10 15:07:12 +01:00
ldd.bash.in Update remaining copyright dates 2014-01-01 22:02:55 +10:00
link.h Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
loadfail.c
loadtest.c
ltglobmod1.c
ltglobmod2.c
Makefile Use existing makefile variables for dependencies on glibc libraries. 2014-05-16 21:38:08 +00:00
multiload.c
neededobj1.c
neededobj2.c
neededobj3.c
neededobj4.c
neededobj5.c
neededobj6.c
neededtest2.c
neededtest3.c
neededtest4.c
neededtest.c
next.c
nextmod1.c
nextmod2.c
nodel2mod1.c
nodel2mod2.c
nodel2mod3.c
nodelete2.c
nodelete.c
nodelmod1.c
nodelmod2.c
nodelmod3.c
nodelmod4.c
nodlopen2.c
nodlopen.c
nodlopenmod2.c
nodlopenmod.c
noload.c
order2.c
order2mod1.c
order2mod2.c
order2mod3.c
order2mod4.c
order.c
origtest.c
pathoptobj.c
pldd-xx.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
pldd.c Fix race conditions in pldd that may leave the process stopped after detaching 2014-02-25 09:29:34 +01:00
preloadtest.c
readelflib.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
readlib.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
reldep2.c
reldep3.c Fix typos. 2013-08-21 19:48:48 +02:00
reldep4.c
reldep4mod1.c
reldep4mod2.c
reldep4mod3.c
reldep4mod4.c
reldep5.c
reldep6.c
reldep6mod0.c
reldep6mod1.c
reldep6mod2.c
reldep6mod3.c
reldep6mod4.c
reldep7.c
reldep7mod1.c
reldep7mod2.c
reldep8.c
reldep8mod1.c
reldep8mod2.c
reldep8mod3.c
reldep9.c
reldep9mod1.c
reldep9mod2.c
reldep9mod3.c
reldep.c Fix typos. 2013-08-21 19:48:48 +02:00
reldepmod1.c
reldepmod2.c
reldepmod3.c
reldepmod4.c
reldepmod5.c
reldepmod6.c
resolvfail.c
restest1.c
restest2.c
rtld-debugger-interface.txt Add SystemTap static probes to the runtime linker. [BZ #14298] 2012-07-27 14:03:20 +01:00
rtld-Rules Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
rtld.c Remove last use of USE___THREAD 2014-05-14 09:49:00 +02:00
setup-vdso.h Use glibc_likely instead __builtin_expect. 2014-02-10 15:07:12 +01:00
sln.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
sofini.c
soinit.c
sotruss-lib.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
sotruss.sh sotruss: drop ksh support and add basic POSIX shell support 2014-03-13 19:56:01 -04:00
sprof.c Update remaining copyright dates 2014-01-01 22:02:55 +10:00
static-stubs.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
testobj1_1.c
testobj1.c
testobj2.c
testobj3.c
testobj4.c
testobj5.c
testobj6.c
testobj.h Remove trailing whitespace. 2013-06-05 20:44:03 +00:00
tls-macros.h Split tls-macros.h into sysdeps directories. 2012-07-17 11:30:58 +00:00
tlsdeschtab.h Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
tst-addr1.c
tst-align2.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
tst-align.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
tst-alignmod2.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
tst-alignmod.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
tst-array1-static.c
tst-array1.c Set constructor/destructor priority to 1000 2012-11-16 07:40:38 -08:00
tst-array1.exp
tst-array2.c
tst-array2.exp
tst-array2dep.c Set constructor/destructor priority to 1000 2012-11-16 07:40:38 -08:00
tst-array3.c
tst-array4.c
tst-array4.exp
tst-array5-static.c
tst-array5-static.exp
tst-array5.c
tst-array5.exp
tst-array5dep.c
tst-audit1.c
tst-audit2.c
tst-audit8.c Skip audit if l_reloc_result is NULL 2012-11-14 15:44:40 -08:00
tst-audit9.c BZ #16613: Support TLS in audit libraries. 2014-02-25 13:18:15 -05:00
tst-auditmod1.c Move testsuite audit definitions to sysdeps tst-audit.h files. 2012-07-26 11:29:07 +00:00
tst-auditmod9a.c BZ #16613: Support TLS in audit libraries. 2014-02-25 13:18:15 -05:00
tst-auditmod9b.c BZ #16613: Support TLS in audit libraries. 2014-02-25 13:18:15 -05:00
tst-auxv.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
tst-deep1.c
tst-deep1mod1.c
tst-deep1mod2.c
tst-deep1mod3.c
tst-dlmodcount.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
tst-dlmopen1.c
tst-dlmopen1mod.c
tst-dlmopen2.c
tst-dlmopen3.c
tst-dlopen-aout.c Address post-commit patch comments. 2014-03-24 18:22:32 -07:00
tst-dlopenrpath.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
tst-dlopenrpathmod.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
tst-execstack-mod.c
tst-execstack-needed.c
tst-execstack-prog.c
tst-execstack.c Fix stack size and address inconsistency due to executable stack 2012-05-26 09:48:26 +05:30
tst-global1.c
tst-initorder2.c
tst-initorder2.exp
tst-initorder.c
tst-initorder.exp
tst-initordera1.c
tst-initordera2.c
tst-initordera3.c
tst-initordera4.c
tst-initorderb1.c
tst-initorderb2.c
tst-leaks1-static.c Check the main application only if SHARED is defined 2012-10-20 16:16:59 -07:00
tst-leaks1.c
tst-null-argv-lib.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
tst-null-argv.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
tst-order-a1.c
tst-order-a2.c
tst-order-a3.c
tst-order-a4.c
tst-order-b1.c
tst-order-b2.c
tst-order-main.c
tst-pathopt.c
tst-pathopt.sh Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
tst-pie1.c
tst-pie2.c Add missing elf/tst-pie2.c -- should have been in 2014-03-13 08:19:18 -07:00
tst-piemod1.c
tst-ptrguard1-static.c BZ #15754: CVE-2013-4788 2013-09-23 00:52:09 -04:00
tst-ptrguard1.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
tst-relsort1.c Fix warning 2012-05-17 22:00:57 +02:00
tst-relsort1mod1.c
tst-relsort1mod2.c
tst-rtld-load-self.sh Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
tst-stackguard1-static.c
tst-stackguard1.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
tst-thrlock.c
tst-tls1-static.c
tst-tls1.c Don't include tls.h in test cases 2013-10-18 19:45:36 +05:30
tst-tls2-static.c
tst-tls2.c Don't include tls.h in test cases 2013-10-18 19:45:36 +05:30
tst-tls3.c Don't include tls.h in test cases 2013-10-18 19:45:36 +05:30
tst-tls4.c Don't include tls.h in test cases 2013-10-18 19:45:36 +05:30
tst-tls5.c Don't include tls.h in test cases 2013-10-18 19:45:36 +05:30
tst-tls6.c Don't include tls.h in test cases 2013-10-18 19:45:36 +05:30
tst-tls7.c Don't include tls.h in test cases 2013-10-18 19:45:36 +05:30
tst-tls8.c Don't include tls.h in test cases 2013-10-18 19:45:36 +05:30
tst-tls9-static.c
tst-tls9.c Don't include tls.h in test cases 2013-10-18 19:45:36 +05:30
tst-tls10.c
tst-tls10.h Don't include tls.h in test cases 2013-10-18 19:45:36 +05:30
tst-tls11.c
tst-tls12.c
tst-tls13.c
tst-tls14.c Don't include tls.h in test cases 2013-10-18 19:45:36 +05:30
tst-tls15.c
tst-tls16.c
tst-tls17.c
tst-tls18.c
tst-tls19.c
tst-tls19mod1.c
tst-tls19mod2.c
tst-tls19mod3.c
tst-tls-dlinfo.c Don't include tls.h in test cases 2013-10-18 19:45:36 +05:30
tst-tlsmod1.c Don't include tls.h in test cases 2013-10-18 19:45:36 +05:30
tst-tlsmod2.c Don't include tls.h in test cases 2013-10-18 19:45:36 +05:30
tst-tlsmod3.c Don't include tls.h in test cases 2013-10-18 19:45:36 +05:30
tst-tlsmod4.c Don't include tls.h in test cases 2013-10-18 19:45:36 +05:30
tst-tlsmod5.c Don't include tls.h in test cases 2013-10-18 19:45:36 +05:30
tst-tlsmod6.c Don't include tls.h in test cases 2013-10-18 19:45:36 +05:30
tst-tlsmod7.c
tst-tlsmod8.c
tst-tlsmod9.c
tst-tlsmod10.c
tst-tlsmod11.c
tst-tlsmod12.c
tst-tlsmod13.c Don't include tls.h in test cases 2013-10-18 19:45:36 +05:30
tst-tlsmod13a.c Don't include tls.h in test cases 2013-10-18 19:45:36 +05:30
tst-tlsmod14a.c Don't include tls.h in test cases 2013-10-18 19:45:36 +05:30
tst-tlsmod14b.c
tst-tlsmod15a.c
tst-tlsmod15b.c
tst-tlsmod16a.c Don't include tls.h in test cases 2013-10-18 19:45:36 +05:30
tst-tlsmod16b.c Don't include tls.h in test cases 2013-10-18 19:45:36 +05:30
tst-tlsmod17a.c
tst-tlsmod17b.c
tst-tlsmod18a.c
tst-unique1.c
tst-unique1mod1.c Get rid of ASM_TYPE_DIRECTIVE{,_PREFIX}. 2012-08-02 21:04:29 +02:00
tst-unique1mod2.c Get rid of ASM_TYPE_DIRECTIVE{,_PREFIX}. 2012-08-02 21:04:29 +02:00
tst-unique2.c
tst-unique2mod1.c Get rid of ASM_TYPE_DIRECTIVE{,_PREFIX}. 2012-08-02 21:04:29 +02:00
tst-unique2mod2.c Get rid of ASM_TYPE_DIRECTIVE{,_PREFIX}. 2012-08-02 21:04:29 +02:00
tst-unique3.cc
tst-unique3.h
tst-unique3lib2.cc
tst-unique3lib.cc
tst-unique4.cc
tst-unique4.h
tst-unique4lib.cc
unload2.c
unload2dep.c
unload2mod.c
unload3.c
unload3mod1.c
unload3mod2.c
unload3mod3.c
unload3mod4.c
unload4.c
unload4mod1.c
unload4mod2.c
unload4mod3.c
unload4mod4.c
unload5.c
unload6.c
unload6mod1.c
unload6mod2.c
unload6mod3.c
unload7.c
unload7mod1.c
unload7mod2.c
unload8.c
unload8mod1.c
unload8mod1x.c
unload8mod2.c
unload8mod3.c
unload.c
unloadmod.c
Versions Add empty GLIBC_2.2.5 version to elf/Versions. 2014-03-25 21:54:09 +00:00
vismain.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
vismod1.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
vismod2.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
vismod3.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
vismod.h