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:
parent
9b5f137823
commit
6529c33a67
|
@ -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) += \
|
||||||
|
|
|
@ -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
|
||||||
|
|
||||||
|
|
|
@ -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
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue