| .. | .. |
|---|
| 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 | |
|---|