This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
Re: [gold][aarch64]: Erratum 843419 optimized fix
- From: Han Shen <shenhan at google dot com>
- To: Cary Coutant <ccoutant at gmail dot com>
- Cc: binutils <binutils at sourceware dot org>, Luis Lozano <llozano at google dot com>
- Date: Mon, 20 Jul 2015 15:24:57 -0700
- Subject: Re: [gold][aarch64]: Erratum 843419 optimized fix
- Authentication-results: sourceware.org; auth=none
- References: <CACkGtriWCQ=g-0WGY0wuLUp6PZ+sgpFcJz2cEbtSE5RCkdXTmA at mail dot gmail dot com> <CAJimCsFi4tgemtv9Mgwkk_5X9STS3Lk_m8Zw+TmHnBjmCE8Yiw at mail dot gmail dot com>
Hi Cary, comments addressed and CL submitted. Thanks,
Han
On Mon, Jul 20, 2015 at 10:21 AM, Cary Coutant <ccoutant@gmail.com> wrote:
>> gold/ChangeLog
>>
>> 2015-07-15 Han Shen <shenhan@google.com>
>>
>> Optimize erratum 843419 fix.
>>
>> gold/ChangeLog: * aarch64.cc (AArch64_insn_utilities::is_adr): New
>> method. (AArch64_insn_utilities::aarch64_adr_encode_imm): New method.
>> (AArch64_insn_utilities::aarch64_adrp_decode_imm): New method.
>> (E843419_stub): New sub-class of Erratum_stub.
>> (AArch64_relobj::try_fix_erratum_843419_optimized): New method.
>> (AArch64_relobj::section_needs_reloc_stub_scanning): Try optimized fix.
>> (AArch64_relobj::create_erratum_stub): Add 1 argument.
>> (Target_aarch64::scan_erratum_843419_span): Pass in adrp insn offset.
>
>
> +// This is an optimization for 843419. This erratum requires the sequence begin
> +// with 'adrp', when final value calculated by adrp fits in adr, we can just
> +// replace 'adrp' with 'adr', so we save 2 jumps per occurrence.
> (Note, however,
> +// in this case, we do not delete the erratum stub (too late to do so), it is
> +// merely generated without ever been called.)
>
> s/been/being/
>
> This is OK with that fix. Thanks!
>
> -cary
--
Han Shen | Software Engineer | shenhan@google.com | +1-650-440-3330