hc
2024-02-20 102a0743326a03cd1a1202ceda21e175b7d3575c
kernel/arch/riscv/Makefile
....@@ -40,7 +40,7 @@
4040 ifeq ($(shell test $(CONFIG_LLD_VERSION) -lt 150000; echo $$?),0)
4141 KBUILD_CFLAGS += -mno-relax
4242 KBUILD_AFLAGS += -mno-relax
43
-ifneq ($(LLVM_IAS),1)
43
+ifndef CONFIG_AS_IS_LLVM
4444 KBUILD_CFLAGS += -Wa,-mno-relax
4545 KBUILD_AFLAGS += -Wa,-mno-relax
4646 endif
....@@ -53,10 +53,12 @@
5353 riscv-march-$(CONFIG_FPU) := $(riscv-march-y)fd
5454 riscv-march-$(CONFIG_RISCV_ISA_C) := $(riscv-march-y)c
5555
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
6062
6163 KBUILD_CFLAGS += -march=$(subst fd,,$(riscv-march-y))
6264 KBUILD_AFLAGS += -march=$(riscv-march-y)
....@@ -74,6 +76,9 @@
7476 KBUILD_CFLAGS += -fno-omit-frame-pointer
7577 endif
7678
79
+# Avoid generating .eh_frame sections.
80
+KBUILD_CFLAGS += -fno-asynchronous-unwind-tables -fno-unwind-tables
81
+
7782 KBUILD_CFLAGS_MODULE += $(call cc-option,-mno-relax)
7883 KBUILD_AFLAGS_MODULE += $(call as-option,-Wa$(comma)-mno-relax)
7984