cvs diff: Diffing . Index: tc-arm.c =================================================================== RCS file: /cvs/src/src/gas/config/tc-arm.c,v retrieving revision 1.391 diff -u -r1.391 tc-arm.c --- tc-arm.c 1 Jul 2009 16:36:27 -0000 1.391 +++ tc-arm.c 31 Jul 2009 05:08:38 -0000 @@ -8605,7 +8697,11 @@ /* If Rn is REG_PC, this is ADR; if Rn is REG_SP, then this is the SP-{plus,minute}-immediate form of the instruction. */ - reject_bad_reg (Rd); + if (Rd == REG_PC) + inst.error = BAD_PC; + if (Rd == REG_SP && Rn != REG_SP) + inst.error = BAD_SP; + /*reject_bad_reg (Rd);*/ inst.instruction |= (Rn << 16) | (Rd << 8); inst.reloc.type = BFD_RELOC_ARM_T32_IMM12;