Patch for gold internal error while fixing erratum 843419.
authorHan Shen <shenhan@google.com>
Tue, 16 Jun 2015 22:00:58 +0000 (15:00 -0700)
committerHan Shen <shenhan@google.com>
Tue, 30 Jun 2015 00:03:02 +0000 (17:03 -0700)
commit56b06706ebe6bb3decc674b788b6f5b243b8610d
treea07add96031ed77d0ad508de112a9bcc757f79db
parent06b3fd23bfe2f0f76a590e89ac7378c13153e165
Patch for gold internal error while fixing erratum 843419.

The crash reason is that the insn to be moved to stub may be a
relocation spot, so instead of placing the origin insn (that is insn
before-relocation) to the stub, I have to place the relocated one.
Note the relocation involved is non-pc-relative, so it is safe to move
the relocated insn.

gold/ChangeLog:
2015-06-29  Han Shen  <shenhan@google.com>

    * AArch64.cc (Erratum_stub::Insn_utilities): New typedef.
    (Erratum_stub::update_erratum_insn): New method.
    (Stub_table::relocate_stubs): Modified to place relocated insn.
    (AArch64_relobj::fix_errata): Modified gold_assert.
gold/ChangeLog
gold/aarch64.cc