glibc/ports/sysdeps/arm
Will Newton b7f2d27dbd ARM: Add pointer encryption support.
Add support for pointer encryption in glibc internal structures in C
and assembler code. Pointer encryption is a glibc security feature
described here:

https://sourceware.org/glibc/wiki/PointerEncryption

The ARM implementation uses global variables instead of thread pointer
relative accesses to get the value of the pointer encryption guard
because accessing the thread pointer can be very expensive on older
ARM cores.

ports/ChangeLog.arm:

2013-10-03  Will Newton  <will.newton@linaro.org>

	* sysdeps/arm/__longjmp.S (__longjmp): Demangle fp, sp
	and lr when restoring register values.
	* sysdeps/arm/include/bits/setjmp.h (JMP_BUF_REGLIST): Remove
	sp and lr from list and replace fp with a4.
	* sysdeps/arm/jmpbuf-unwind.h (_jmpbuf_sp): New function.
	(_JMPBUF_UNWINDS_ADJ): Call _jmpbuf_sp.
	* sysdeps/arm/setjmp.S (__sigsetjmp): Mangle fp, sp and lr
	before storing register values.
	* sysdeps/arm/sysdep.h (LDST_GLOBAL): New macro.
	* sysdeps/unix/sysv/linux/arm/sysdep.h (PTR_MANGLE): New macro.
	(PTR_DEMANGLE): Likewise. (PTR_MANGLE2): Likewise.
	(PTR_DEMANGLE2): Likewise.
