[RFA/ARM]: Patch to workaround ARM1176 BLX (immediate) Thumb to ARM issue
Matthew Gretton-Dann
matthew.gretton-dann@arm.com
Thu Jul 28 21:33:00 GMT 2011
On 28/07/11 15:03, Nick Clifton wrote:
> Hi Matthew,
>
>> * When the option is on the linker will only use BLX if the target
>> architecture (derived from the object files) is v6T2, v7, or
>> greater.
>
> This does not seem right to me. The erratum only applies to the
> ARM1176JZ-S and ARM1176JZF-S processors and only to Thumb BLX
> instructions. Disabling the use of BLX in ARM mode or for pre-ARM11
> cores will generate needlessly larger code.
The argument for doing it this way is that there are systems where code
is built for architecture ARMv5TE (for example) yet the devices the code
is run on is an ARM1176.
The aim of having the fix on by default for architectures before ARMv6T2
is to catch these cases.
I was also looking for the least disruptive fix to the linker code paths
so that the changes made would be easily tested.
> Also when you check the Tag_CPU_arch value, please use the enum names,
> not the integer values.
Noted - a patch will be forthcoming with updates following your comments
and Joseph Myers'.
Thanks,
Matt
--
Matthew Gretton-Dann
Principal Engineer, PD Software - Tools, ARM Ltd
More information about the Binutils
mailing list