[AArch64] Ensure getcontext() initializes PSTATE.
authorMarcus Shawcroft <marcus.shawcroft@linaro.org>
Tue, 4 Jun 2013 09:05:08 +0000 (10:05 +0100)
committerMarcus Shawcroft <marcus.shawcroft@linaro.org>
Tue, 4 Jun 2013 09:13:59 +0000 (10:13 +0100)
ports/ChangeLog.aarch64
ports/sysdeps/unix/sysv/linux/aarch64/getcontext.S
ports/sysdeps/unix/sysv/linux/aarch64/ucontext_i.sym

index 46def45..382ecdb 100644 (file)
@@ -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]
index eea6867..c370957 100644 (file)
@@ -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
index 1afff78..ab3930c 100644 (file)
@@ -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)