glibc/sysdeps
H.J. Lu ed421fca42 Avoid backtrace from __stack_chk_fail [BZ #12189]
__stack_chk_fail is called on corrupted stack.  Stack backtrace is very
unreliable against corrupted stack.  __libc_message is changed to accept
enum __libc_message_action and call BEFORE_ABORT only if action includes
do_backtrace.  __fortify_fail_abort is added to avoid backtrace from
__stack_chk_fail.

	[BZ #12189]
	* debug/Makefile (CFLAGS-tst-ssp-1.c): New.
	(tests): Add tst-ssp-1 if -fstack-protector works.
	* debug/fortify_fail.c: Include <stdbool.h>.
	(_fortify_fail_abort): New function.
	(__fortify_fail): Call _fortify_fail_abort.
	(__fortify_fail_abort): Add a hidden definition.
	* debug/stack_chk_fail.c: Include <stdbool.h>.
	(__stack_chk_fail): Call __fortify_fail_abort, instead of
	__fortify_fail.
	* debug/tst-ssp-1.c: New file.
	* include/stdio.h (__libc_message_action): New enum.
	(__libc_message): Replace int with enum __libc_message_action.
	(__fortify_fail_abort): New hidden prototype.
	* malloc/malloc.c (malloc_printerr): Update __libc_message calls.
	* sysdeps/posix/libc_fatal.c (__libc_message): Replace int
	with enum __libc_message_action.  Call BEFORE_ABORT only if
	action includes do_backtrace.
	(__libc_fatal): Update __libc_message call.
2017-07-11 07:44:14 -07:00
..
aarch64 tunables, aarch64: New tunable to override cpu 2017-06-30 22:58:39 +05:30
alpha PowerPC64 ELFv2 PPC64_OPT_LOCALENTRY 2017-06-14 10:47:25 +09:30
arm [ARM] Optimise memchr for NEON-enabled processors 2017-06-27 15:43:50 +00:00
generic i386: Increase MALLOC_ALIGNMENT to 16 [BZ #21120] 2017-06-30 09:11:24 -07:00
gnu Regenerate sysdeps/gnu/errlist.c. 2017-06-04 15:27:14 -04:00
hppa Update hppa ulps. 2017-07-09 15:22:41 -04:00
i386 i386: Increase MALLOC_ALIGNMENT to 16 [BZ #21120] 2017-06-30 09:11:24 -07:00
ia64 float128: Add signbit alternative for old compilers 2017-06-30 18:34:29 -03:00
ieee754 float128: Add signbit alternative for old compilers 2017-06-30 18:34:29 -03:00
init_array Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
m68k Rename struct ucontext tag (bug 21457). 2017-06-26 22:03:58 +00:00
mach Remove __need macros from errno.h (__need_Emath, __need_error_t). 2017-06-14 08:14:34 -04:00
microblaze PowerPC64 ELFv2 PPC64_OPT_LOCALENTRY 2017-06-14 10:47:25 +09:30
mips Rename struct ucontext tag (bug 21457). 2017-06-26 22:03:58 +00:00
nios2 PowerPC64 ELFv2 PPC64_OPT_LOCALENTRY 2017-06-14 10:47:25 +09:30
nptl Use generic pthread support on hppa. 2017-07-09 15:01:11 -04:00
posix Avoid backtrace from __stack_chk_fail [BZ #12189] 2017-07-11 07:44:14 -07:00
powerpc powerpc: Clean up strlen and strnlen for power8 2017-07-03 10:46:13 +05:30
pthread Single threaded stdio optimization 2017-07-04 16:05:12 +01:00
s390 Require binutils 2.25 or later to build glibc. 2017-06-28 11:31:50 +00:00
sh PowerPC64 ELFv2 PPC64_OPT_LOCALENTRY 2017-06-14 10:47:25 +09:30
sparc Remove bits/string.h. 2017-06-20 08:21:24 -04:00
tile PowerPC64 ELFv2 PPC64_OPT_LOCALENTRY 2017-06-14 10:47:25 +09:30
unix posix: Add p{read,write}v2 RWF_NOWAIT flag (BZ#21738) 2017-07-11 11:06:44 -03:00
wordsize-32 Build divdi3 only for architecture that required it 2017-04-06 15:14:34 -03:00
wordsize-64 Add missing header files throughout the testsuite. 2017-02-16 17:33:18 -05:00
x86 float128: Add signbit alternative for old compilers 2017-06-30 18:34:29 -03:00
x86_64 x86-64: Test memmove_chk and memset_chk only in libc.so [BZ #21741] 2017-07-10 04:44:38 -07:00