[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