diff options
author | Tulio Magno Quites Machado Filho <tuliom@linux.ibm.com> | 2018-12-12 10:41:52 -0200 |
---|---|---|
committer | Tulio Magno Quites Machado Filho <tuliom@linux.ibm.com> | 2018-12-12 10:56:51 -0200 |
commit | 1d880d4a9bf7608c2cd33bbe954ce6995f79121a (patch) | |
tree | 30ee9a9cd3a51541e744d347da6e894112462328 /sysdeps/powerpc/powerpc64/addmul_1.S | |
parent | 1a502f5260f1513b9ba38b68d8087e48bc0ede0c (diff) | |
download | glibc-1d880d4a9bf7608c2cd33bbe954ce6995f79121a.tar.gz glibc-1d880d4a9bf7608c2cd33bbe954ce6995f79121a.tar.xz glibc-1d880d4a9bf7608c2cd33bbe954ce6995f79121a.zip |
powerpc: Add missing CFI register information (bug #23614)
Add CFI information about the offset of registers stored in the stack frame. [BZ #23614] * sysdeps/powerpc/powerpc64/addmul_1.S (FUNC): Add CFI offset for registers saved in the stack frame. * sysdeps/powerpc/powerpc64/lshift.S (__mpn_lshift): Likewise. * sysdeps/powerpc/powerpc64/mul_1.S (__mpn_mul_1): Likewise. Signed-off-by: Tulio Magno Quites Machado Filho <tuliom@linux.ibm.com> Reviewed-by: Gabriel F. T. Gomes <gabriel@inconstante.eti.br>
Diffstat (limited to 'sysdeps/powerpc/powerpc64/addmul_1.S')
-rw-r--r-- | sysdeps/powerpc/powerpc64/addmul_1.S | 31 |
1 files changed, 21 insertions, 10 deletions
diff --git a/sysdeps/powerpc/powerpc64/addmul_1.S b/sysdeps/powerpc/powerpc64/addmul_1.S index 48e3b1b290..e450d6a52c 100644 --- a/sysdeps/powerpc/powerpc64/addmul_1.S +++ b/sysdeps/powerpc/powerpc64/addmul_1.S @@ -34,16 +34,27 @@ #define N r5 #define VL r6 +#define R27SAVE (-40) +#define R28SAVE (-32) +#define R29SAVE (-24) +#define R30SAVE (-16) +#define R31SAVE (-8) + ENTRY_TOCLESS (FUNC, 5) - std r31, -8(r1) + std r31, R31SAVE(r1) rldicl. r0, N, 0, 62 - std r30, -16(r1) + std r30, R30SAVE(r1) cmpdi VL, r0, 2 - std r29, -24(r1) + std r29, R29SAVE(r1) addi N, N, 3 - std r28, -32(r1) + std r28, R28SAVE(r1) srdi N, N, 2 - std r27, -40(r1) + std r27, R27SAVE(r1) + cfi_offset(r31, R31SAVE) + cfi_offset(r30, R30SAVE) + cfi_offset(r29, R29SAVE) + cfi_offset(r28, R28SAVE) + cfi_offset(r27, R27SAVE) mtctr N beq cr0, L(b00) blt cr6, L(b01) @@ -199,10 +210,10 @@ L(end): mulld r0, r9, VL addic r11, r11, 1 #endif addze RP, r8 - ld r31, -8(r1) - ld r30, -16(r1) - ld r29, -24(r1) - ld r28, -32(r1) - ld r27, -40(r1) + ld r31, R31SAVE(r1) + ld r30, R30SAVE(r1) + ld r29, R29SAVE(r1) + ld r28, R28SAVE(r1) + ld r27, R27SAVE(r1) blr END(FUNC) |