bug-binutils
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Bug gold/20765] [2.27 Regression] gold internal error in fix_errata on


From: cvs-commit at gcc dot gnu.org
Subject: [Bug gold/20765] [2.27 Regression] gold internal error in fix_errata on aarch64-linux-gnu
Date: Thu, 30 Nov 2017 23:09:06 +0000

https://sourceware.org/bugzilla/show_bug.cgi?id=20765

--- Comment #6 from cvs-commit at gcc dot gnu.org <cvs-commit at gcc dot 
gnu.org> ---
The master branch has been updated by Cary Coutant <address@hidden>:

https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=e0feb133429709603eeeb382c1ebb6edd0a886aa

commit e0feb133429709603eeeb382c1ebb6edd0a886aa
Author: Cary Coutant <address@hidden>
Date:   Thu Nov 30 13:44:28 2017 -0800

    Fix problem where erratum stubs are not always applied.

    I checked over the results of applying --fix-cortex-a53-843419 to
    a very large program (gitit) with two stub tables and thousands
    of erratum fixes. I noticed that all the erratum_stubs were being
    created but about 1/3 of them were being skipped over by
    fix_errata_and_relocate_erratum_stubs(). By skipped over I mean
    no branch relocation or adrp -> adr transformation was applied to
    the erratum address, leaving the erratum_stub unreachable, and
    with a branch with a 0 immediate.

    The root cause of the skipped over erratum_stubs is
    Erratum_stub::invalidate_erratum_stub() that is used to set
    relobj_ to NULL when an erratum_stub has been processed.
    Unfortunately relobj_ is used in operator<() so altering relobj
    makes the results from erratum_stubs_.lower_bound() as used in
    find_erratum_stubs_for_input_section() unreliable.

    2017-11-30  Peter Smith  <address@hidden>
            Cary Coutant  <address@hidden>

    gold/
        PR gold/20765
        * aarch64.cc (Erratum_stub::invalidate_erratum_stub): Use erratum_insn_
        instead of relobj_ to invalidate the stub.
        (Erratum_stub::is_invalidated_erratum_stub): Likewise.

-- 
You are receiving this mail because:
You are on the CC list for the bug.


reply via email to

[Prev in Thread] Current Thread [Next in Thread]