glibc/ports/sysdeps
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
..
aarch64 [AArch64] Support __mcount profiling. 2013-09-24 13:03:02 +01:00
alpha Make __ffs hidden 2013-09-20 21:25:31 +02:00
am33 Fix typos. 2013-08-21 19:48:48 +02:00
arm ARM: Add pointer encryption support. 2013-10-03 11:35:50 +01:00
hppa Fix typos. 2013-08-21 19:48:48 +02:00
ia64 BZ #15754: CVE-2013-4788 2013-09-23 00:52:09 -04:00
m68k Make __ffs hidden 2013-09-20 21:25:31 +02:00
microblaze Fix executable mode. 2013-06-06 02:15:33 +02:00
mips 2013-09-23 Steve Ellcey <sellcey@mips.com> 2013-09-23 09:58:30 -07:00
powerpc Fix typos. 2013-08-30 18:08:59 +02:00
tile BZ #15754: CVE-2013-4788 2013-09-23 00:52:09 -04:00
unix ARM: Add pointer encryption support. 2013-10-03 11:35:50 +01:00