[RFA/gold] Patch to workaround ARM1176 BLX(immediate) Thumb to ARM issue
Doug Kwan (關振德)
dougkwan@google.com
Mon Sep 26 18:41:00 GMT 2011
Hi Matthew,
Thanks for fixing that. That patch looks okay. My only concern is
that may_use_v*t_interworking are called repeatedly and their values
are constant. Can you cache the values just like may_use_blx?
-Doug
On Mon, Sep 26, 2011 at 8:09 AM, Matthew Gretton-Dann
<matthew.gretton-dann@arm.com> wrote:
> All,
>
> The attached patch adds the options --[no-]fix-arm1176 to Gold in a similar
> manner to that done to Ld earlier this year (see
> http://sourceware.org/ml/binutils/2011-07/msg00235.html).
>
> When --fix-arm1176 is turned on (the default) ARM v5T interworking
> instructions are only available for ARM v6T2 and later architectures.
>
> Further details on the erratum can be found on ARM's documentation website:
> http://infocenter.arm.com/
> User Assistance Notes
> ARM11 Processors
> ARM1176JZ-S and ARM1176JFZ-S Programmer Advice Note
>
> This patch depends on my recently posted fixes to v4T/v5T interworking in
> gold (http://sourceware.org/ml/binutils/2011-09/msg00186.html).
>
> Please can someone review.
>
> Thanks,
>
> Matt
>
> gold/ChangeLog
> 2011-09-26 Matthew Gretton-Dann<matthew.gretton-dann@arm.com>
>
> * arm.cc (Target_arm::may_use_v5t_interworking): Check whether
> we are working around the ARM1176 Erratum.
> * options.h (General_options::fix_arm1176): Add option.
> * testsuite/Makefile.am: Add testcases, and keep current ones
> working.
> * testsuite/Makefile.in: Regenerate.
> * testsuite/arm_fix_1176.s: New file.
> * testsuite/arm_fix_1176.sh: Likewise.
>
> --
> Matthew Gretton-Dann
> Principal Engineer, PD Software - Tools, ARM Ltd
More information about the Binutils
mailing list