build: mipsel cross compiler support

This patch introduces support for building a MIPS cross compiler
targetting little endian machines by default.

Original-Change-Id: I116f6f431cdf80f5f5f58d2743357a9f70a7347d
Original-Signed-off-by: Paul Burton <paul.burton@imgtec.com>
Original-Reviewed-on: https://chromium-review.googlesource.com/207970
Original-Reviewed-by: Aaron Durbin <adurbin@chromium.org>
Original-Reviewed-by: David Hendricks <dhendrix@chromium.org>
(cherry picked from commit d6c9603c41b3d11400cee7b5b409203af0632aa2)
Signed-off-by: Marc Jones <marc.jones@se-eng.com>

Change-Id: I543cd2276d2f63ed2036a1c1259c9a07cb8a4ba8
Reviewed-on: http://review.coreboot.org/8518
Tested-by: build bot (Jenkins)
Reviewed-by: Patrick Georgi <pgeorgi@google.com>
This commit is contained in:
Paul Burton 2014-05-27 15:18:42 +01:00 committed by Marc Jones
parent 9b5f137823
commit 6529c33a67
3 changed files with 20 additions and 2 deletions

View File

@ -58,11 +58,14 @@ ARCHDIR-x86_32 := x86
ARCHDIR-arm := arm ARCHDIR-arm := arm
ARCHDIR-arm64 := arm64 ARCHDIR-arm64 := arm64
ARCHDIR-riscv := riscv ARCHDIR-riscv := riscv
ARCHDIR-mipsel := mips
CFLAGS_arm := -mno-unaligned-access -ffunction-sections -fdata-sections CFLAGS_arm := -mno-unaligned-access -ffunction-sections -fdata-sections
CFLAGS_arm64 := -ffunction-sections -fdata-sections CFLAGS_arm64 := -ffunction-sections -fdata-sections
CFLAGS_mipsel := -mips32r2 -G 0
toolchain_to_dir = \ toolchain_to_dir = \
$(foreach arch,$(ARCH_SUPPORTED),\ $(foreach arch,$(ARCH_SUPPORTED),\
$(eval CPPFLAGS_$(arch) += \ $(eval CPPFLAGS_$(arch) += \

View File

@ -1,4 +1,4 @@
all: build-i386 build-armv7a build-aarch64 all: build-i386 build-armv7a build-aarch64 build-mips
build-i386: build-i386:
bash ./buildgcc -G -p i386-elf bash ./buildgcc -G -p i386-elf
@ -9,6 +9,9 @@ build-armv7a:
build-aarch64: build-aarch64:
bash ./buildgcc -G -p aarch64-elf bash ./buildgcc -G -p aarch64-elf
build-mips:
bash ./buildgcc -G -p mips-elf
.PHONY: build-i386-without-gdb .PHONY: build-i386-without-gdb
build-i386-without-gdb: build-i386-without-gdb:
bash ./buildgcc -p i386-elf bash ./buildgcc -p i386-elf
@ -21,6 +24,10 @@ build-armv7a-without-gdb:
build-aarch64-without-gdb: build-aarch64-without-gdb:
bash ./buildgcc -p aarch64-elf bash ./buildgcc -p aarch64-elf
.PHONY: build-mips-without-gdb
build-mips-without-gdb:
bash ./buildgcc -p mips-elf
clean: clean:
rm -rf xgcc rm -rf xgcc

View File

@ -168,7 +168,7 @@ EOF
} }
# Architecture definition # Architecture definition
SUPPORTED_ARCHITECTURE="x86 arm arm64 riscv" SUPPORTED_ARCHITECTURE="x86 arm arm64 riscv mipsel"
arch_config_arm() { arch_config_arm() {
TARCH="arm" TARCH="arm"
@ -204,6 +204,14 @@ arch_config_x86() {
TABI="elf" TABI="elf"
} }
arch_config_mipsel() {
TARCH="mipsel"
TBFDARCH="littlemips"
TCLIST="mipsel"
TWIDTH="32"
TABI="elf"
}
test_architecture() { test_architecture() {
architecture=$1 architecture=$1