From: Richard Henderson Date: Fri, 15 Feb 2013 05:17:19 +0000 (-0800) Subject: arm: Delete LOADREGS macro X-Git-Tag: glibc-2.18~594 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=92cc8e332bb3b9b24d2ba581e40d4433594841be;p=thirdparty%2Fglibc.git 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. --- diff --git a/ports/ChangeLog.arm b/ports/ChangeLog.arm index 8279a3e0de4..2276ec5ef61 100644 --- a/ports/ChangeLog.arm +++ b/ports/ChangeLog.arm @@ -1,5 +1,8 @@ 2013-03-06 Richard Henderson + * 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 a3a2a8aecb4..1d5d56bde65 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 d74a32811a5..5f6c3f2a45c 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) \