glibc/elf
Zack Weinberg 9ea49e16c7 [Bug 15368] Move pthread_kill to libc and use it to implement raise.
The fix for bug #15368 was unnecessarily Linux-specific.  To recap,
POSIX specifies raise to be async-signal-safe, but also specifies it
to be equivalent to pthread_kill(pthread_self(), sig), which is not
an async-signal-safe sequence of operations; a signal handler could
run in between pthread_self and pthread_kill, and do something (such
as calling fork, which is also async-signal-safe) that would invalidate
the thread descriptor.  This is even true in the hypothetical case of
a port that doesn't implement multithreading: kill(getpid(), sig) will
fire the signal twice if a signal handler runs in between, calls fork,
and then returns on both sides of the fork.  I don't see anything in
the standards to forbid that.

The Linux-specific fix was to override the definitions of raise in
both libpthread and libc to the same unitary function that blocks
signals, retrieves TID and PID directly from the kernel, calls tgkill,
and only then unblocks signals.  This patch generalizes that to any
port: pthread_kill is moved from libpthread to libc, with a forwarding
stub left behind.  The definition of raise in libpthread is also
replaced with a forwarding stub.  The Linux-specific definition of
raise is deleted; those ports will now use sysdeps/pthread/raise.c,
which blocks signals first, then calls pthread_self and pthread_kill,
and then unblocks signals.  Similarly, sysdeps/posix/raise.c (which
would be used on a port that didn't implement multithreading) blocks
signals, calls getpid and kill, and then unblocks signals.  Thus,
ports need only implement the primitives correctly and do not need to
worry about making raise async-signal-safe.

The only wrinkle was that up till now, we did not bother initializing
the ->tid field of the initial thread's descriptor unless libpthread
was loaded; now that raise calls pthread_kill even in a single-
threaded environment, that won't fly.  This is abstractly easy to fix;
the tricky part was figuring out _where_ to put the calls (two of
them, as it happens) to __pthread_initialize_pids, and I'd appreciate
careful eyes on those changes.

You might be wondering why it's safe to rely on the TID in the thread
descriptor, rather than calling gettid directly.  Since all signals
are blocked from before calling pthread_self until after pthread_kill
uses the TID to call tgkill, the question is whether some _other_
thread could do something that would invalidate the calling thread's
descriptor, and I believe there is no such thing.

While I was at it I fixed another bug: raise was returning an error
code on failure (like pthread_kill does) instead of setting errno as
specified.  This is user-visible but I don't think it's worth recording
as a fixed bug, nobody bothers checking whether raise failed anyway.

	* nptl/pt-raise.c
	* sysdeps/unix/sysv/linux/pt-raise.c
	* sysdeps/unix/sysv/linux/raise.c:
	Remove file.

	* sysdeps/unix/sysv/linux/pthread_kill.c: Use __is_internal_signal
	to check for forbidden signals.  Use INTERNAL_SYSCALL_CALL to call
	getpid.  Provide __libc_pthread_kill, with __pthread_kill as
	strong alias and pthread_kill as weak alias.

	* sysdeps/posix/raise.c: Block signals around the calls to
	__getpid and __kill.  Provide __libc_raise, with raise as strong
	alias, libc_hidden_def for raise, and gsignal as weak alias.
	* sysdeps/pthread/raise.c: New file.  Implement by blocking
	signals, calling pthread_self and pthread_kill, and then
	unblocking signals again.  Provide same symbols as above.

	* sysdeps/generic/internal-signals.h: Define all of the same
	functions that sysdeps/unix/sysv/linux/internal-signals.h does,
	with sensible default definitions.
	* sysdeps/unix/sysv/linux/internal-signals.h: Clarify comments.

	* nptl/pthread_kill.c: Define __libc_pthread_kill, with
	__pthread_kill as strong alias and pthread_kill as weak alias.
	* nptl/pthread_self.c: Define __pthread_self, with
	pthread_self as weak alias.
	* signal/raise.c: Define __libc_raise, with raise as strong alias,
	libc_hidden_def for raise, and gsignal as weak alias.

	* nptl/Makefile: Move pthread_kill from libpthread-routines to
	routines.  Remove pt-raise from libpthread-routines.
	* nptl/Versions (libc/GLIBC_2.28): Add pthread_kill.
	(libc/GLIBC_PRIVATE): Add __libc_pthread_kill and __libc_raise.
	* sysdeps/generic/pt-compat-stubs.S: Add stubs for raise and
	pthread_kill.

	* nptl/nptl-init.c (__pthread_initialize_minimal_internal):
	Don't call __pthread_initialize_pids here.
	* csu/libc-tls.c (__libc_setup_tls):
        Call __pthread_initialize_pids after all other setup.
	* elf/rtld.c (init_tls): Likewise.

	* include/pthreadP.h: New forwarder.
	* include/pthread.h: Add multiple inclusion guard.  Declare
	__pthread_self.
	* include/signal.h: Declare __pthread_kill.

	* sysdeps/**/libc.abilist (GLIBC_2.28): Add pthread_kill.
2018-03-26 08:30:46 -04:00
..
cache.c ldconfig: Sync temporary files to disk before renaming them [BZ #20890] 2018-02-21 10:42:48 +01:00
chroot_canon.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
circleload1.c * elf/tst-tls-dlinfo.c: New file. 2006-03-01 06:18:49 +00:00
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-obj.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
dl-addr.c Use ADDRIDX with DT_GNU_HASH 2018-02-05 14:58:57 -08:00
dl-brk.c 2005-12-13 Ulrich Drepper <drepper@redhat.com> 2005-12-14 08:43:25 +00:00
dl-cache.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
dl-close.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
dl-conflict.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
dl-debug.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
dl-deps.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
dl-dst.h Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
dl-environ.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
dl-error-minimal.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
dl-error-skeleton.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
dl-error.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
dl-exception.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
dl-execstack.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
dl-fini.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
dl-fptr.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
dl-hwcaps.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
dl-hwcaps.h Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
dl-init.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
dl-iteratephdr.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
dl-libc.c elf: Support dlvsym within libc.so 2018-01-04 18:46:24 +01:00
dl-load.c elf: Remove ad-hoc restrictions on dlopen callers [BZ #22787] 2018-02-21 10:37:22 +01:00
dl-load.h Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
dl-lookup.c Use ADDRIDX with DT_GNU_HASH 2018-02-05 14:58:57 -08:00
dl-machine-reject-phdr.h Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
dl-map-segments.h Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
dl-minimal.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
dl-misc.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
dl-object.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
dl-open.c elf: Remove ad-hoc restrictions on dlopen callers [BZ #22787] 2018-02-21 10:37:22 +01:00
dl-origin.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
dl-profile.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
dl-profstub.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
dl-reloc-static-pie.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
dl-reloc.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
dl-runtime.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +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. 2018-01-01 00:32:25 +00:00
dl-sort-maps.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
dl-support.c hurd: add gscope support 2018-03-11 13:06:33 +01:00
dl-sym.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
dl-symaddr.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
dl-sysdep-open.h Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
dl-sysdep.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
dl-tls.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
dl-trampoline.c 2005-12-13 Ulrich Drepper <drepper@redhat.com> 2005-12-14 08:43:25 +00:00
dl-tunable-types.h Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
dl-tunables.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
dl-tunables.h Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
dl-tunables.list Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
dl-unmap-segments.h Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
dl-version.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
dl-writev.h Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
do-rel.h Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
dynamic-link.h Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
elf.h RISC-V: add remaining relocations 2018-03-26 12:08:21 +02:00
enbl-secure.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
failobj.c
filter.c
filtmod1.c
filtmod2.c
firstobj.c
gen-trusted-dirs.awk
genrtldtbl.awk Make shebang interpreter directives consistent 2016-01-07 04:03:21 -05:00
get-dynamic-info.h Use ADDRIDX with DT_GNU_HASH 2018-02-05 14:58:57 -08:00
global.c
globalmod1.c
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 Do not stack-protect ifunc resolvers [BZ #7065] 2016-12-26 10:08:41 +01: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 Do not stack-protect ifunc resolvers [BZ #7065] 2016-12-26 10:08:41 +01:00
ifuncmain7.c Do not stack-protect ifunc resolvers [BZ #7065] 2016-12-26 10:08:41 +01: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 Do not stack-protect ifunc resolvers [BZ #7065] 2016-12-26 10:08:41 +01:00
ifuncmod3.c Uglify IFUNC tests for PPC. 2009-10-30 00:48:54 -07:00
ifuncmod5.c Do not stack-protect ifunc resolvers [BZ #7065] 2016-12-26 10:08:41 +01:00
ifuncmod6.c Add more IFUNC tests. 2009-06-22 15:07:40 -07:00
initfirst.c
interp.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
lateglobal.c Update. 2004-04-21 18:58:31 +00:00
ldconfig.c Update copyright dates not handled by scripts/update-copyrights. 2018-01-01 00:41:16 +00:00
ldd.bash.in Update copyright dates not handled by scripts/update-copyrights. 2018-01-01 00:41:16 +00:00
link.h Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
loadfail.c
loadtest.c Fix elf/loadtest.c build with GCC 8. 2017-06-27 17:52:42 +00:00
ltglobmod1.c
ltglobmod2.c
Makefile Add $(tests-execstack-$(have-z-execstack)) after defined [BZ #22998] 2018-03-24 08:25:55 -07:00
multiload.c
neededobj1.c
neededobj2.c
neededobj3.c
neededobj4.c
neededobj5.c
neededobj6.c
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 elf tests to use the support test driver. 2017-04-05 10:34:58 -03:00
nextmod1.c
nextmod2.c
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 elf tests to use the support test driver. 2017-04-05 10:34:58 -03:00
nodelmod1.c
nodelmod2.c
nodelmod3.c
nodelmod4.c
nodlopen2.c
nodlopen.c
nodlopenmod2.c
nodlopenmod.c
noload.c Fix memory leak in dlopen with RTLD_NOLOAD. 2011-02-25 20:49:48 -05:00
order2.c Update elf tests to use the support test driver. 2017-04-05 10:34:58 -03: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
origtest.c
pathoptobj.c
pldd-xx.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
pldd.c Update copyright dates not handled by scripts/update-copyrights. 2018-01-01 00:41:16 +00:00
preloadtest.c
readelflib.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
readlib.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00: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 Update. 2003-01-12 10:11:16 +00:00
reldep6mod0.c
reldep6mod1.c
reldep6mod2.c
reldep6mod3.c
reldep6mod4.c
reldep7.c
reldep7mod1.c
reldep7mod2.c
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
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 dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
rtld.c [Bug 15368] Move pthread_kill to libc and use it to implement raise. 2018-03-26 08:30:46 -04:00
setup-vdso.h Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
sln.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
sofini.c Remove .ctors' and .dtors' output sections 2010-12-24 20:14:37 -05:00
soinit.c Narrowing the visibility of libc-internal.h even further. 2017-03-01 20:33:46 -05:00
sotruss-lib.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
sotruss.sh Update copyright dates not handled by scripts/update-copyrights. 2018-01-01 00:41:16 +00:00
sprof.c Update copyright dates not handled by scripts/update-copyrights. 2018-01-01 00:41:16 +00:00
static-stubs.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
testobj1_1.c
testobj1.c
testobj2.c * sysdeps/generic/ldsodefs.h (_dl_out_of_memory_internal): Remove decl. 2005-03-06 00:08:10 +00:00
testobj3.c
testobj4.c
testobj5.c
testobj6.c PowerPC64 ELFv2 PPC64_OPT_LOCALENTRY 2017-06-14 10:47:25 +09:30
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 dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
tst-_dl_addr_inside_object.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
tst-addr1.c Update elf tests to use the support test driver. 2017-04-05 10:34:58 -03:00
tst-align2.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
tst-align.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
tst-alignmod2.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
tst-alignmod.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +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 Update elf tests to use the support test driver. 2017-04-05 10:34:58 -03:00
tst-audit8.c Skip audit if l_reloc_result is NULL 2012-11-14 15:44:40 -08:00
tst-audit9.c Update elf tests to use the support test driver. 2017-04-05 10:34:58 -03:00
tst-audit11.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
tst-audit11mod1.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
tst-audit11mod2.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
tst-audit11mod2.map Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
tst-audit12.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
tst-audit12mod1.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
tst-audit12mod2.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
tst-audit12mod2.map Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
tst-audit12mod3.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
tst-auditmod1.c Add missing header files throughout the testsuite. 2017-02-16 17:33:18 -05: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-auditmod11.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
tst-auditmod12.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
tst-auxv.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
tst-debug1.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
tst-deep1.c Update elf tests to use the support test driver. 2017-04-05 10:34:58 -03: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. 2018-01-01 00:32:25 +00:00
tst-dlmodcount.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
tst-dlmopen1.c Update elf tests to use the support test driver. 2017-04-05 10:34:58 -03:00
tst-dlmopen1mod.c Update. 2004-10-27 20:27:40 +00:00
tst-dlmopen2.c Update elf tests to use the support test driver. 2017-04-05 10:34:58 -03:00
tst-dlmopen3.c Update elf tests to use the support test driver. 2017-04-05 10:34:58 -03:00
tst-dlopen-aout.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
tst-dlopenrpath.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
tst-dlopenrpathmod.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
tst-dlsym-error.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
tst-env-setuid-tunables.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
tst-env-setuid.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +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 Update elf tests to use the support test driver. 2017-04-05 10:34:58 -03:00
tst-execstack-prog.c Update elf tests to use the support test driver. 2017-04-05 10:34:58 -03:00
tst-execstack.c Update elf tests to use the support test driver. 2017-04-05 10:34:58 -03:00
tst-global1.c Update elf tests to use the support test driver. 2017-04-05 10:34:58 -03:00
tst-gnu2-tls1.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
tst-gnu2-tls1mod.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
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-latepthread.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
tst-latepthreadmod.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
tst-ldconfig-X.sh Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00: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 Fix tst-leaks1 (bug 14681) 2017-12-15 20:22:29 -08:00
tst-libc_dlvsym-dso.c elf: Support dlvsym within libc.so 2018-01-04 18:46:24 +01:00
tst-libc_dlvsym-static.c elf: Support dlvsym within libc.so 2018-01-04 18:46:24 +01:00
tst-libc_dlvsym.c elf: Support dlvsym within libc.so 2018-01-04 18:46:24 +01:00
tst-libc_dlvsym.h elf: Support dlvsym within libc.so 2018-01-04 18:46:24 +01:00
tst-linkall-static.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
tst-main1.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
tst-main1mod.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
tst-nodelete2.c Update elf tests to use the support test driver. 2017-04-05 10:34:58 -03:00
tst-nodelete2mod.c Clear DF_1_NODELETE flag only for failed to load library. 2015-08-11 10:13:22 +02:00
tst-nodelete-dlclose-dso.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
tst-nodelete-dlclose-plugin.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
tst-nodelete-dlclose.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
tst-nodelete-opened-lib.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
tst-nodelete-opened.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
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 Update elf tests to use the support test driver. 2017-04-05 10:34:58 -03:00
tst-noload.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
tst-null-argv-lib.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
tst-null-argv.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +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 Update elf tests to use the support test driver. 2017-04-05 10:34:58 -03:00
tst-pathopt.c Update elf tests to use the support test driver. 2017-04-05 10:34:58 -03:00
tst-pathopt.sh Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +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. 2018-01-01 00:32:25 +00:00
tst-piemod1.c Update elf tests to use the support test driver. 2017-04-05 10:34:58 -03:00
tst-prelink.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
tst-prelink.exp Run tst-prelink test for GLOB_DAT reloc 2015-11-14 12:00:38 -08:00
tst-protected1a.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
tst-protected1b.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
tst-protected1mod.h Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
tst-protected1moda.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
tst-protected1modb.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00: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. 2018-01-01 00:32:25 +00:00
tst-relsort1.c Update elf tests to use the support test driver. 2017-04-05 10:34:58 -03: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. 2018-01-01 00:32:25 +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. 2018-01-01 00:32:25 +00:00
tst-thrlock.c Update elf tests to use the support test driver. 2017-04-05 10:34:58 -03:00
tst-tls1-static-non-pie.c Add a test for non-PIE static executable 2017-09-30 01:39:32 -07:00
tst-tls1-static.c * elf/tst-tls1-static.c: New file. 2002-08-28 10:42:59 +00:00
tst-tls1.c Update elf tests to use the support test driver. 2017-04-05 10:34:58 -03:00
tst-tls2-static.c * elf/tst-tls1-static.c: New file. 2002-08-28 10:42:59 +00:00
tst-tls2.c Update elf tests to use the support test driver. 2017-04-05 10:34:58 -03:00
tst-tls3.c Update elf tests to use the support test driver. 2017-04-05 10:34:58 -03:00
tst-tls4.c Update elf tests to use the support test driver. 2017-04-05 10:34:58 -03:00
tst-tls5.c Update elf tests to use the support test driver. 2017-04-05 10:34:58 -03:00
tst-tls6.c Update elf tests to use the support test driver. 2017-04-05 10:34:58 -03:00
tst-tls7.c Update elf tests to use the support test driver. 2017-04-05 10:34:58 -03:00
tst-tls8.c Update elf tests to use the support test driver. 2017-04-05 10:34:58 -03:00
tst-tls9-static.c 2002-10-21 Roland McGrath <roland@redhat.com> 2002-10-22 06:22:38 +00:00
tst-tls9.c Update elf tests to use the support test driver. 2017-04-05 10:34:58 -03:00
tst-tls10.c Update elf tests to use the support test driver. 2017-04-05 10:34:58 -03:00
tst-tls10.h Don't include tls.h in test cases 2013-10-18 19:45:36 +05:30
tst-tls11.c Update elf tests to use the support test driver. 2017-04-05 10:34:58 -03:00
tst-tls12.c Update elf tests to use the support test driver. 2017-04-05 10:34:58 -03:00
tst-tls13.c Update elf tests to use the support test driver. 2017-04-05 10:34:58 -03:00
tst-tls14.c Update elf tests to use the support test driver. 2017-04-05 10:34:58 -03:00
tst-tls15.c Update elf tests to use the support test driver. 2017-04-05 10:34:58 -03:00
tst-tls16.c Update elf tests to use the support test driver. 2017-04-05 10:34:58 -03:00
tst-tls17.c Update elf tests to use the support test driver. 2017-04-05 10:34:58 -03:00
tst-tls18.c Update elf tests to use the support test driver. 2017-04-05 10:34:58 -03:00
tst-tls19.c Update elf tests to use the support test driver. 2017-04-05 10:34:58 -03: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 Update elf tests to use the support test driver. 2017-04-05 10:34:58 -03:00
tst-tls-manydynamic.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
tst-tls-manydynamic.h Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
tst-tls-manydynamicmod.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
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 Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00: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 Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00: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 Update elf tests to use the support test driver. 2017-04-05 10:34:58 -03:00
tst-unique1mod1.c Remove gnu_unique_object configure test. 2015-10-19 22:34:20 +00:00
tst-unique1mod2.c Remove gnu_unique_object configure test. 2015-10-19 22:34:20 +00:00
tst-unique2.c Update elf tests to use the support test driver. 2017-04-05 10:34:58 -03:00
tst-unique2mod1.c Remove gnu_unique_object configure test. 2015-10-19 22:34:20 +00:00
tst-unique2mod2.c Remove gnu_unique_object configure test. 2015-10-19 22:34:20 +00: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
unload2.c * elf/tst-tls-dlinfo.c: New file. 2006-03-01 06:18:49 +00:00
unload2dep.c
unload2mod.c
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
Versions elf: Support dlvsym within libc.so 2018-01-04 18:46:24 +01:00
vismain.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
vismod1.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
vismod2.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
vismod3.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
vismod.h 2003-03-26 H.J. Lu <hjl@gnu.org> 2003-03-29 03:46:03 +00:00