[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Bug gas/12848] ARM: Thumb-2: Range check on b.w is off by a factor of 2
From: |
dave.martin at linaro dot org |
Subject: |
[Bug gas/12848] ARM: Thumb-2: Range check on b.w is off by a factor of 2 |
Date: |
Wed, 8 Jun 2011 14:14:25 +0000 |
http://sourceware.org/bugzilla/show_bug.cgi?id=12848
--- Comment #1 from Dave Martin <dave.martin at linaro dot org> 2011-06-08
14:14:07 UTC ---
On Mon, Jun 6, 2011 at 12:18 PM, dave.martin at linaro dot org
<address@hidden> wrote:
> http://sourceware.org/bugzilla/show_bug.cgi?id=12848
>
> Summary: ARM: Thumb-2: Range check on b.w is off by a factor of
> 2
> Product: binutils
> Version: 2.22 (HEAD)
> Status: NEW
> Severity: normal
> Priority: P2
> Component: gas
> AssignedTo: address@hidden
> ReportedBy: address@hidden
>
>
> The 32-bit Thumb long branch encoding has a range of +/-16MiB, but gas checks
> +/-32MiB instead (which is, perhaps coincidentally, the range of the B
> instruction in ARM state).
Having played with this a bit more, it appears that all the 32-bit
Thumb branch encodings are affected. In each case, the range checked
for is double what it should be:
b.w, bl and blx seem to be range-checked as +/- 32 MiB (should be
+/- 16 MiB)
b<cc>.w seems to be range-checked as +/- 2 MiB (should be +/- 1 MiB)
--
Configure bugmail: http://sourceware.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.