This is the mail archive of the
binutils@sourceware.cygnus.com
mailing list for the binutils project.
Re: arm-elf-as truncates branch offsets w/o warning
- To: Grant Edwards <grante at visi dot com>
- Subject: Re: arm-elf-as truncates branch offsets w/o warning
- From: Scott Bambrough <scottb at netwinder dot org>
- Date: Thu, 16 Mar 2000 18:17:37 -0500
- CC: binutils at sourceware dot cygnus dot com
- Organization: Rebel.com
- References: <20000316102708.A18044@visi.com> <20000316171956.A5344@visi.com>
Hi Grant,
Would you have a testcase for this as well?
Scott
Grant Edwards wrote:
>
> > 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
>
> --------------------------------------------------------------------------------
>
> gas-tc-arm.patchName: gas-tc-arm.patch
> Type: Plain Text (text/plain)
--
Scott Bambrough - Software Engineer
REBEL.COM http://www.rebel.com
NetWinder http://www.netwinder.org