Not sure if this is true on latest binutils, but arm-elf-as 2.16.1 always gives:
<snip>: relocation truncated to fit: R_ARM_PC24 against symbol `fiq_handler' defined in fiq_handler.o even if the assembly goes: .extern fiq_handler Handle_FIQ: /* preserve registers 0 - 7 on the stack*/ stmfd sp!, {r0-r6, r7, lr} /* branch to handler */ sub sp, sp, #4 mov r0, #0 mov r1, #0 ldr r2, L_FIQ_HANDLER mov lr, pc mov pc, r2 L_FIQ_HANDLER: .word fiq_handler That method of loading the register r2 isn't limited to 24 bits as is the bl instruction, so I don't know why my as is complaining. -- Bryce Schober _______________________________________________ bug-binutils mailing list bug-binutils@gnu.org http://lists.gnu.org/mailman/listinfo/bug-binutils