[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 14:18:34 GMT 2020
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93053
--- Comment #15 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The releases/gcc-9 branch has been updated by Andre Simoes Dias Vieira
<avieira@gcc.gnu.org>:
https://gcc.gnu.org/g:bfe912a35c0c39a623ba6e0066b6010e0ade0f5e
commit r9-8525-gbfe912a35c0c39a623ba6e0066b6010e0ade0f5e
Author: Andre Vieira <andre.simoesdiasvieira@arm.com>
Date: Wed Apr 22 15:16:20 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-22 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