bug-binutils
[Top][All Lists]
Advanced

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

[Bug gas/25125] relaxation chooses wrong branch size


From: cvs-commit at gcc dot gnu.org
Subject: [Bug gas/25125] relaxation chooses wrong branch size
Date: Sat, 26 Oct 2019 09:54:27 +0000

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

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

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

commit 6f69abb0498286297936a178ba81c7e445aa4437
Author: Alan Modra <address@hidden>
Date:   Sat Oct 26 18:38:26 2019 +1030

    Optimise away eh_frame advance_loc 0

    These can be generated when multiple cfi directives are emitted for an
    instruction and the insn frag is closed off between directives, as
    happens when listings are enabled.  No doubt the advance_loc of zero
    could be avoided by backtracking over frags in dw2gencfi.c before
    calling cfi_add_advance_loc, but that seems like more work than
    cleaning up afterwards as this patch does.

    Noticed when looking at the testcase in PR25125.

        PR 25125
        * dw2gencfi.c (output_cfi_insn): Don't output DW_CFA_advance_loc+0.
        * ehopt.c (eh_frame_estimate_size_before_relax): Return -1 for
        an advance_loc of zero.
        (eh_frame_relax_frag): Translate fr_subtype of 7 to size -1.
        (eh_frame_convert_frag): Handle fr_subtype of 7.  Abort on
        unexpected fr_subtype.

-- 
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]