Optimize erratum 843419 fix.
authorHan Shen <shenhan@google.com>
Mon, 20 Jul 2015 20:04:06 +0000 (13:04 -0700)
committerHan Shen <shenhan@google.com>
Mon, 20 Jul 2015 20:20:46 +0000 (13:20 -0700)
commit0ef3814fe1b5579890a7758e6e52d12b8a96fdf2
tree53794a09cf54e1ba2d9f692493d58aa2885ab8c1
parent45972d00747459a447f7e84891ed6a3367565f24
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.
gold/ChangeLog
gold/aarch64.cc