aboutsummaryrefslogtreecommitdiff
path: root/ports
diff options
context:
space:
mode:
authorRichard Henderson <rth@twiddle.net>2013-02-14 21:17:19 -0800
committerRichard Henderson <rth@twiddle.net>2013-03-06 07:46:46 -0800
commit92cc8e332bb3b9b24d2ba581e40d4433594841be (patch)
tree49fe7aaec9a24928dbdf09bb8a291f662cce9460 /ports
parent55668624cf2c1c70ff67d8160f021df1f50fab0e (diff)
downloadglibc-92cc8e332bb3b9b24d2ba581e40d4433594841be.tar
glibc-92cc8e332bb3b9b24d2ba581e40d4433594841be.tar.gz
glibc-92cc8e332bb3b9b24d2ba581e40d4433594841be.tar.bz2
glibc-92cc8e332bb3b9b24d2ba581e40d4433594841be.zip
arm: Delete LOADREGS macro
There was only one user. It's "condition" argument was used for "ia" rather than an actual condition. The apcs26 syntax is almost certainly not needed, given current binutils requirements.
Diffstat (limited to 'ports')
-rw-r--r--ports/ChangeLog.arm3
-rw-r--r--ports/sysdeps/arm/__longjmp.S2
-rw-r--r--ports/sysdeps/arm/sysdep.h4
3 files changed, 4 insertions, 5 deletions
diff --git a/ports/ChangeLog.arm b/ports/ChangeLog.arm
index 8279a3e0de..2276ec5ef6 100644
--- a/ports/ChangeLog.arm
+++ b/ports/ChangeLog.arm
@@ -1,5 +1,8 @@
2013-03-06 Richard Henderson <rth@redhat.com>
+ * sysdeps/arm/__longjmp.S (__longjmp): Use ldmia insn directly.
+ * sysdeps/arm/sysdep.h (LOADREGS): Remove.
+
* sysdeps/arm/arm-mcount.S (_mcount): Use push/pop mnemonics.
* sysdeps/arm/crti.S, sysdeps/arm/crtn.S: Likewise.
* sysdeps/arm/dl-tlsdesc.S: Likewise.
diff --git a/ports/sysdeps/arm/__longjmp.S b/ports/sysdeps/arm/__longjmp.S
index a3a2a8aecb..1d5d56bde6 100644
--- a/ports/sysdeps/arm/__longjmp.S
+++ b/ports/sysdeps/arm/__longjmp.S
@@ -37,7 +37,7 @@ ENTRY (__longjmp)
cfi_undefined (r4)
CHECK_SP (r4)
#endif
- LOADREGS(ia, ip!, {v1-v6, sl, fp, sp, lr})
+ ldmia ip!, {v1-v6, sl, fp, sp, lr}
cfi_restore (v1)
cfi_restore (v2)
cfi_restore (v3)
diff --git a/ports/sysdeps/arm/sysdep.h b/ports/sysdeps/arm/sysdep.h
index d74a32811a..5f6c3f2a45 100644
--- a/ports/sysdeps/arm/sysdep.h
+++ b/ports/sysdeps/arm/sysdep.h
@@ -35,8 +35,6 @@
/* APCS-32 doesn't preserve the condition codes across function call. */
#ifdef __APCS_32__
-#define LOADREGS(cond, base, reglist...)\
- ldm##cond base,reglist
#ifdef __USE_BX__
#define RETINSTR(cond, reg) \
bx##cond reg
@@ -49,8 +47,6 @@
mov pc, _reg
#endif
#else /* APCS-26 */
-#define LOADREGS(cond, base, reglist...)\
- ldm##cond base,reglist^
#define RETINSTR(cond, reg) \
mov##cond##s pc, reg
#define DO_RET(_reg) \