glibc/sysdeps
Carlos O'Donell c92d40c0bc Bug 18125: Call exit after last linked context.
There appears to be a discrepancy among the implementations
of setcontext with regards to the function called once the last
linked-to context has finished executing via setcontext.

The POSIX standard says:
~~~
If the uc_link member of the ucontext_t structure pointed to by
the ucp argument is equal to 0, then this context is the main
context, and the thread will exit when this context returns.
~~~

It says "exit" not "exit immediately" nor "exit without running
functions registered with atexit or on_exit."

Therefore the AArch64, ARM, hppa and NIOS II implementations are
wrong and no test detects it.

It is questionable if this should even be fixed or just documented
that the above 4 targets are wrong. The functions are deprecated
and nobody should be using them, but at the same time it silly to
have cross-target differences that make it hard to port old
applications from say x86_64 to AArch64.

Therefore I will ix the 4 arches, and checkin a regression
test to prevent it from changing again.

https://sourceware.org/ml/libc-alpha/2015-03/msg00720.html
2015-05-08 11:29:38 -04:00
..
aarch64 2015-05-06 Szabolcs Nagy <szabolcs.nagy@arm.com> 2015-05-06 13:00:15 +00:00
alpha alpha: Update libm-test-ulps 2015-04-06 10:38:16 -07:00
arm ARM: Define PI_STATIC_AND_HIDDEN. 2015-04-24 10:51:49 -07:00
generic Add ELF_RTYPE_CLASS_EXTERN_PROTECTED_DATA to x86 2015-03-31 05:16:57 -07:00
gnu hurd: fix unwind-resume.c build 2015-02-08 18:46:00 +01:00
hppa hppa: Fix feupdateenv and fesetexceptflag (Bug 18111). 2015-03-11 02:48:59 -04:00
i386 Add more tests of acosh, atanh, cos, csqrt, erfc, sin, sincos. 2015-05-06 17:30:18 +00:00
ia64 Set errno for log1p on pole/domain error. 2015-04-13 21:19:27 +02:00
ieee754 Fix ldbl-128 roundl for exponents in [31, 47] (bug 18346). 2015-04-28 17:27:02 +00:00
init_array NPTL: Initializer for .init_array-only configurations. 2015-02-13 13:19:11 -08:00
m68k Set errno for log1p on pole/domain error. 2015-04-13 21:19:27 +02:00
mach Fix warnings 2015-03-21 04:49:44 +01:00
microblaze Replace ELF_RTYPE_CLASS_NOCOPY with ELF_RTYPE_CLASS_COPY 2015-03-05 08:40:41 -08:00
mips 2015-02-18 Steve Ellcey <sellcey@imgtec.com> 2015-02-18 10:51:37 -08:00
nacl NaCl: Fix elf_loader file name in nacl-test-wrapper.sh 2015-05-06 12:55:58 -07:00
nios2 Replace ELF_RTYPE_CLASS_NOCOPY with ELF_RTYPE_CLASS_COPY 2015-03-05 08:40:41 -08:00
nptl NPTL: Remove duplicate definition of PTHREAD_ADAPTIVE_MUTEX_INITIALIZER_NP 2015-03-28 01:50:12 -04:00
posix linux: open and openat ignore 'mode' with O_TMPFILE in flags 2015-02-24 13:19:22 +05:30
powerpc libc-vdso.h place consolidation 2015-04-20 08:51:17 -03:00
pthread Fix aio_error thread-safety. 2015-03-06 11:32:24 +01:00
s390 S/390: Regenerate ULPs 2015-04-24 13:37:48 +02:00
sh Replace ELF_RTYPE_CLASS_NOCOPY with ELF_RTYPE_CLASS_COPY 2015-03-05 08:40:41 -08:00
sparc Sparc memchr/memcmp/strncmp fixes from Il'ya Malakhov. 2015-04-17 10:26:14 -07:00
tile tile: Enable PI_STATIC_AND_HIDDEN 2015-04-16 09:40:21 -04:00
unix Bug 18125: Call exit after last linked context. 2015-05-08 11:29:38 -04:00
wordsize-32 Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
wordsize-64 Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
x86 Fix atan / atan2 missing underflows (bug 15319). 2015-02-18 21:10:49 +00:00
x86_64 Add more tests of acosh, atanh, cos, csqrt, erfc, sin, sincos. 2015-05-06 17:30:18 +00:00