public inbox for gcc-cvs@sourceware.org
help / color / mirror / Atom feed
* [gcc(refs/vendors/ARM/heads/morello)] Make GCC build a purecap libgcc as a multilib
@ 2021-09-21 9:13 Matthew Malcomson
0 siblings, 0 replies; only message in thread
From: Matthew Malcomson @ 2021-09-21 9:13 UTC (permalink / raw)
To: gcc-cvs
https://gcc.gnu.org/g:1f949c3d085a8994cd7579250b77197c23db435a
commit 1f949c3d085a8994cd7579250b77197c23db435a
Author: Matthew Malcomson <matthew.malcomson@arm.com>
Date: Mon Aug 9 10:52:40 2021 +0100
Make GCC build a purecap libgcc as a multilib
This means we can simply build an aarch64-none-elf cross compiler and
have it generate the -march=morello+c64 -mabi=purecap libgcc as
necessary.
Note that this means we need the Morello binutils in our path whenever
compiling an aarch64-none-elf toolchain unless we specifically request
to avoid making the purecap multilib.
Have enabled using --with-multilib-list=purecap but not added that
multilib to the default list on aarch64-none-linux-gnu. We can't build
these purecap libraries on aarch64 linux since there are other blockers
(like enabling GCC in total so we can build glibc). Hence this is not
getting tested at the moment (have tested that attempting to build
libgcc purecap multilib at least gets past the configure stage, but we
fail on having the relevant glibc headers in a purecap multilib
subdirectory).
Diff:
---
gcc/config.gcc | 6 +++---
gcc/config/aarch64/t-aarch64 | 5 ++++-
2 files changed, 7 insertions(+), 4 deletions(-)
diff --git a/gcc/config.gcc b/gcc/config.gcc
index 23703681deb..bcc9a94d79f 100644
--- a/gcc/config.gcc
+++ b/gcc/config.gcc
@@ -1056,12 +1056,12 @@ aarch64*-*-elf | aarch64*-*-fuchsia* | aarch64*-*-rtems*)
esac
aarch64_multilibs="${with_multilib_list}"
if test "$aarch64_multilibs" = "default"; then
- aarch64_multilibs="lp64,ilp32"
+ aarch64_multilibs="lp64,ilp32,purecap"
fi
aarch64_multilibs=`echo $aarch64_multilibs | sed -e 's/,/ /g'`
for aarch64_multilib in ${aarch64_multilibs}; do
case ${aarch64_multilib} in
- ilp32 | lp64 )
+ ilp32 | lp64 | purecap )
TM_MULTILIB_CONFIG="${TM_MULTILIB_CONFIG},${aarch64_multilib}"
;;
*)
@@ -1102,7 +1102,7 @@ aarch64*-*-linux*)
aarch64_multilibs=`echo $aarch64_multilibs | sed -e 's/,/ /g'`
for aarch64_multilib in ${aarch64_multilibs}; do
case ${aarch64_multilib} in
- ilp32 | lp64 )
+ ilp32 | lp64 | purecap )
TM_MULTILIB_CONFIG="${TM_MULTILIB_CONFIG},${aarch64_multilib}"
;;
*)
diff --git a/gcc/config/aarch64/t-aarch64 b/gcc/config/aarch64/t-aarch64
index 11d20b7be14..a05eecd129d 100644
--- a/gcc/config/aarch64/t-aarch64
+++ b/gcc/config/aarch64/t-aarch64
@@ -159,7 +159,10 @@ aarch64-bti-insert.o: $(srcdir)/config/aarch64/aarch64-bti-insert.c \
$(srcdir)/config/aarch64/aarch64-bti-insert.c
comma=,
-MULTILIB_OPTIONS = $(subst $(comma),/, $(patsubst %, mabi=%, $(subst $(comma),$(comma)mabi=,$(TM_MULTILIB_CONFIG))))
+MULTILIB_OPTIONS = $(subst $(comma),/, $(patsubst %, mabi=%, $(subst $(comma),$(comma)mabi=,$(TM_MULTILIB_CONFIG)))) march=morello+c64
+MULTILIB_EXCEPTIONS = mabi=*lp*/march=morello+c64
+MULTILIB_EXCEPTIONS += mabi=purecap
+MULTILIB_EXCEPTIONS += march=morello+c64
MULTILIB_DIRNAMES = $(subst $(comma), ,$(TM_MULTILIB_CONFIG))
insn-conditions.md: s-check-sve-md
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2021-09-21 9:13 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-09-21 9:13 [gcc(refs/vendors/ARM/heads/morello)] Make GCC build a purecap libgcc as a multilib Matthew Malcomson
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).