.. | .. |
---|
40 | 40 | ifeq ($(shell test $(CONFIG_LLD_VERSION) -lt 150000; echo $$?),0) |
---|
41 | 41 | KBUILD_CFLAGS += -mno-relax |
---|
42 | 42 | KBUILD_AFLAGS += -mno-relax |
---|
43 | | -ifneq ($(LLVM_IAS),1) |
---|
| 43 | +ifndef CONFIG_AS_IS_LLVM |
---|
44 | 44 | KBUILD_CFLAGS += -Wa,-mno-relax |
---|
45 | 45 | KBUILD_AFLAGS += -Wa,-mno-relax |
---|
46 | 46 | endif |
---|
.. | .. |
---|
53 | 53 | riscv-march-$(CONFIG_FPU) := $(riscv-march-y)fd |
---|
54 | 54 | riscv-march-$(CONFIG_RISCV_ISA_C) := $(riscv-march-y)c |
---|
55 | 55 | |
---|
56 | | -# Newer binutils versions default to ISA spec version 20191213 which moves some |
---|
57 | | -# instructions from the I extension to the Zicsr and Zifencei extensions. |
---|
58 | | -toolchain-need-zicsr-zifencei := $(call cc-option-yn, -march=$(riscv-march-y)_zicsr_zifencei) |
---|
59 | | -riscv-march-$(toolchain-need-zicsr-zifencei) := $(riscv-march-y)_zicsr_zifencei |
---|
| 56 | +ifdef CONFIG_TOOLCHAIN_NEEDS_OLD_ISA_SPEC |
---|
| 57 | +KBUILD_CFLAGS += -Wa,-misa-spec=2.2 |
---|
| 58 | +KBUILD_AFLAGS += -Wa,-misa-spec=2.2 |
---|
| 59 | +else |
---|
| 60 | +riscv-march-$(CONFIG_TOOLCHAIN_NEEDS_EXPLICIT_ZICSR_ZIFENCEI) := $(riscv-march-y)_zicsr_zifencei |
---|
| 61 | +endif |
---|
60 | 62 | |
---|
61 | 63 | KBUILD_CFLAGS += -march=$(subst fd,,$(riscv-march-y)) |
---|
62 | 64 | KBUILD_AFLAGS += -march=$(riscv-march-y) |
---|
.. | .. |
---|
74 | 76 | KBUILD_CFLAGS += -fno-omit-frame-pointer |
---|
75 | 77 | endif |
---|
76 | 78 | |
---|
| 79 | +# Avoid generating .eh_frame sections. |
---|
| 80 | +KBUILD_CFLAGS += -fno-asynchronous-unwind-tables -fno-unwind-tables |
---|
| 81 | + |
---|
77 | 82 | KBUILD_CFLAGS_MODULE += $(call cc-option,-mno-relax) |
---|
78 | 83 | KBUILD_AFLAGS_MODULE += $(call as-option,-Wa$(comma)-mno-relax) |
---|
79 | 84 | |
---|