glibc/sysdeps
Adhemerval Zanella 5fb7fc9635 posix: Use posix_spawn on system
This patch uses posix_spawn on system implementation.  On Linux this has
the advantage of much lower memory consumption (usually 32 Kb minimum for
the mmap stack area).

Although POSIX does not require, glibc system implementation aims to be
thread and cancellation safe.  The cancellation code is moved to generic
implementation and enabled iff SIGCANCEL is defined (similar on how the
cancellation handler is enabled on nptl-init.c).

Checked on x86_64-linux-gnu, i686-linux-gnu, aarch64-linux-gnu,
arm-linux-gnueabihf, and powerpc64le-linux-gnu.

	* sysdeps/unix/sysv/linux/spawni.c (__spawni_child): Use
	__sigismember instead of sigismember.
	* sysdeps/posix/system.c [SIGCANCEL] (cancel_handler_args,
	cancel_handler): New definitions.
	(CLEANUP_HANDLER, CLEANUP_RESET): Likewise.
	(DO_LOCK, DO_UNLOCK, INIT_LOCK, ADD_REF, SUB_REF): Remove.
	(do_system): Use posix_spawn instead of fork and execl and remove
	reentracy code.
	* sysdeps/generic/not-errno.h (__kill_noerrno): New prototype.
	* sysdeps/unix/sysv/linux/not-errno.h (__kill_noerrno): Likewise.
	* sysdeps/unix/sysv/linux/ia64/system.c: Remove file.
	* sysdeps/unix/sysv/linux/s390/system.c: Likewise.
	* sysdeps/unix/sysv/linux/sparc/system.c: Likewise.
	* sysdeps/unix/sysv/linux/system.c: Likewise.
2018-11-30 18:42:05 -02:00
..
aarch64 [AArch64] Adjust writeback in non-zero memset 2018-11-20 12:37:00 +00:00
alpha Use copysign functions not __copysign functions in glibc libm. 2018-09-27 20:04:48 +00:00
arm Fix armv7 build with GCC 9. 2018-11-12 23:59:29 +00:00
generic posix: Use posix_spawn on system 2018-11-30 18:42:05 -02:00
gnu hurd: Fix build 2018-10-31 09:17:05 +01:00
hppa Move SNAN_TESTS_PRESERVE_PAYLOAD out of math-tests.h. 2018-08-01 11:21:16 +00:00
htl hurd: Avoid PLTs for __pthread_get/setspecific 2018-08-09 01:28:55 +02:00
hurd Fix ISO C threads installed header and HURD assumption 2018-07-25 17:27:45 -03:00
i386 Remove the error handling wrapper from pow 2018-11-21 09:58:36 +00:00
ia64 Remove the error handling wrapper from pow 2018-11-21 09:58:36 +00:00
ieee754 Remove the error handling wrapper from pow 2018-11-21 09:58:36 +00:00
init_array sysdeps/init_array: Add PREINIT_FUNCTION to crti.S 2018-01-29 10:22:26 -08:00
m68k Remove the error handling wrapper from pow 2018-11-21 09:58:36 +00:00
mach hurd: Fix returning value for fcntl(F_*LK*) 2018-11-30 02:41:50 +01:00
microblaze Mark _init and _fini as hidden [BZ #23145] 2018-06-08 10:28:52 -07:00
mips Fix mips build with GCC 9. 2018-11-13 01:55:15 +00:00
nios2 Move EXCEPTION_TESTS_* out of math-tests.h 2018-08-23 23:41:13 +00:00
nptl Fix race in pthread_mutex_lock while promoting to PTHREAD_MUTEX_ELISION_NP [BZ #23275] 2018-10-17 12:23:04 +02:00
posix posix: Use posix_spawn on system 2018-11-30 18:42:05 -02:00
powerpc Add hidden_tls_def macros, fix powerpc-soft build with GCC 9. 2018-11-13 01:53:53 +00:00
pthread hurd: fix sigevent's sigev_notify_attributes field type 2018-04-19 21:43:44 +02:00
riscv RISC-V: properly terminate call chain (bug 23125) 2018-10-30 12:07:25 +01:00
s390 S390: Regenerate ULPs. 2018-11-28 15:20:18 +01:00
sh Update SH libm-tests-ulps 2018-07-31 10:33:53 -03:00
sparc Fix sparc64 build with GCC 9. 2018-11-13 00:27:06 +00:00
unix posix: Use posix_spawn on system 2018-11-30 18:42:05 -02:00
wordsize-32 Use libc_hidden_* for strtoumax (bug 15105). 2018-02-28 14:16:21 +00:00
wordsize-64 Don't reduce test timeout to less than default 2018-10-17 09:34:13 +02:00
x86 x86/CET: Add a re-exec test with legacy bitmap 2018-11-23 07:31:07 -08:00
x86_64 Remove the error handling wrapper from pow 2018-11-21 09:58:36 +00:00