[gold][aarch64] Patch for erratum-835769

Han Shen shenhan@google.com
Thu Jun 11 23:48:00 GMT 2015


Hi Cary, this is the patch for erratum 835769, which is the 2nd of the 2 errata
needed to be fixed before Android land adopts gold (the other was 843419, which
was fixed by my CL a few days ago).

835769 is, in nature, very similar to 843419. What I did is to a) add a sequence
scanner (similarly implemented as in bfd) and b) define a new stub
type (the stub generation/relocation is the same)

Tested by bfd 835769 test case.
Build on x86_64 ubuntu and aarch64 machine under -O2 and -O0.

Ok for trunk?

2015-05-12 Han Shen  <shenhan@google.com>

        * aarch64.cc (AArch64_insn_utilities::BYTES_PER_INSN): Move
        defintion outside class definition.
        (AArch64_insn_utilities::AARCH64_ZR): New static constant.
        (AArch64_insn_utilities::aarch64_op31): New member.
        (AArch64_insn_utilities::aarch64_ra): New member.
        (AArch64_insn_utilities::aarch64_mac): New member.
        (AArch64_insn_utilities::aarch64_mlxl): New member.
        (ST_E_835769): New global enum member.
        (Stub_table::relocate_stubs): Add 835769 handler.
        (Stub_template_repertoire::Stub_template_repertoire): Install new
        stub type.
        (AArch64_relobj::scan_errata): This func is renamed from
        scan_erratum_843419.
        (AArch64_relobj::do_count_local_symbols): Add 835769 handler.
        (AArch64_relobj::do_relocate_sections): Add 835769 handler.
        (AArch64_relobj::scan_sections_for_stubs): Add 835769 handler.
        (Target_aarch64::scan_erratum_835769_span): New method.
        (Target_aarch64::create_erratum_stub): New method.
        (Target_aarch64::is_erratum_835769_sequence): New method.
        (Target_aarch64::scan_erratum_843419_sequence): Move part of the
        code into create_erratum_stub.
        * options.h (fix_cortex_a53_835769): New option.


-Han
-------------- next part --------------
A non-text attachment was scrubbed...
Name: e835769.patch
Type: text/x-patch
Size: 18748 bytes
Desc: not available
URL: <https://sourceware.org/pipermail/binutils/attachments/20150611/4d19a726/attachment.bin>


More information about the Binutils mailing list