summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPatrick Georgi <patrick@georgi-clan.de>2014-11-19 18:36:37 +0100
committerPatrick Georgi <pgeorgi@google.com>2014-11-20 13:54:59 +0100
commit3bff5d906423fa4ac3bc3877f0f82dfa8426e86f (patch)
treede2480cda12b1e0cd4653f61d026aae35cf55531
parentd730ca8529ecb89ae3a01fd582b46a44bd4d6078 (diff)
crossgcc: Add buildsystem support for aarch64 compiler
This adds the crosstools-aarch64 and crossgcc-aarch64 make rules to create a toolchain (with or without gdb) for AArch64 targets. Also adapt xcompile, since it's aarch64-elf. Change-Id: I6fbe09d44ee8b8493d3cd8dbbba869b409e311f7 Signed-off-by: Patrick Georgi <pgeorgi@google.com> Reviewed-on: http://review.coreboot.org/7527 Tested-by: build bot (Jenkins) Reviewed-by: Edward O'Callaghan <eocallaghan@alterapraxis.com>
-rw-r--r--Makefile.inc12
-rw-r--r--util/crossgcc/Makefile7
-rwxr-xr-xutil/xcompile/xcompile2
3 files changed, 17 insertions, 4 deletions
diff --git a/Makefile.inc b/Makefile.inc
index a7854fcd9a..3b662ef097 100644
--- a/Makefile.inc
+++ b/Makefile.inc
@@ -424,24 +424,30 @@ gitconfig:
git config remote.origin.push HEAD:refs/for/master
(git config --global user.name >/dev/null && git config --global user.email >/dev/null) || (printf 'Please configure your name and email in git:\n\n git config --global user.name "Your Name Comes Here"\n git config --global user.email your.email@example.com\n'; exit 1)
-crossgcc: crossgcc-i386 crossgcc-arm
+crossgcc: crossgcc-i386 crossgcc-arm crossgcc-aarch64
-.PHONY: crossgcc-i386 crossgcc-arm
+.PHONY: crossgcc-i386 crossgcc-arm crossgcc-aarch64
crossgcc-i386: clean-for-update
$(MAKE) -C util/crossgcc build-i386-without-gdb
crossgcc-arm: clean-for-update
$(MAKE) -C util/crossgcc build-armv7a-without-gdb
+crossgcc-aarch64: clean-for-update
+ $(MAKE) -C util/crossgcc build-aarch64-without-gdb
+
crosstools: crosstools-i386
-.PHONY: crosstools-i386 crosstools-arm
+.PHONY: crosstools-i386 crosstools-arm crosstools-aarch64
crosstools-i386: clean-for-update
$(MAKE) -C util/crossgcc build-i386
crosstools-arm: clean-for-update
$(MAKE) -C util/crossgcc build-armv7a
+crosstools-aarch64: clean-for-update
+ $(MAKE) -C util/crossgcc build-aarch64
+
crossgcc-clean: clean-for-update
$(MAKE) -C util/crossgcc clean
diff --git a/util/crossgcc/Makefile b/util/crossgcc/Makefile
index 14ca1ecf7e..bd7fa2f777 100644
--- a/util/crossgcc/Makefile
+++ b/util/crossgcc/Makefile
@@ -6,6 +6,9 @@ build-i386:
build-armv7a:
bash ./buildgcc -G -p armv7a-eabi
+build-aarch64:
+ bash ./buildgcc -G -p aarch64-elf
+
.PHONY: build-i386-without-gdb
build-i386-without-gdb:
bash ./buildgcc -p i386-elf
@@ -14,6 +17,10 @@ build-i386-without-gdb:
build-armv7a-without-gdb:
bash ./buildgcc -p armv7a-eabi
+.PHONY: build-aarch64-without-gdb
+build-aarch64-without-gdb:
+ bash ./buildgcc -p aarch64-elf
+
clean:
rm -rf xgcc
diff --git a/util/xcompile/xcompile b/util/xcompile/xcompile
index 7bb6e4c93d..45dae8c1e8 100755
--- a/util/xcompile/xcompile
+++ b/util/xcompile/xcompile
@@ -184,7 +184,7 @@ arch_config_aarch64() {
TBFDARCH="littleaarch64"
TCLIST="aarch64"
TWIDTH="64"
- TABI="eabi"
+ TABI="elf"
}
arch_config_riscv() {