diff options
author | Marcus Shawcroft <marcus.shawcroft@linaro.org> | 2013-06-04 10:05:08 +0100 |
---|---|---|
committer | Marcus Shawcroft <marcus.shawcroft@linaro.org> | 2013-06-04 10:13:59 +0100 |
commit | 6e445a3d2bdf152ebf57d1c92bfea1828e070743 (patch) | |
tree | 851ba22f1e4ffddff7dce72da9aff992d24d8b47 | |
parent | d180203e97cbe53e0117c9405d68f51e80dafd95 (diff) | |
download | glibc-6e445a3d2bdf152ebf57d1c92bfea1828e070743.tar glibc-6e445a3d2bdf152ebf57d1c92bfea1828e070743.tar.gz glibc-6e445a3d2bdf152ebf57d1c92bfea1828e070743.tar.bz2 glibc-6e445a3d2bdf152ebf57d1c92bfea1828e070743.zip |
[AArch64] Ensure getcontext() initializes PSTATE.
-rw-r--r-- | ports/ChangeLog.aarch64 | 6 | ||||
-rw-r--r-- | ports/sysdeps/unix/sysv/linux/aarch64/getcontext.S | 4 | ||||
-rw-r--r-- | ports/sysdeps/unix/sysv/linux/aarch64/ucontext_i.sym | 1 |
3 files changed, 11 insertions, 0 deletions
diff --git a/ports/ChangeLog.aarch64 b/ports/ChangeLog.aarch64 index 46def45f61..382ecdbdc4 100644 --- a/ports/ChangeLog.aarch64 +++ b/ports/ChangeLog.aarch64 @@ -1,3 +1,9 @@ +2013-06-04 Marcus Shawcroft <marcus.shawcroft@linaro.org> + + * sysdeps/unix/sysv/linux/aarch64/getcontext.S (__getcontext): + Initialize pstate. + * sysdeps/unix/sysv/linux/aarch64/ucontext_i.sym (oPSTATE): Define. + 2013-05-29 Siddhesh Poyarekar <siddhesh@redhat.com> [BZ #15465] diff --git a/ports/sysdeps/unix/sysv/linux/aarch64/getcontext.S b/ports/sysdeps/unix/sysv/linux/aarch64/getcontext.S index eea6867f9b..c3709575bc 100644 --- a/ports/sysdeps/unix/sysv/linux/aarch64/getcontext.S +++ b/ports/sysdeps/unix/sysv/linux/aarch64/getcontext.S @@ -53,6 +53,10 @@ ENTRY(__getcontext) mov x2, sp str x2, [x0, oSP] + /* Initialize the pstate. */ + mov x3, #0 + str x3, [x0, oPSTATE] + /* Figure out where to place the first context extension block. */ add x2, x0, #oEXTENSION diff --git a/ports/sysdeps/unix/sysv/linux/aarch64/ucontext_i.sym b/ports/sysdeps/unix/sysv/linux/aarch64/ucontext_i.sym index 1afff78687..ab3930c173 100644 --- a/ports/sysdeps/unix/sysv/linux/aarch64/ucontext_i.sym +++ b/ports/sysdeps/unix/sysv/linux/aarch64/ucontext_i.sym @@ -37,6 +37,7 @@ STACK_FLAGS stack (ss_flags) oX0 mcontext (regs) oSP mcontext (sp) oPC mcontext (pc) +oPSTATE mcontext (pstate) oEXTENSION mcontext (__reserved) #define fpsimd_context(member) offsetof (struct fpsimd_context, member) |