diff options
author | Richard Henderson <rth@twiddle.net> | 2013-02-14 21:00:14 -0800 |
---|---|---|
committer | Richard Henderson <rth@twiddle.net> | 2013-03-06 07:46:45 -0800 |
commit | 55668624cf2c1c70ff67d8160f021df1f50fab0e (patch) | |
tree | 8c8090e169aa1eb36f4dd3ab11f65d0a0790a5d4 /ports/sysdeps/arm/sysdep.h | |
parent | 5ff5dfe748c0585bb43e9d16fea9d89dc3bf2b9b (diff) | |
download | glibc-55668624cf2c1c70ff67d8160f021df1f50fab0e.zip glibc-55668624cf2c1c70ff67d8160f021df1f50fab0e.tar.gz glibc-55668624cf2c1c70ff67d8160f021df1f50fab0e.tar.bz2 |
arm: Use push/pop mnemonics
For arm this makes no difference--the result is bit-for-bit identical;
for thumb this results in smaller encodings. Perhaps it ought not and
this is in fact an assembler bug, but I also think it's clearer.
Diffstat (limited to 'ports/sysdeps/arm/sysdep.h')
-rw-r--r-- | ports/sysdeps/arm/sysdep.h | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/ports/sysdeps/arm/sysdep.h b/ports/sysdeps/arm/sysdep.h index d855ceb..d74a328 100644 --- a/ports/sysdeps/arm/sysdep.h +++ b/ports/sysdeps/arm/sysdep.h @@ -80,7 +80,7 @@ /* Call __gnu_mcount_nc if GCC >= 4.4. */ #if __GNUC_PREREQ(4,4) #define CALL_MCOUNT \ - str lr,[sp, #-4]!; \ + push {lr}; \ cfi_adjust_cfa_offset (4); \ cfi_rel_offset (lr, 0); \ bl PLTJMP(mcount); \ @@ -88,11 +88,11 @@ cfi_restore (lr) #else /* else call _mcount */ #define CALL_MCOUNT \ - str lr,[sp, #-4]!; \ + push {lr}; \ cfi_adjust_cfa_offset (4); \ cfi_rel_offset (lr, 0); \ bl PLTJMP(mcount); \ - ldr lr, [sp], #4; \ + pops {lr}; \ cfi_adjust_cfa_offset (-4); \ cfi_restore (lr) #endif |