glibc/sysdeps/unix
H.J. Lu faaee1f07e x86: Support shadow stack pointer in setjmp/longjmp
Save and restore shadow stack pointer in setjmp and longjmp to support
shadow stack in Intel CET.  Use feature_1 in tcbhead_t to check if
shadow stack is enabled before saving and restoring shadow stack pointer.

Reviewed-by: Carlos O'Donell <carlos@redhat.com>

	* sysdeps/i386/__longjmp.S: Include <jmp_buf-ssp.h>.
	(__longjmp): Restore shadow stack pointer if shadow stack is
	enabled, SHADOW_STACK_POINTER_OFFSET is defined and __longjmp
	isn't defined for __longjmp_cancel.
	* sysdeps/i386/bsd-_setjmp.S: Include <jmp_buf-ssp.h>.
	(_setjmp): Save shadow stack pointer if shadow stack is enabled
	and SHADOW_STACK_POINTER_OFFSET is defined.
	* sysdeps/i386/bsd-setjmp.S: Include <jmp_buf-ssp.h>.
	(setjmp): Save shadow stack pointer if shadow stack is enabled
	and SHADOW_STACK_POINTER_OFFSET is defined.
	* sysdeps/i386/setjmp.S: Include <jmp_buf-ssp.h>.
	(__sigsetjmp): Save shadow stack pointer if shadow stack is
	enabled and SHADOW_STACK_POINTER_OFFSET is defined.
	* sysdeps/unix/sysv/linux/i386/____longjmp_chk.S: Include
	<jmp_buf-ssp.h>.
	(____longjmp_chk): Restore shadow stack pointer if shadow stack
	is enabled and SHADOW_STACK_POINTER_OFFSET is defined.
	* sysdeps/unix/sysv/linux/x86/Makefile (gen-as-const-headers):
	Remove jmp_buf-ssp.sym.
	* sysdeps/unix/sysv/linux/x86_64/____longjmp_chk.S: Include
	<jmp_buf-ssp.h>.
	(____longjmp_chk): Restore shadow stack pointer if shadow stack
	is enabled and SHADOW_STACK_POINTER_OFFSET is defined.
	* sysdeps/x86/Makefile (gen-as-const-headers): Add
	jmp_buf-ssp.sym.
	* sysdeps/x86/jmp_buf-ssp.sym: New dummy file.
	* sysdeps/x86_64/__longjmp.S: Include <jmp_buf-ssp.h>.
	(__longjmp): Restore shadow stack pointer if shadow stack is
	enabled, SHADOW_STACK_POINTER_OFFSET is defined and __longjmp
	isn't defined for __longjmp_cancel.
	* sysdeps/x86_64/setjmp.S: Include <jmp_buf-ssp.h>.
	(__sigsetjmp): Save shadow stack pointer if shadow stack is
	enabled and SHADOW_STACK_POINTER_OFFSET is defined.
2018-07-14 05:59:53 -07:00
..
alpha Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
arm Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
bsd hurd: Avoid some PLTs in libc and librt 2018-04-02 19:07:52 +00:00
i386 Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
inet Switch IDNA implementation to libidn2 [BZ #19728] [BZ #19729] [BZ #22247] 2018-05-23 15:27:24 +02:00
mips Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
powerpc Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
sh Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
sysv/linux x86: Support shadow stack pointer in setjmp/longjmp 2018-07-14 05:59:53 -07:00
x86_64 Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
clock_gettime.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
clock_nanosleep.c hurd: Avoid some PLTs in libc and librt 2018-04-02 19:07:52 +00:00
clock_settime.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
confstr.h
get_child_max.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
getlogin_r.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
getlogin.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
getpagesize.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
grantpt.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
ifreq.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
Implies
make-syscalls.sh Make llseek a compat symbol (bug 18471). 2018-05-22 15:44:01 +00:00
Makefile Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
pt-fcntl.c Fix Linux fcntl OFD locks for non-LFS architectures (BZ#20251) 2018-06-26 13:22:53 -03:00
s-proto-cancel.S
s-proto.S
setxid.h
sockatmark.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
stime.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
syscall-template.S Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
syscall.S Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
syscalls.list posix: Consolidate Linux fsync syscall 2017-05-18 18:06:47 -03:00
sysdep.h Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00