]> gcc.gnu.org Git - gcc.git/commit
aarch64: Fix bootstrap with old binutils [PR93053]
authorAndre Vieira <andre.simoesdiasvieira@arm.com>
Thu, 16 Apr 2020 09:16:18 +0000 (10:16 +0100)
committerJakub Jelinek <jakub@redhat.com>
Thu, 17 Sep 2020 15:40:12 +0000 (17:40 +0200)
commite33188b820cacb065d0ca2580d301e95e6ebf3d4
tree45ed5c90422c058528f6b2400e59a99e64b801d8
parent4c8634323d67db0c7cda0d06ee3368e2285a9de9
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.
libgcc/ChangeLog
libgcc/config.in
libgcc/config/aarch64/lse.S
libgcc/configure
libgcc/configure.ac
This page took 0.052667 seconds and 5 git commands to generate.