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
[email protected]
http://lists.gnu.org/mailman/listinfo/bug-binutils