about summary refs log tree commit diff
path: root/ports/sysdeps/arm/arm-mcount.S
diff options
context:
space:
mode:
authorRichard Henderson <rth@twiddle.net>2013-02-14 21:00:14 -0800
committerRichard Henderson <rth@twiddle.net>2013-03-06 07:46:45 -0800
commit55668624cf2c1c70ff67d8160f021df1f50fab0e (patch)
tree8c8090e169aa1eb36f4dd3ab11f65d0a0790a5d4 /ports/sysdeps/arm/arm-mcount.S
parent5ff5dfe748c0585bb43e9d16fea9d89dc3bf2b9b (diff)
downloadglibc-55668624cf2c1c70ff67d8160f021df1f50fab0e.tar.gz
glibc-55668624cf2c1c70ff67d8160f021df1f50fab0e.tar.xz
glibc-55668624cf2c1c70ff67d8160f021df1f50fab0e.zip
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/arm-mcount.S')
-rw-r--r--ports/sysdeps/arm/arm-mcount.S6
1 files changed, 3 insertions, 3 deletions
diff --git a/ports/sysdeps/arm/arm-mcount.S b/ports/sysdeps/arm/arm-mcount.S
index 679d042ba4..b6e5ec78a1 100644
--- a/ports/sysdeps/arm/arm-mcount.S
+++ b/ports/sysdeps/arm/arm-mcount.S
@@ -69,7 +69,7 @@ END(__gnu_mcount_nc)
    code be compiled with APCS frame pointers.  */
 
 ENTRY(_mcount)
-	stmdb sp!, {r0, r1, r2, r3, fp, lr}
+	push	{r0, r1, r2, r3, fp, lr}
 	cfi_adjust_cfa_offset (24)
 	cfi_rel_offset (r0, 0)
 	cfi_rel_offset (r1, 4)
@@ -83,9 +83,9 @@ ENTRY(_mcount)
 	movsne r1, lr
 	blne __mcount_internal
 #ifdef __thumb2__
-	ldmia sp!, {r0, r1, r2, r3, fp, pc}
+	pop	{r0, r1, r2, r3, fp, pc}
 #else
-	ldmia sp!, {r0, r1, r2, r3, fp, lr}
+	pop	{r0, r1, r2, r3, fp, lr}
 	cfi_adjust_cfa_offset (-24)
 	cfi_restore (r0)
 	cfi_restore (r1)