arm-elf-as truncates branch offsets w/o warning
Grant Edwards
grante@visi.com
Thu Mar 16 15:20:00 GMT 2000
> I just noticed that a recent snapshot (000309) of the ARM
> assembler truncates branch offsets without warning. I haven't
> had a chance yet to take look at the ARM assembler source.
There are two different (but related) problems:
1) Legal, non-relocatible branch destinations >= 0x0400,00000
are not handled correctly and bad code is generated with
no error or warning messages.
2) Illegal branches to non-relocatible branch destinations
with offsets >= +/- 0x0200,00000 aren't detected and bad
code is generated (also silently).
So far I've had a look at #1. I can't see a way to fix it
easily, but I've attached a patch to gas/config/tc-arm.c that
will generate an error when a non-relocatible branch destination
is too large for gas to deal with.
I'll work on #2 next.
--
Grant Edwards
grante@visi.com
More information about the Binutils
mailing list