From 8bf9284d99dcb1c8fbdfabde1979350cf41fa5f5 Mon Sep 17 00:00:00 2001 From: Vladimir Murzin Date: Wed, 15 Jan 2020 14:18:25 +0000 Subject: [PATCH] arm64: Turn "broken gas inst" into real config option Use the new 'as-instr' Kconfig macro to define CONFIG_BROKEN_GAS_INST directly, making it available everywhere. Signed-off-by: Vladimir Murzin [will: Drop redundant 'y if' logic] Signed-off-by: Will Deacon --- arch/arm64/Kconfig | 3 +++ arch/arm64/Makefile | 10 +++------- 2 files changed, 6 insertions(+), 7 deletions(-) diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig index cf3b6d2a67cfa..8a35f776c7f1d 100644 --- a/arch/arm64/Kconfig +++ b/arch/arm64/Kconfig @@ -301,6 +301,9 @@ config ARCH_SUPPORTS_UPROBES config ARCH_PROC_KCORE_TEXT def_bool y +config BROKEN_GAS_INST + def_bool !$(as-instr,1:\n.inst 0\n.rept . - 1b\n\nnop\n.endr\n) + config KASAN_SHADOW_OFFSET hex depends on KASAN diff --git a/arch/arm64/Makefile b/arch/arm64/Makefile index 6dd8ecacc4283..dca1a97751ab1 100644 --- a/arch/arm64/Makefile +++ b/arch/arm64/Makefile @@ -42,19 +42,15 @@ cc_has_k_constraint := $(call try-run,echo \ return 0; \ }' | $(CC) -S -x c -o "$$TMP" -,,-DCONFIG_CC_HAS_K_CONSTRAINT=1) -ifeq ($(CONFIG_ARM64), y) -brokengasinst := $(call as-instr,1:\n.inst 0\n.rept . - 1b\n\nnop\n.endr\n,,-DCONFIG_BROKEN_GAS_INST=1) - - ifneq ($(brokengasinst),) +ifeq ($(CONFIG_BROKEN_GAS_INST),y) $(warning Detected assembler with broken .inst; disassembly will be unreliable) - endif endif -KBUILD_CFLAGS += -mgeneral-regs-only $(brokengasinst) \ +KBUILD_CFLAGS += -mgeneral-regs-only \ $(compat_vdso) $(cc_has_k_constraint) KBUILD_CFLAGS += -fno-asynchronous-unwind-tables KBUILD_CFLAGS += $(call cc-disable-warning, psabi) -KBUILD_AFLAGS += $(brokengasinst) $(compat_vdso) +KBUILD_AFLAGS += $(compat_vdso) KBUILD_CFLAGS += $(call cc-option,-mabi=lp64) KBUILD_AFLAGS += $(call cc-option,-mabi=lp64) -- 2.30.2