diff options
author | Tom Tromey <tromey@redhat.com> | 2014-01-20 12:58:03 +0000 |
---|---|---|
committer | Marcus Shawcroft <marcus.shawcroft@linaro.org> | 2014-01-20 15:44:05 +0000 |
commit | 3a3acb6afc753475675b5724f206e619d0c9590d (patch) | |
tree | 17c565f3ad7d09d9890e42495ab3fc9cf20229b9 | |
parent | b67e7fe0f9f9b0f6c4386a0eccba83178098438c (diff) | |
download | glibc-3a3acb6afc753475675b5724f206e619d0c9590d.zip glibc-3a3acb6afc753475675b5724f206e619d0c9590d.tar.gz glibc-3a3acb6afc753475675b5724f206e619d0c9590d.tar.bz2 |
[AArch64] BZ #16169 Add CFI directives to clone.S
[BZ #16169] Add CFI directives to the AArch64 clone.S implementation
and ensure that the FP in the child is zero'd in order to comply with
AAPCS.
-rw-r--r-- | NEWS | 8 | ||||
-rw-r--r-- | ports/ChangeLog.aarch64 | 6 | ||||
-rw-r--r-- | ports/sysdeps/unix/sysv/linux/aarch64/clone.S | 7 |
3 files changed, 16 insertions, 5 deletions
@@ -22,10 +22,10 @@ Version 2.19 15919, 15921, 15923, 15939, 15941, 15948, 15963, 15966, 15985, 15988, 15997, 16032, 16034, 16036, 16037, 16038, 16041, 16055, 16071, 16072, 16074, 16077, 16078, 16103, 16112, 16133, 16143, 16144, 16146, 16150, - 16151, 16153, 16167, 16172, 16195, 16214, 16245, 16271, 16274, 16283, - 16289, 16293, 16314, 16316, 16330, 16337, 16338, 16356, 16365, 16366, - 16369, 16372, 16375, 16379, 16384, 16385, 16386, 16387, 16390, 16394, - 16400, 16407, 16408, 16414, 16430, 16453. + 16151, 16153, 16167, 16169, 16172, 16195, 16214, 16245, 16271, 16274, + 16283, 16289, 16293, 16314, 16316, 16330, 16337, 16338, 16356, 16365, + 16366, 16369, 16372, 16375, 16379, 16384, 16385, 16386, 16387, 16390, + 16394, 16400, 16407, 16408, 16414, 16430, 16453. * Slovenian translations for glibc messages have been contributed by the Translation Project's Slovenian team of translators. diff --git a/ports/ChangeLog.aarch64 b/ports/ChangeLog.aarch64 index 19d8fe1..f11a086 100644 --- a/ports/ChangeLog.aarch64 +++ b/ports/ChangeLog.aarch64 @@ -1,3 +1,9 @@ +2014-01-20 Tom Tromey <tromey@redhat.com> + + [BZ #16169] + * sysdeps/unix/sysv/linux/aarch64/clone.S (__clone): Add CFI + directives; Zero x29. + 2014-01-20 Marcus Shawcroft <marcus.shawcroft@linaro.org> * sysdeps/aarch64/configure.ac: New file. diff --git a/ports/sysdeps/unix/sysv/linux/aarch64/clone.S b/ports/sysdeps/unix/sysv/linux/aarch64/clone.S index 2ca8021..f2964f4 100644 --- a/ports/sysdeps/unix/sysv/linux/aarch64/clone.S +++ b/ports/sysdeps/unix/sysv/linux/aarch64/clone.S @@ -63,6 +63,7 @@ ENTRY(__clone) mov x8, #SYS_ify(clone) /* X0:flags, x1:newsp, x2:parenttidptr, x3:newtls, x4:childtid. */ svc 0x0 + cfi_endproc cmp x0, #0 beq 2f blt 3f @@ -72,6 +73,9 @@ ENTRY(__clone) b syscall_error 2: + cfi_startproc + cfi_undefined (x30) + mov x29, 0 #ifdef RESET_PID tbnz x5, #CLONE_THREAD_BIT, 3f mov x0, #-1 @@ -93,7 +97,8 @@ ENTRY(__clone) /* We are done, pass the return value through x0. */ b HIDDEN_JUMPTARGET(_exit) - + cfi_endproc + cfi_startproc PSEUDO_END (__clone) weak_alias (__clone, clone) |