diff options
-rw-r--r-- | ChangeLog | 8 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/aarch64/getcontext.S | 8 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/aarch64/setcontext.S | 8 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/aarch64/swapcontext.S | 8 |
4 files changed, 20 insertions, 12 deletions
diff --git a/ChangeLog b/ChangeLog index 4c6a747ef5..1c9a42fef8 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,11 @@ +2015-07-06 Szabolcs Nagy <szabolcs.nagy@arm.com> + + * sysdeps/unix/sysv/linux/aarch64/getcontext.S (__getcontext): Use q + registers instead of d ones so the layout is kernel abi compatible. + * sysdeps/unix/sysv/linux/aarch64/setcontext.S (__setcontext): Likewise. + * sysdeps/unix/sysv/linux/aarch64/swapcontext.S (__swapcontext): + Likewise. + 2015-07-02 Szabolcs Nagy <szabolcs.nagy@arm.com> * sysdeps/aarch64/libm-test-ulps: Regenerated. diff --git a/sysdeps/unix/sysv/linux/aarch64/getcontext.S b/sysdeps/unix/sysv/linux/aarch64/getcontext.S index adf8037291..b72436fd08 100644 --- a/sysdeps/unix/sysv/linux/aarch64/getcontext.S +++ b/sysdeps/unix/sysv/linux/aarch64/getcontext.S @@ -69,10 +69,10 @@ ENTRY(__getcontext) /* Fill in the FP SIMD context. */ add x3, x2, #oV0 + 8 * SZVREG - stp d8, d9, [x3], # 2 * SZVREG - stp d10, d11, [x3], # 2 * SZVREG - stp d12, d13, [x3], # 2 * SZVREG - stp d14, d15, [x3], # 2 * SZVREG + stp q8, q9, [x3], # 2 * SZVREG + stp q10, q11, [x3], # 2 * SZVREG + stp q12, q13, [x3], # 2 * SZVREG + stp q14, q15, [x3], # 2 * SZVREG add x3, x2, oFPSR diff --git a/sysdeps/unix/sysv/linux/aarch64/setcontext.S b/sysdeps/unix/sysv/linux/aarch64/setcontext.S index ae67581660..8d926f7989 100644 --- a/sysdeps/unix/sysv/linux/aarch64/setcontext.S +++ b/sysdeps/unix/sysv/linux/aarch64/setcontext.S @@ -97,10 +97,10 @@ ENTRY (__setcontext) /* Restore the FP SIMD context. */ add x3, x2, #oV0 + 8 * SZVREG - ldp d8, d9, [x3], #2 * SZVREG - ldp d10, d11, [x3], #2 * SZVREG - ldp d12, d13, [x3], #2 * SZVREG - ldp d14, d15, [x3], #2 * SZVREG + ldp q8, q9, [x3], #2 * SZVREG + ldp q10, q11, [x3], #2 * SZVREG + ldp q12, q13, [x3], #2 * SZVREG + ldp q14, q15, [x3], #2 * SZVREG add x3, x2, oFPSR diff --git a/sysdeps/unix/sysv/linux/aarch64/swapcontext.S b/sysdeps/unix/sysv/linux/aarch64/swapcontext.S index f62fc11bdc..05ad8d3d9a 100644 --- a/sysdeps/unix/sysv/linux/aarch64/swapcontext.S +++ b/sysdeps/unix/sysv/linux/aarch64/swapcontext.S @@ -54,10 +54,10 @@ ENTRY(__swapcontext) /* Fill in the FP SIMD context. */ add x3, x2, #oV0 + 8 * SZVREG - stp d8, d9, [x3], #2 * SZVREG - stp d10, d11, [x3], #2 * SZVREG - stp d12, d13, [x3], #2 * SZVREG - stp d14, d15, [x3], #2 * SZVREG + stp q8, q9, [x3], #2 * SZVREG + stp q10, q11, [x3], #2 * SZVREG + stp q12, q13, [x3], #2 * SZVREG + stp q14, q15, [x3], #2 * SZVREG add x3, x2, #oFPSR |