This is the mail archive of the binutils@sourceware.org mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [RFA/ARM]: Patch to workaround ARM1176 BLX (immediate) Thumb to ARM issue


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]