[Bug target/93053] [9 Regression] libgcc build failure with old binutils on aarch64

cvs-commit at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Wed Apr 22 16:10:01 GMT 2020


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93053

--- Comment #16 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The releases/gcc-8 branch has been updated by Andre Simoes Dias Vieira
<avieira@gcc.gnu.org>:

https://gcc.gnu.org/g:a69a60c4969cea06c1d44b5e3e4970595041e510

commit r8-10213-ga69a60c4969cea06c1d44b5e3e4970595041e510
Author: Andre Vieira <andre.simoesdiasvieira@arm.com>
Date:   Thu Apr 16 10:16:18 2020 +0100

    aarch64: Fix bootstrap with old binutils [PR93053]

    As reported in the PR, GCC 10 (and also 9.3.1 but not 9.3.0) fails to build
    when using older binutils which lack LSE support, because those
instructions
    are used in libgcc.
    Thanks to Kyrylo's hint, the following patches (hopefully) allow it to
build
    even with older binutils by using .inst directive if LSE support isn't
    available in the assembler.

    2020-04-16  Andre Vieira  <andre.simoesdiasvieira@arm.com>

            Backport from mainline
            2020-04-15  Jakub Jelinek  <jakub@redhat.com>

            PR target/93053
            * configure.ac (LIBGCC_CHECK_AS_LSE): Add HAVE_AS_LSE checking.
            * config/aarch64/lse.S: Include auto-target.h, if HAVE_AS_LSE
            is not defined, use just .arch armv8-a.
            (B, M, N, OPN): Define.
            (COMMENT): New .macro.
            (CAS, CASP, SWP, LDOP): Use .inst directive if HAVE_AS_LSE is not
            defined.  Otherwise, move the operands right after the glue? and
            comment out operands where the macros are used.
            * configure: Regenerated.
            * config.in: Regenerated.


More information about the Gcc-bugs mailing list