diff options
author | Xiaotian Wu <wuxiaotian@loongson.cn> | 2023-02-06 12:48:50 +0000 |
---|---|---|
committer | Michael Brown <mcb30@ipxe.org> | 2023-02-06 21:14:17 +0000 |
commit | 62a1d5c0f5bc52227ba43ccb7924694d661449a2 (patch) | |
tree | 56b64c5a3faaf931c3876c158b791a872dce083e /src/arch/loong64/Makefile | |
parent | 84cb7743906f88a09b7c1f5f8b56e43bb3f7709e (diff) | |
download | ipxe-62a1d5c0f5bc52227ba43ccb7924694d661449a2.tar.gz |
[loong64] Add initial support for LoongArch64
Add support for building a LoongArch64 Linux userspace binary.
Signed-off-by: Xiaotian Wu <wuxiaotian@loongson.cn>
Modified-by: Michael Brown <mcb30@ipxe.org>
Signed-off-by: Michael Brown <mcb30@ipxe.org>
Diffstat (limited to 'src/arch/loong64/Makefile')
-rw-r--r-- | src/arch/loong64/Makefile | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/src/arch/loong64/Makefile b/src/arch/loong64/Makefile new file mode 100644 index 000000000..f2dfc76e9 --- /dev/null +++ b/src/arch/loong64/Makefile @@ -0,0 +1,26 @@ +# Assembler section type character +# +ASM_TCHAR := @ +ASM_TCHAR_OPS := @ + +# LoongArch64-specific flags +# +CFLAGS += -fstrength-reduce -fomit-frame-pointer +CFLAGS += -falign-jumps=1 -falign-loops=1 -falign-functions=1 + +# Check if -mno-explicit-relocs is valid +ifeq ($(CCTYPE),gcc) +MNER_TEST = $(CC) -mno-explicit-relocs -x c -c /dev/null -o /dev/null >/dev/null 2>&1 +MNER_FLAGS := $(shell $(MNER_TEST) && $(ECHO) '-mno-explicit-relocs') +WORKAROUND_CFLAGS += $(MNER_FLAGS) +endif + +# EFI requires -fshort-wchar, and nothing else currently uses wchar_t +CFLAGS += -fshort-wchar + +# LoongArch64-specific directories containing source files +SRCDIRS += arch/loong64/core + +# Include platform-specific Makefile +MAKEDEPS += arch/loong64/Makefile.$(PLATFORM) +include arch/loong64/Makefile.$(PLATFORM) |