glibc/elf
Siddhesh Poyarekar 90b37cac8b Also use l_tls_dtor_count to decide on object unload (BZ #18657)
When an TLS destructor is registered, we set the DF_1_NODELETE flag to
signal that the object should not be destroyed.  We then clear the
DF_1_NODELETE flag when all destructors are called, which is wrong -
the flag could have been set by other means too.

This patch replaces this use of the flag by using l_tls_dtor_count
directly to determine whether it is safe to unload the object.  This
change has the added advantage of eliminating the lock taking when
calling the destructors, which could result in a deadlock.  The patch
also fixes the test case tst-tls-atexit - it was making an invalid
dlclose call, which would just return an error silently.

I have also added a detailed note on concurrency which also aims to
justify why I chose the semantics I chose for accesses to
l_tls_dtor_count.  Thanks to Torvald for his help in getting me
started on this and (literally) teaching my how to approach the
problem.

Change verified on x86_64; the test suite does not show any
regressions due to the patch.

ChangeLog:

	[BZ #18657]
	* elf/dl-close.c (_dl_close_worker): Don't unload DSO if there
	are pending TLS destructor calls.
	* include/link.h (struct link_map): Add concurrency note for
	L_TLS_DTOR_COUNT.
	* stdlib/cxa_thread_atexit_impl.c (__cxa_thread_atexit_impl):
	Don't touch the link map flag.  Atomically increment
	l_tls_dtor_count.
	(__call_tls_dtors): Atomically decrement l_tls_dtor_count.
	Avoid taking the load lock and don't touch the link map flag.
	* stdlib/tst-tls-atexit-nodelete.c: New test case.
	* stdlib/Makefile (tests): Use it.
	* stdlib/tst-tls-atexit.c (do_test): dlopen
	tst-tls-atexit-lib.so again before dlclose.  Add conditionals
	to allow tst-tls-atexit-nodelete test case to use it.
2015-07-23 11:16:18 +05:30
..
cache.c Fix ldconfig segmentation fault with corrupted cache (Bug 18093). 2015-03-11 21:07:32 -04:00
chroot_canon.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
circleload1.c * elf/tst-tls-dlinfo.c: New file. 2006-03-01 06:18:49 +00:00
circlemod1.c Update. 2002-07-17 00:34:35 +00:00
circlemod1a.c Update. 2002-06-30 07:17:02 +00:00
circlemod2.c Update. 2002-07-17 00:34:35 +00:00
circlemod2a.c Update. 2002-07-17 00:34:35 +00:00
circlemod3.c Update. 2002-07-17 00:34:35 +00:00
circlemod3a.c Update. 2002-06-30 07:17:02 +00:00
constload1.c Include <stdio.h> for puts prototype. 2000-08-19 08:30:28 +00:00
constload2.c Add prototype for init. 2001-01-21 17:15:50 +00:00
constload3.c Update. 2000-12-17 17:50:56 +00:00
dblload.c Update. 2001-09-06 01:03:05 +00:00
dblloadmod1.c * elf/dblloadmod1.c: Add prototype to avoid warning. 2001-12-21 10:16:16 +00:00
dblloadmod2.c * elf/dblloadmod1.c: Add prototype to avoid warning. 2001-12-21 10:16:16 +00:00
dblloadmod3.c * elf/dblloadmod1.c: Add prototype to avoid warning. 2001-12-21 10:16:16 +00:00
dblunload.c Update. 2001-09-06 01:03:05 +00:00
dep1.c Update. 2000-12-15 16:03:57 +00:00
dep2.c Update. 2000-12-15 16:03:57 +00:00
dep3.c Update. 2000-12-15 16:03:57 +00:00
dep4.c Update. 2000-12-15 16:03:57 +00:00
dl-addr.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
dl-brk.c 2005-12-13 Ulrich Drepper <drepper@redhat.com> 2005-12-14 08:43:25 +00:00
dl-cache.c Fix recursive dlopen. 2015-01-21 01:51:10 -05:00
dl-caller.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
dl-close.c Also use l_tls_dtor_count to decide on object unload (BZ #18657) 2015-07-23 11:16:18 +05:30
dl-conflict.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
dl-debug.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
dl-deps.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
dl-dst.h Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
dl-environ.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
dl-error.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
dl-execstack.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
dl-fini.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
dl-fptr.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
dl-hwcaps.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
dl-init.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
dl-iteratephdr.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
dl-libc.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
dl-load.c Factor file identity rules out of generic rtld code. 2015-07-14 13:15:26 -07:00
dl-load.h Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
dl-lookup.c Add ELF_RTYPE_CLASS_EXTERN_PROTECTED_DATA to x86 2015-03-31 05:16:57 -07:00
dl-machine-reject-phdr.h Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
dl-map-segments.h Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
dl-minimal.c Provide __libc_fatal for rtld. 2015-07-09 15:32:32 -07:00
dl-misc.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
dl-object.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
dl-open.c Set NODELETE flag when opening already open objects with RTLD_NODELETE 2015-07-16 08:53:28 +05:30
dl-origin.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
dl-profile.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
dl-profstub.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
dl-reloc.c Don't issue an error if DT_PLTRELSZ is missing 2015-05-22 17:46:58 -07:00
dl-runtime.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
dl-sbrk.c 2005-12-13 Ulrich Drepper <drepper@redhat.com> 2005-12-14 08:43:25 +00:00
dl-scope.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
dl-support.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
dl-sym.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
dl-symaddr.c hppa/ia64: _dl_symbol_address: add PLT bypass for rtld 2015-07-16 09:03:08 -04:00
dl-sysdep.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
dl-tls.c Fix DTV race, assert, DTV_SURPLUS Static TLS limit, and nptl_db garbage 2015-03-17 00:31:49 -03:00
dl-trampoline.c 2005-12-13 Ulrich Drepper <drepper@redhat.com> 2005-12-14 08:43:25 +00:00
dl-tsd.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
dl-unmap-segments.h Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
dl-version.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
dl-writev.h Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
do-rel.h Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
dynamic-link.h powerpc __tls_get_addr call optimization 2015-03-25 15:53:47 +10:30
elf.h Add support for DT_MIPS_RLD_MAP_REL. 2015-06-26 12:03:45 +01:00
enbl-secure.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
failobj.c Update. 2000-12-17 17:50:56 +00:00
filter.c Update. 2000-08-19 07:17:09 +00:00
filtmod1.c Update. 2000-12-17 17:50:56 +00:00
filtmod2.c Update. 2000-12-17 17:50:56 +00:00
firstobj.c Add prototype. 2001-02-06 10:38:10 +00:00
gen-trusted-dirs.awk Update. 1999-05-03 21:59:35 +00:00
genrtldtbl.awk Testsuite for owrdexp. 1998-03-05 16:42:56 +00:00
get-dynamic-info.h Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
global.c (main): Use proper prototype. 2001-03-21 07:21:34 +00:00
globalmod1.c Update. 2001-04-06 15:23:41 +00:00
ifuncdep1.c Test for ELF IFUNC functionality. 2009-06-03 16:21:40 -07:00
ifuncdep1pic.c Test for ELF IFUNC functionality. 2009-06-03 16:21:40 -07:00
ifuncdep2.c Replace __attribute__((visibility("protected"))) 2015-03-06 17:05:42 -08:00
ifuncdep2pic.c Test for ELF IFUNC functionality. 2009-06-03 16:21:40 -07:00
ifuncdep5.c Add more IFUNC tests. 2009-06-22 15:07:40 -07:00
ifuncdep5pic.c Add more IFUNC tests. 2009-06-22 15:07:40 -07:00
ifuncmain1.c Remove trailing whitespace. 2013-06-05 20:44:03 +00:00
ifuncmain1pic.c Test for ELF IFUNC functionality. 2009-06-03 16:21:40 -07:00
ifuncmain1picstatic.c Test for ELF IFUNC functionality. 2009-06-03 16:21:40 -07:00
ifuncmain1pie.c Test for ELF IFUNC functionality. 2009-06-03 16:21:40 -07:00
ifuncmain1static.c Test for ELF IFUNC functionality. 2009-06-03 16:21:40 -07:00
ifuncmain1staticpic.c Test for ELF IFUNC functionality. 2009-06-03 16:21:40 -07:00
ifuncmain1staticpie.c Add more IFUNC tests. 2009-06-22 15:07:40 -07:00
ifuncmain1vis.c Remove trailing whitespace. 2013-06-05 20:44:03 +00:00
ifuncmain1vispic.c Test for ELF IFUNC functionality. 2009-06-03 16:21:40 -07:00
ifuncmain1vispie.c Test for ELF IFUNC functionality. 2009-06-03 16:21:40 -07:00
ifuncmain2.c Uglify IFUNC tests for PPC. 2009-10-30 00:48:54 -07:00
ifuncmain2pic.c Test for ELF IFUNC functionality. 2009-06-03 16:21:40 -07:00
ifuncmain2picstatic.c Test for ELF IFUNC functionality. 2009-06-03 16:21:40 -07:00
ifuncmain2static.c Test for ELF IFUNC functionality. 2009-06-03 16:21:40 -07:00
ifuncmain3.c Properly handle STT_GNU_IFUNC symbols in do_sym. 2009-11-06 09:30:56 -08:00
ifuncmain4.c Test for ELF IFUNC functionality. 2009-06-03 16:21:40 -07:00
ifuncmain4picstatic.c Test for ELF IFUNC functionality. 2009-06-03 16:21:40 -07:00
ifuncmain4static.c Test for ELF IFUNC functionality. 2009-06-03 16:21:40 -07:00
ifuncmain5.c Uglify IFUNC tests for PPC. 2009-10-30 00:48:54 -07:00
ifuncmain5pic.c Add more IFUNC tests. 2009-06-22 15:07:40 -07:00
ifuncmain5picstatic.c Add more IFUNC tests. 2009-06-22 15:07:40 -07:00
ifuncmain5pie.c Add more IFUNC tests. 2009-06-22 15:07:40 -07:00
ifuncmain5static.c Add more IFUNC tests. 2009-06-22 15:07:40 -07:00
ifuncmain5staticpic.c Add more IFUNC tests. 2009-06-22 15:07:40 -07:00
ifuncmain6pie.c Uglify IFUNC tests for PPC. 2009-10-30 00:48:54 -07:00
ifuncmain7.c Uglify IFUNC tests for PPC. 2009-10-30 00:48:54 -07:00
ifuncmain7pic.c Add more IFUNC tests. 2009-06-22 15:07:40 -07:00
ifuncmain7picstatic.c Add more IFUNC tests. 2009-06-22 15:07:40 -07:00
ifuncmain7pie.c Add more IFUNC tests. 2009-06-22 15:07:40 -07:00
ifuncmain7static.c Add more IFUNC tests. 2009-06-22 15:07:40 -07:00
ifuncmod1.c Replace __attribute__((visibility("protected"))) 2015-03-06 17:05:42 -08:00
ifuncmod3.c Uglify IFUNC tests for PPC. 2009-10-30 00:48:54 -07:00
ifuncmod5.c Replace __attribute__((visibility("protected"))) 2015-03-06 17:05:42 -08:00
ifuncmod6.c Add more IFUNC tests. 2009-06-22 15:07:40 -07:00
initfirst.c Update. 2001-02-02 06:54:15 +00:00
interp.c Prepare for restoration of .interp section in libpthread.so 2015-06-10 10:14:45 +00:00
lateglobal.c Update. 2004-04-21 18:58:31 +00:00
ldconfig.c Update copyright dates not handled by scripts/update-copyrights. 2015-01-02 16:54:45 +00:00
ldd.bash.in Update copyright dates not handled by scripts/update-copyrights. 2015-01-02 16:54:45 +00:00
link.h Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
loadfail.c Update. 2000-11-26 06:18:02 +00:00
loadtest.c * elf/tst-tls-dlinfo.c: New file. 2006-03-01 06:18:49 +00:00
ltglobmod1.c Update. 2000-12-17 17:50:56 +00:00
ltglobmod2.c Update. 2000-12-15 16:03:57 +00:00
Makefile Set NODELETE flag when opening already open objects with RTLD_NODELETE 2015-07-16 08:53:28 +05:30
multiload.c Update. 2000-11-26 06:18:02 +00:00
neededobj1.c Update. 2000-12-17 17:50:56 +00:00
neededobj2.c Update. 2000-12-17 17:50:56 +00:00
neededobj3.c Update. 2000-12-17 17:50:56 +00:00
neededobj4.c Update. 2000-12-17 17:50:56 +00:00
neededobj5.c Update. 2000-12-31 06:09:08 +00:00
neededobj6.c Update. 2000-12-31 06:09:08 +00:00
neededtest2.c * elf/tst-tls-dlinfo.c: New file. 2006-03-01 06:18:49 +00:00
neededtest3.c * elf/tst-tls-dlinfo.c: New file. 2006-03-01 06:18:49 +00:00
neededtest4.c Remove pre-ISO C support 2012-01-07 23:57:22 -05:00
neededtest.c * elf/tst-tls-dlinfo.c: New file. 2006-03-01 06:18:49 +00:00
next.c Update. 2000-11-26 06:18:02 +00:00
nextmod1.c Update. 2000-12-17 17:50:56 +00:00
nextmod2.c Update. 2000-12-17 17:50:56 +00:00
nodel2mod1.c Test modules for DF_1_NODELETE test. 2003-01-12 07:52:53 +00:00
nodel2mod2.c Test modules for DF_1_NODELETE test. 2003-01-12 07:52:53 +00:00
nodel2mod3.c Test modules for DF_1_NODELETE test. 2003-01-12 07:52:53 +00:00
nodelete2.c Update. 2003-01-12 10:11:16 +00:00
nodelete.c Update. 2000-11-26 06:18:02 +00:00
nodelmod1.c Update. 2000-08-25 19:33:19 +00:00
nodelmod2.c Update. 2000-08-25 19:33:19 +00:00
nodelmod3.c Update. 2000-12-17 17:50:56 +00:00
nodelmod4.c Update. 2000-08-25 19:33:19 +00:00
nodlopen2.c Update. 2002-02-10 22:40:17 +00:00
nodlopen.c Update. 2000-07-21 04:42:21 +00:00
nodlopenmod2.c Update. 2002-03-03 19:43:30 +00:00
nodlopenmod.c Update. 2000-07-21 04:42:21 +00:00
noload.c Fix memory leak in dlopen with RTLD_NOLOAD. 2011-02-25 20:49:48 -05:00
order2.c * elf/Makefile: Add rules to build and run order2. 2005-03-19 08:04:37 +00:00
order2mod1.c * elf/Makefile: Add rules to build and run order2. 2005-03-19 08:04:37 +00:00
order2mod2.c * posix/tst-execle1.c (do_test): Add a const. 2005-12-27 22:50:12 +00:00
order2mod3.c * elf/Makefile: Add rules to build and run order2. 2005-03-19 08:04:37 +00:00
order2mod4.c * elf/Makefile: Add rules to build and run order2. 2005-03-19 08:04:37 +00:00
order.c Update. 2000-11-26 06:18:02 +00:00
origtest.c Update. 2000-11-26 06:18:02 +00:00
pathoptobj.c Update. 2000-12-17 17:50:56 +00:00
pldd-xx.c pldd: Use struct scratch_buffer instead of extend_alloca 2015-04-08 21:06:49 +02:00
pldd.c pldd: Use struct scratch_buffer instead of extend_alloca 2015-04-08 21:06:49 +02:00
preloadtest.c Update. 2000-12-15 16:03:57 +00:00
readelflib.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
readlib.c Don't issue errors on GDB Python files 2015-06-24 10:27:39 -07:00
reldep2.c Update. 2001-09-08 17:45:32 +00:00
reldep3.c Fix typos. 2013-08-21 19:48:48 +02:00
reldep4.c Avoid compile warning. 2001-09-22 15:44:07 +00:00
reldep4mod1.c Update. 2001-05-22 23:55:23 +00:00
reldep4mod2.c Update. 2001-06-22 13:50:51 +00:00
reldep4mod3.c Update. 2001-05-22 23:55:23 +00:00
reldep4mod4.c Update. 2001-06-22 13:50:51 +00:00
reldep5.c Update. 2001-09-22 15:44:35 +00:00
reldep6.c Update. 2003-01-12 10:11:16 +00:00
reldep6mod0.c Update. 2001-10-01 00:14:14 +00:00
reldep6mod1.c Update. 2001-10-01 00:14:14 +00:00
reldep6mod2.c Update. 2001-10-01 00:14:14 +00:00
reldep6mod3.c Update. 2001-10-01 00:14:14 +00:00
reldep6mod4.c Update. 2001-10-01 00:14:14 +00:00
reldep7.c Update. 2002-04-15 17:10:22 +00:00
reldep7mod1.c Update. 2002-04-15 17:10:22 +00:00
reldep7mod2.c Update. 2002-04-15 17:10:22 +00:00
reldep8.c Update. 2002-12-30 20:25:40 +00:00
reldep8mod1.c Update. 2002-12-30 20:25:40 +00:00
reldep8mod2.c Update. 2002-12-30 20:25:40 +00:00
reldep8mod3.c Update. 2002-12-30 20:25:40 +00:00
reldep9.c Update. 2003-01-12 10:11:16 +00:00
reldep9mod1.c Update. 2003-01-12 10:11:16 +00:00
reldep9mod2.c Update. 2003-01-12 10:11:16 +00:00
reldep9mod3.c Update. 2003-01-12 10:11:16 +00:00
reldep.c Fix typos. 2013-08-21 19:48:48 +02:00
reldepmod1.c Update. 2000-12-17 17:50:56 +00:00
reldepmod2.c Update. 2000-12-17 17:50:56 +00:00
reldepmod3.c Update. 2000-12-17 17:50:56 +00:00
reldepmod4.c Update. 2000-12-17 17:50:56 +00:00
reldepmod5.c * elf/dblloadmod1.c: Add prototype to avoid warning. 2001-12-21 10:16:16 +00:00
reldepmod6.c * elf/dblloadmod1.c: Add prototype to avoid warning. 2001-12-21 10:16:16 +00:00
resolvfail.c Update. 1999-08-02 19:56:07 +00:00
restest1.c Update. 2000-11-26 06:18:02 +00:00
restest2.c Update. 2001-05-22 22:30:18 +00:00
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 dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
rtld.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
setup-vdso.h Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
sln.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
sofini.c Remove .ctors' and .dtors' output sections 2010-12-24 20:14:37 -05:00
soinit.c Fix missing .ctors/.dtors lead word in soinit 2011-06-27 20:26:54 -07:00
sotruss-lib.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
sotruss.sh Update copyright dates not handled by scripts/update-copyrights. 2015-01-02 16:54:45 +00:00
sprof.c sprof: Make an error message identical to two others, and more accurate. 2015-02-25 00:04:55 -05:00
static-stubs.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
testobj1_1.c Update. 2000-12-15 16:03:57 +00:00
testobj1.c Update. 2000-12-15 16:03:57 +00:00
testobj2.c * sysdeps/generic/ldsodefs.h (_dl_out_of_memory_internal): Remove decl. 2005-03-06 00:08:10 +00:00
testobj3.c Update. 2000-12-15 16:03:57 +00:00
testobj4.c Update. 2000-12-15 16:03:57 +00:00
testobj5.c Update. 2000-12-15 16:03:57 +00:00
testobj6.c Update. 2000-12-15 16:03:57 +00:00
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 [BZ 18034][AArch64] Lazy TLSDESC relocation data race fix 2015-06-17 12:41:01 +01:00
tst-addr1.c * dlfcn/Makefile (LDLIBS-bug-atexit3-lib.so): Add 2006-08-31 17:16:11 +00:00
tst-align2.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
tst-align.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
tst-alignmod2.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
tst-alignmod.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
tst-array1-static.c * csu/elf-init.c (__libc_csu_fini): Enable if LIBC_NONSHARED 2005-02-14 21:25:50 +00:00
tst-array1.c Set constructor/destructor priority to 1000 2012-11-16 07:40:38 -08:00
tst-array1.exp * sysdeps/ia64/elf/initfini.c [HAVE_INITFINI_ARRAY] 2002-11-07 22:28:16 +00:00
tst-array2.c * sysdeps/ia64/elf/initfini.c [HAVE_INITFINI_ARRAY] 2002-11-07 22:28:16 +00:00
tst-array2.exp * sysdeps/ia64/elf/initfini.c [HAVE_INITFINI_ARRAY] 2002-11-07 22:28:16 +00:00
tst-array2dep.c Set constructor/destructor priority to 1000 2012-11-16 07:40:38 -08:00
tst-array3.c * sysdeps/ia64/elf/initfini.c [HAVE_INITFINI_ARRAY] 2002-11-07 22:28:16 +00:00
tst-array4.c Update. 2003-01-27 21:03:22 +00:00
tst-array4.exp Update. 2003-01-27 21:03:22 +00:00
tst-array5-static.c [BZ #974] 2005-07-07 23:00:02 +00:00
tst-array5-static.exp [BZ #974] 2005-07-07 23:00:02 +00:00
tst-array5.c [BZ #974] 2005-07-07 23:00:02 +00:00
tst-array5.exp [BZ #974] 2005-07-07 23:00:02 +00:00
tst-array5dep.c [BZ #974] 2005-07-07 23:00:02 +00:00
tst-audit1.c * csu/elf-init.c (__libc_csu_fini): Don't do anything here. 2005-01-06 22:40:27 +00:00
tst-audit2.c Make sure that calloc is called at least once 2015-05-28 05:06:53 -07:00
tst-audit8.c Skip audit if l_reloc_result is NULL 2012-11-14 15:44:40 -08:00
tst-audit9.c Modify elf/tst-audit9.c to use test-skeleton.c 2015-07-15 15:10:23 +05:30
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 dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
tst-deep1.c Update. 2004-09-23 07:45:38 +00:00
tst-deep1mod1.c Update. 2004-09-23 07:45:38 +00:00
tst-deep1mod2.c Update. 2004-09-23 07:45:38 +00:00
tst-deep1mod3.c Update. 2004-09-23 07:45:38 +00:00
tst-dl-iter-static.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
tst-dlmodcount.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
tst-dlmopen1.c [BZ #77] 2004-10-14 02:08:23 +00:00
tst-dlmopen1mod.c Update. 2004-10-27 20:27:40 +00:00
tst-dlmopen2.c [BZ #77] 2004-10-14 02:08:23 +00:00
tst-dlmopen3.c Update. 2004-10-28 06:53:20 +00:00
tst-dlopen-aout.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
tst-dlopenrpath.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
tst-dlopenrpathmod.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
tst-execstack-mod.c * sysdeps/i386/dl-machine.h (RTLD_START): Set __libc_stack_end before 2003-09-23 12:07:26 +00:00
tst-execstack-needed.c * sysdeps/i386/dl-machine.h (RTLD_START): Set __libc_stack_end before 2003-09-23 12:07:26 +00:00
tst-execstack-prog.c * elf/rtld.c (dl_main): In rtld_is_main case, reinitialize 2003-09-24 01:56:08 +00:00
tst-execstack.c Fix stack size and address inconsistency due to executable stack 2012-05-26 09:48:26 +05:30
tst-global1.c Modify several tests to use test-skeleton.c 2014-11-05 15:24:08 +05:30
tst-initorder2.c Correct cycle detection during dependency sorting 2011-08-22 16:08:16 -04:00
tst-initorder2.exp Correct cycle detection during dependency sorting 2011-08-22 16:08:16 -04:00
tst-initorder.c Fix ordering of DSO constructors and destructors. 2011-01-19 16:00:11 -05:00
tst-initorder.exp Fix ordering of DSO constructors and destructors. 2011-01-19 16:00:11 -05:00
tst-initordera1.c Fix ordering of DSO constructors and destructors. 2011-01-19 16:00:11 -05:00
tst-initordera2.c Fix ordering of DSO constructors and destructors. 2011-01-19 16:00:11 -05:00
tst-initordera3.c Fix ordering of DSO constructors and destructors. 2011-01-19 16:00:11 -05:00
tst-initordera4.c Fix ordering of DSO constructors and destructors. 2011-01-19 16:00:11 -05:00
tst-initorderb1.c Fix ordering of DSO constructors and destructors. 2011-01-19 16:00:11 -05:00
tst-initorderb2.c Fix ordering of DSO constructors and destructors. 2011-01-19 16:00:11 -05:00
tst-leaks1-static.c Check the main application only if SHARED is defined 2012-10-20 16:16:59 -07:00
tst-leaks1.c Modify several tests to use test-skeleton.c 2015-07-15 15:10:23 +05:30
tst-nodelete-opened-lib.c Set NODELETE flag when opening already open objects with RTLD_NODELETE 2015-07-16 08:53:28 +05:30
tst-nodelete-opened.c Add comment to clarify how the test can fail 2015-07-16 10:38:29 +05:30
tst-nodelete-rtldmod.cc Add forced deletion support to _dl_close_worker 2015-07-07 11:06:56 -07:00
tst-nodelete-uniquemod.cc Add forced deletion support to _dl_close_worker 2015-07-07 11:06:56 -07:00
tst-nodelete-zmod.cc Add forced deletion support to _dl_close_worker 2015-07-07 11:06:56 -07:00
tst-nodelete.cc Add forced deletion support to _dl_close_worker 2015-07-07 11:06:56 -07:00
tst-null-argv-lib.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
tst-null-argv.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
tst-order-a1.c Fix ordering of DSO constructors and destructors. 2011-01-19 16:00:11 -05:00
tst-order-a2.c Fix ordering of DSO constructors and destructors. 2011-01-19 16:00:11 -05:00
tst-order-a3.c Fix ordering of DSO constructors and destructors. 2011-01-19 16:00:11 -05:00
tst-order-a4.c Fix ordering of DSO constructors and destructors. 2011-01-19 16:00:11 -05:00
tst-order-b1.c Fix ordering of DSO constructors and destructors. 2011-01-19 16:00:11 -05:00
tst-order-b2.c Fix ordering of DSO constructors and destructors. 2011-01-19 16:00:11 -05:00
tst-order-main.c Fix ordering of DSO constructors and destructors. 2011-01-19 16:00:11 -05:00
tst-pathopt.c Modify several tests to use test-skeleton.c 2014-11-05 15:24:08 +05:30
tst-pathopt.sh Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
tst-pie1.c [BZ #262] 2004-07-16 17:56:45 +00:00
tst-pie2.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
tst-piemod1.c Modify several tests to use test-skeleton.c 2014-11-05 15:24:08 +05:30
tst-protected1a.c Add a testcase for copy reloc against protected data 2015-03-31 05:21:12 -07:00
tst-protected1b.c Add a testcase for copy reloc against protected data 2015-03-31 05:21:12 -07:00
tst-protected1mod.h Add a testcase for copy reloc against protected data 2015-03-31 05:21:12 -07:00
tst-protected1moda.c Add a testcase for copy reloc against protected data 2015-03-31 05:21:12 -07:00
tst-protected1modb.c Add a testcase for copy reloc against protected data 2015-03-31 05:21:12 -07:00
tst-ptrguard1-static.c BZ #15754: CVE-2013-4788 2013-09-23 00:52:09 -04:00
tst-ptrguard1.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
tst-relsort1.c Fix warning 2012-05-17 22:00:57 +02:00
tst-relsort1mod1.c Sort objects before relocations 2012-01-27 15:05:19 -05:00
tst-relsort1mod2.c Sort objects before relocations 2012-01-27 15:05:19 -05:00
tst-rtld-load-self.sh Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
tst-stackguard1-static.c * Versions.def (ld): Add GLIBC_2.4. 2005-06-26 18:14:26 +00:00
tst-stackguard1.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
tst-thrlock.c . 2007-07-31 13:33:18 +00:00
tst-tls1-static.c * elf/tst-tls1-static.c: New file. 2002-08-28 10:42:59 +00:00
tst-tls1.c Don't include tls.h in test cases 2013-10-18 19:45:36 +05:30
tst-tls2-static.c * elf/tst-tls1-static.c: New file. 2002-08-28 10:42:59 +00:00
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 2002-10-21 Roland McGrath <roland@redhat.com> 2002-10-22 06:22:38 +00:00
tst-tls9.c Don't include tls.h in test cases 2013-10-18 19:45:36 +05:30
tst-tls10.c Modify several tests to use test-skeleton.c 2014-11-05 15:24:08 +05:30
tst-tls10.h Don't include tls.h in test cases 2013-10-18 19:45:36 +05:30
tst-tls11.c Modify several tests to use test-skeleton.c 2014-11-05 15:24:08 +05:30
tst-tls12.c Modify several tests to use test-skeleton.c 2014-11-05 15:24:08 +05:30
tst-tls13.c * elf/tst-tls13.c (do_test): Avoid using the library path when 2005-12-27 22:29:27 +00:00
tst-tls14.c Don't include tls.h in test cases 2013-10-18 19:45:36 +05:30
tst-tls15.c [BZ #786] 2005-03-20 22:25:59 +00:00
tst-tls16.c * include/link.h (FORCED_DYNAMIC_TLS_OFFSET): Define. 2008-01-17 20:20:00 +00:00
tst-tls17.c * elf/Makefile: Add rules to build and run tst-tls17. 2008-10-17 15:24:10 +00:00
tst-tls18.c * elf/dl-tls.c (__tls_get_addr): After calling _dl_update_slotinfo 2008-10-31 20:50:16 +00:00
tst-tls19.c Fix handling of static TLS in dlopen'ed objects 2011-05-14 21:25:43 -04:00
tst-tls19mod1.c Fix handling of static TLS in dlopen'ed objects 2011-05-14 21:25:43 -04:00
tst-tls19mod2.c Fix handling of static TLS in dlopen'ed objects 2011-05-14 21:25:43 -04:00
tst-tls19mod3.c Fix handling of static TLS in dlopen'ed objects 2011-05-14 21:25:43 -04:00
tst-tls-dlinfo.c Don't include tls.h in test cases 2013-10-18 19:45:36 +05:30
tst-tlsalign-extern-static.c BZ#18383: Another test case, with TLS refs and defs in separate TUs. 2015-06-02 16:55:36 -07:00
tst-tlsalign-extern.c BZ#18383: Another test case, with TLS refs and defs in separate TUs. 2015-06-02 16:55:36 -07:00
tst-tlsalign-lib.c BZ#18383: Add test case for large alignment in TLS blocks. 2015-05-06 13:32:18 -07:00
tst-tlsalign-static.c BZ#18383: Add test case for large alignment in TLS blocks. 2015-05-06 13:32:18 -07:00
tst-tlsalign-vars.c BZ#18383: Another test case, with TLS refs and defs in separate TUs. 2015-06-02 16:55:36 -07:00
tst-tlsalign.c BZ#18383: Add test case for large alignment in TLS blocks. 2015-05-06 13:32:18 -07:00
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 Cleanup of configuration options 2011-09-10 14:34:15 -04:00
tst-tlsmod8.c Cleanup of configuration options 2011-09-10 14:34:15 -04:00
tst-tlsmod9.c Cleanup of configuration options 2011-09-10 14:34:15 -04:00
tst-tlsmod10.c Update. 2003-04-17 19:19:29 +00:00
tst-tlsmod11.c Cleanup of configuration options 2011-09-10 14:34:15 -04:00
tst-tlsmod12.c Cleanup of configuration options 2011-09-10 14:34:15 -04:00
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 Update. 2003-07-24 20:07:00 +00:00
tst-tlsmod15a.c [BZ #786] 2005-03-20 22:25:59 +00:00
tst-tlsmod15b.c Cleanup of configuration options 2011-09-10 14:34:15 -04:00
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 * elf/Makefile: Add rules to build and run tst-tls17. 2008-10-17 15:24:10 +00:00
tst-tlsmod17b.c * elf/Makefile: Add rules to build and run tst-tls17. 2008-10-17 15:24:10 +00:00
tst-tlsmod18a.c * elf/dl-tls.c (__tls_get_addr): After calling _dl_update_slotinfo 2008-10-31 20:50:16 +00:00
tst-unique1.c Handle unloading of DSO with a unique symbol definition. 2009-07-23 07:07:53 -07:00
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 Implement STB_GNU_UNIQUE handling. 2009-07-09 23:52:22 -07:00
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 Remove gets declarations in C++ tests. 2012-01-25 16:50:17 +00:00
tst-unique3.h Fix copy relocations handling of unique objects. 2011-03-10 12:51:33 -05:00
tst-unique3lib2.cc Remove gets declarations in C++ tests. 2012-01-25 16:50:17 +00:00
tst-unique3lib.cc Remove gets declarations in C++ tests. 2012-01-25 16:50:17 +00:00
tst-unique4.cc Remove gets declarations in C++ tests. 2012-01-25 16:50:17 +00:00
tst-unique4.h Fix resizing able for unique symbols when adding symbol for copy relocation 2011-05-12 21:59:09 -04:00
tst-unique4lib.cc Fix warning in elf/tst-unique4lib.cc. 2014-12-16 10:26:48 +01:00
tst-znodelete-zlib.cc Add forced deletion support to _dl_close_worker 2015-07-07 11:06:56 -07:00
unload2.c * elf/tst-tls-dlinfo.c: New file. 2006-03-01 06:18:49 +00:00
unload2dep.c Update. 2000-12-17 17:50:56 +00:00
unload2mod.c Update. 2000-12-17 17:50:56 +00:00
unload3.c [BZ #776] 2005-03-03 08:28:23 +00:00
unload3mod1.c [BZ #776] 2005-03-03 08:28:23 +00:00
unload3mod2.c [BZ #776] 2005-03-03 08:28:23 +00:00
unload3mod3.c [BZ #776] 2005-03-03 08:28:23 +00:00
unload3mod4.c * sysdeps/generic/ldsodefs.h (_dl_out_of_memory_internal): Remove decl. 2005-03-06 00:08:10 +00:00
unload4.c Test cases for correct unloading. 2005-03-18 10:54:53 +00:00
unload4mod1.c Test cases for correct unloading. 2005-03-18 10:54:53 +00:00
unload4mod2.c Test cases for correct unloading. 2005-03-18 10:54:53 +00:00
unload4mod3.c Test cases for correct unloading. 2005-03-18 10:54:53 +00:00
unload4mod4.c Test cases for correct unloading. 2005-03-18 10:54:53 +00:00
unload5.c Test cases for correct unloading. 2005-03-18 10:54:53 +00:00
unload6.c * elf/dl-close.c: Include stddef.h. 2005-04-27 01:39:11 +00:00
unload6mod1.c * elf/dl-close.c: Include stddef.h. 2005-04-27 01:39:11 +00:00
unload6mod2.c * elf/dl-close.c: Include stddef.h. 2005-04-27 01:39:11 +00:00
unload6mod3.c * elf/dl-close.c: Include stddef.h. 2005-04-27 01:39:11 +00:00
unload7.c * elf/dl-close.c (_dl_close): If dependency is not unloaded make 2006-09-19 14:42:12 +00:00
unload7mod1.c * elf/dl-close.c (_dl_close): If dependency is not unloaded make 2006-09-19 14:42:12 +00:00
unload7mod2.c * elf/dl-close.c (_dl_close): If dependency is not unloaded make 2006-09-19 14:42:12 +00:00
unload8.c Fix scope handling during dl_close 2011-08-24 09:32:13 +02:00
unload8mod1.c Fix scope handling during dl_close 2011-08-24 09:32:13 +02:00
unload8mod1x.c Fix scope handling during dl_close 2011-08-24 09:32:13 +02:00
unload8mod2.c Fix scope handling during dl_close 2011-08-24 09:32:13 +02:00
unload8mod3.c Fix scope handling during dl_close 2011-08-24 09:32:13 +02:00
unload.c * elf/tst-tls-dlinfo.c: New file. 2006-03-01 06:18:49 +00:00
unloadmod.c Update. 2000-08-26 23:41:19 +00:00
Versions Add empty GLIBC_2.2.5 version to elf/Versions. 2014-03-25 21:54:09 +00:00
vismain.c Compile vismain with -fPIE and link with -pie 2015-02-27 14:13:28 -08:00
vismod1.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
vismod2.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
vismod3.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
vismod.h 2003-03-26 H.J. Lu <hjl@gnu.org> 2003-03-29 03:46:03 +00:00