From: Roland McGrath Date: Fri, 15 Mar 2013 16:32:16 +0000 (-0700) Subject: ARM: sfi_sp assembler macro X-Git-Tag: upstream/2.30~9342 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=1362a2aa4e6e433f7846c8512cab5a21dd5de46d;p=external%2Fglibc.git ARM: sfi_sp assembler macro --- diff --git a/ports/ChangeLog.arm b/ports/ChangeLog.arm index ff4b15b..f215f02 100644 --- a/ports/ChangeLog.arm +++ b/ports/ChangeLog.arm @@ -1,5 +1,8 @@ 2013-03-15 Roland McGrath + * sysdeps/arm/sysdep.h [!ARM_SFI_MACROS] (sfi_sp): New macro. + * sysdeps/arm/__longjmp.S: Use it. + * sysdeps/arm/sysdep.h [!ARM_SFI_MACROS] (ARM_SFI_MACROS): Define it. (sfi_breg, sfi_pld): New assembler macros. diff --git a/ports/sysdeps/arm/__longjmp.S b/ports/sysdeps/arm/__longjmp.S index 2936a44..8de9fa1 100644 --- a/ports/sysdeps/arm/__longjmp.S +++ b/ports/sysdeps/arm/__longjmp.S @@ -36,7 +36,7 @@ ENTRY (__longjmp) cfi_undefined (r4) CHECK_SP (r4) #endif - sfi_breg ip, \ + sfi_sp sfi_breg ip, \ ldmia \B!, JMP_BUF_REGLIST cfi_restore (v1) cfi_restore (v2) diff --git a/ports/sysdeps/arm/sysdep.h b/ports/sysdeps/arm/sysdep.h index 4917805..83df7eb 100644 --- a/ports/sysdeps/arm/sysdep.h +++ b/ports/sysdeps/arm/sysdep.h @@ -250,6 +250,11 @@ pld [\basereg, \offset] .endm +/* This macro precedes any instruction that directly changes the SP. + It's not needed for push/pop or for any kind of load or store that + implicitly changes the SP via the ! syntax. */ +# define sfi_sp /* Nothing to do. */ + # endif #endif /* __ASSEMBLER__ */