From d7706c32589ef32f4bed3122a2f5c861b214149e Mon Sep 17 00:00:00 2001 From: Roland McGrath Date: Tue, 11 Mar 2014 10:59:01 -0700 Subject: ARM: Fix up setjmp/longjmp changes sfi_* macro use. --- sysdeps/arm/__longjmp.S | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) (limited to 'sysdeps/arm/__longjmp.S') diff --git a/sysdeps/arm/__longjmp.S b/sysdeps/arm/__longjmp.S index 08521e5374..27d1b713de 100644 --- a/sysdeps/arm/__longjmp.S +++ b/sysdeps/arm/__longjmp.S @@ -38,22 +38,27 @@ ENTRY (__longjmp) #endif #ifdef PTR_DEMANGLE - ldr a4, [ip], #4 + sfi_breg ip, \ + ldr a4, [\B], #4 PTR_DEMANGLE (a4, a4, a3, r4) cfi_undefined (r4) - ldr r4, [ip], #4 + sfi_breg ip, \ + ldr r4, [\B], #4 PTR_DEMANGLE2 (r4, r4, a3) #else - ldr a4, [ip], #4 - ldr r4, [ip], #4 + sfi_breg ip, \ + ldr a4, [\B], #4 + sfi_breg ip, \ + ldr r4, [\B], #4 cfi_undefined (r4) #endif /* longjmp probe expects longjmp first argument (4@r0), second argument (-4@r1), and target address (4@r4), respectively. */ LIBC_PROBE (longjmp, 3, 4@r0, -4@r1, 4@r4) + sfi_sp \ mov sp, a4 mov lr, r4 - sfi_sp sfi_breg ip, \ + sfi_breg ip, \ ldmia \B!, JMP_BUF_REGLIST cfi_restore (v1) cfi_restore (v2) -- cgit 1.4.1