2013-10-03 11:35:50 +01:00
..
armv6 BZ #15583: r7 uninitialized in strcpy.S when ARM_HAS_T2 undefined 2013-06-05 15:52:01 -07:00
armv6t2 Make __ffs hidden 2013-09-20 21:25:31 +02:00
armv7 ARM: Improve armv7 memcpy performance. 2013-09-16 17:55:28 +01:00
bits Improve atomic locking for ARM. 2013-09-19 18:50:17 +12:00
include/bits ARM: Add pointer encryption support. 2013-10-03 11:35:50 +01:00
nptl ports/sysdeps/arm/nptl/tls.h: Remove TLS_INIT_TP_EXPENSIVE. 2013-09-24 09:29:04 +01:00
soft-fp Make soft-float ARM use soft-fp fma/fmaf. 2013-07-02 19:51:19 +00:00
sys Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
Implies Make soft-float ARM use soft-fp fma/fmaf. 2013-07-02 19:51:19 +00:00
Makefile Link extra-libs consistently with libc and ld.so. 2013-05-31 16:16:33 +00:00
Versions Move all files into ports/ subdirectory in preparation for merge with glibc 2012-07-01 13:06:41 +00:00
__longjmp.S ARM: Add pointer encryption support. 2013-10-03 11:35:50 +01:00
abi-note.S Move all files into ports/ subdirectory in preparation for merge with glibc 2012-07-01 13:06:41 +00:00
add_n.S ARM: sfi_breg assembler macro 2013-03-15 09:31:56 -07:00
addmul_1.S ARM: sfi_breg assembler macro 2013-03-15 09:31:56 -07:00
aeabi_assert.c Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
aeabi_atexit.c Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
aeabi_errno_addr.c Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
aeabi_lcsts.c Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
aeabi_localeconv.c Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
aeabi_math.c Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
aeabi_mb_cur_max.c Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
aeabi_memclr.c Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
aeabi_memcpy.c Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
aeabi_memmove.c Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
aeabi_memset.c Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
aeabi_sighandlers.S Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
aeabi_unwind_cpp_pr1.c Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
arm-features.h ARM: Make armv7 memcpy implementations SFI-friendly 2013-06-18 15:42:56 -07:00
arm-mcount.S sysdeps/arm/arm-mcount.S: Comment typo fix. 2013-06-18 15:58:48 -07:00
backtrace.c Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
bsd-_setjmp.S Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
bsd-setjmp.S Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
configure Use LIBC_CONFIG_VAR for ARM default-abi setting. 2013-03-20 23:15:42 +00:00
configure.in Use LIBC_CONFIG_VAR for ARM default-abi setting. 2013-03-20 23:15:42 +00:00
crti.S arm: Use push/pop mnemonics 2013-03-06 07:46:45 -08:00
crtn.S arm: Use push/pop mnemonics 2013-03-06 07:46:45 -08:00
dl-irel.h Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
dl-lookupcfg.h Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
dl-machine.h ARM: Pass dl_hwcap to IFUNC resolver. 2013-08-29 00:20:35 -04:00
dl-sysdep.h Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
dl-tls.h Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
dl-tlsdesc.S ARM: Add missing sfi_breg prefix in _dl_tlsdesc_dynamic code. 2013-05-06 12:53:55 -07:00
dl-tlsdesc.h Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
dl-trampoline.S arm: Commonize BX conditionals 2013-03-06 07:46:46 -08:00
fclrexcpt.c Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
fedisblxcpt.c Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
feenablxcpt.c Make ARM feenableexcept detect failure (bug 14907). 2013-06-17 17:20:23 +00:00
fegetenv.c Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
fegetexcept.c Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
fegetround.c Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
feholdexcpt.c Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
fesetenv.c Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
fesetround.c Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
feupdateenv.c Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
fgetexcptflg.c Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
find_exidx.c Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
fpu_control.h Fix warnings from ARM soft-float fpu_control.h. 2013-06-18 00:35:03 +00:00
fraiseexcpt.c Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
frame.h Remove __ptrvalue, __bounded and __unbounded. 2013-02-13 23:30:40 +00:00
framestate.c Move all files into ports/ subdirectory in preparation for merge with glibc 2012-07-01 13:06:41 +00:00
fsetexcptflg.c Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
ftestexcept.c Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
gccframe.h Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
get-rounding-mode.h Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
gmp-mparam.h Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
jmpbuf-unwind.h ARM: Add pointer encryption support. 2013-10-03 11:35:50 +01:00
ldsodefs.h Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
libc-tls.c Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
libm-test-ulps Regenerate ARM ulps. 2013-07-02 20:34:19 +00:00
machine-gmon.h Remove trailing whitespace in ports. 2013-06-05 20:26:40 +00:00
math-tests.h Add exception information to math-tests.h and use it in libm-test.inc. 2013-06-11 15:44:31 +00:00
memcpy.S ARM: sfi_breg assembler macro 2013-03-15 09:31:56 -07:00
memmove.S ARM: sfi_breg assembler macro 2013-03-15 09:31:56 -07:00
memset.S ARM: sfi_breg assembler macro 2013-03-15 09:31:56 -07:00
memusage.h Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
preconfigure ARM: fix preconfigure. 2013-03-26 20:53:16 +00:00
preconfigure.in ARM: fix preconfigure. 2013-03-26 20:53:16 +00:00
rtld-global-offsets.sym Move all files into ports/ subdirectory in preparation for merge with glibc 2012-07-01 13:06:41 +00:00
s_fma.c Make soft-float ARM use soft-fp fma/fmaf. 2013-07-02 19:51:19 +00:00
s_fmaf.c Make soft-float ARM use soft-fp fma/fmaf. 2013-07-02 19:51:19 +00:00
setfpucw.c Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
setjmp.S ARM: Add pointer encryption support. 2013-10-03 11:35:50 +01:00
shlib-versions Move all files into ports/ subdirectory in preparation for merge with glibc 2012-07-01 13:06:41 +00:00
sotruss-lib.c Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
stackinfo.h Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
start.S arm: Use push/pop mnemonics 2013-03-06 07:46:45 -08:00
static-stubs.c Add ARM-specific static-stubs.c. 2012-07-05 22:16:03 +00:00
strlen.S ARM: sfi_breg assembler macro 2013-03-15 09:31:56 -07:00
sub_n.S arm: Add optimized add_n and sub_n 2013-03-06 07:47:26 -08:00
submul_1.S ARM: sfi_breg assembler macro 2013-03-15 09:31:56 -07:00
sysdep.h ARM: Add pointer encryption support. 2013-10-03 11:35:50 +01:00
test-fpucw.c Wrap test-fpucw.c for ARM. 2013-06-18 00:30:44 +00:00
tls-macros.h Move all files into ports/ subdirectory in preparation for merge with glibc 2012-07-01 13:06:41 +00:00
tlsdesc.c Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
tlsdesc.sym Move all files into ports/ subdirectory in preparation for merge with glibc 2012-07-01 13:06:41 +00:00
tst-audit.h Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
unwind-dw2-fde-glibc.c Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
unwind-pe.c Move all files into ports/ subdirectory in preparation for merge with glibc 2012-07-01 13:06:41 +00:00