mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-11-10 23:24:38 +00:00
riscv: Explicitly pass -march and -mabi to the compiler
At present the compiler flag against which architecture and abi variant the riscv image is built for is not explicitly indicated which means the default compiler configuration is used. But this does not work if we want to build a different target (eg: 32-bit riscv images using a toolchain configured for 64-bit riscv). Fix this by explicitly passing -march and -mabi to the compiler. Since generically we don't use floating point in U-Boot, specify the RV[32|64]IMA ISA and software floating ABI. This also fix some alignment coding style issues. Signed-off-by: Bin Meng <bmeng.cn@gmail.com> Reviewed-by: Lukas Auer <lukas.auer@aisec.fraunhofer.de>
This commit is contained in:
parent
3d6015651b
commit
ce7a8e0740
1 changed files with 6 additions and 2 deletions
|
@ -18,12 +18,16 @@ endif
|
|||
64bit-emul := elf64lriscv
|
||||
|
||||
ifdef CONFIG_32BIT
|
||||
PLATFORM_CPPFLAGS += -march=rv32ima -mabi=ilp32
|
||||
PLATFORM_LDFLAGS += -m $(32bit-emul)
|
||||
CFLAGS_EFI += -march=rv32ima -mabi=ilp32
|
||||
EFI_LDS := elf_riscv32_efi.lds
|
||||
endif
|
||||
|
||||
ifdef CONFIG_64BIT
|
||||
PLATFORM_CPPFLAGS += -march=rv64ima -mabi=lp64
|
||||
PLATFORM_LDFLAGS += -m $(64bit-emul)
|
||||
CFLAGS_EFI += -march=rv64ima -mabi=lp64
|
||||
EFI_LDS := elf_riscv64_efi.lds
|
||||
endif
|
||||
|
||||
|
@ -31,8 +35,8 @@ CONFIG_STANDALONE_LOAD_ADDR = 0x00000000 \
|
|||
-T $(srctree)/examples/standalone/riscv.lds
|
||||
|
||||
PLATFORM_CPPFLAGS += -ffixed-gp -fpic
|
||||
PLATFORM_RELFLAGS += -fno-common -gdwarf-2 -ffunction-sections
|
||||
LDFLAGS_u-boot += --gc-sections -static -pie
|
||||
PLATFORM_RELFLAGS += -fno-common -gdwarf-2 -ffunction-sections
|
||||
LDFLAGS_u-boot += --gc-sections -static -pie
|
||||
|
||||
EFI_CRT0 := crt0_riscv_efi.o
|
||||
EFI_RELOC := reloc_riscv_efi.o
|
||||
|
|
Loading…
Reference in a new issue