Commit e20ab7d4 authored by Tiezhu Yang's avatar Tiezhu Yang Committed by Josh Poimboeuf
Browse files

LoongArch: Enable jump table for objtool



For now, it is time to remove -fno-jump-tables to enable jump table for
objtool if the compiler has -mannotate-tablejump, otherwise it is better
to remain -fno-jump-tables to keep compatibility with older compilers.

Signed-off-by: default avatarTiezhu Yang <yangtiezhu@loongson.cn>
Link: https://lore.kernel.org/r/20241217010905.13054-8-yangtiezhu@loongson.cn


Acked-by: default avatarHuacai Chen <chenhuacai@loongson.cn>
Signed-off-by: default avatarJosh Poimboeuf <jpoimboe@kernel.org>
parent 88cbb468
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -291,6 +291,9 @@ config AS_HAS_LBT_EXTENSION
config AS_HAS_LVZ_EXTENSION
	def_bool $(as-instr,hvcl 0)

config CC_HAS_ANNOTATE_TABLEJUMP
	def_bool $(cc-option,-mannotate-tablejump)

menu "Kernel type and options"

source "kernel/Kconfig.hz"
+5 −1
Original line number Diff line number Diff line
@@ -101,7 +101,11 @@ KBUILD_AFLAGS += $(call cc-option,-mthin-add-sub) $(call cc-option,-Wa$(comma)
KBUILD_CFLAGS			+= $(call cc-option,-mthin-add-sub) $(call cc-option,-Wa$(comma)-mthin-add-sub)

ifdef CONFIG_OBJTOOL
KBUILD_CFLAGS			+= -fno-jump-tables
ifdef CONFIG_CC_HAS_ANNOTATE_TABLEJUMP
KBUILD_CFLAGS			+= -mannotate-tablejump
else
KBUILD_CFLAGS			+= -fno-jump-tables # keep compatibility with older compilers
endif
endif

KBUILD_RUSTFLAGS		+= --target=loongarch64-unknown-none-softfloat -Ccode-model=small