On Thu, May 30, 2019 at 11:52:00PM -0700, Nathan Chancellor wrote:
From: Masahiro Yamada yamada.masahiro@socionext.com
commit e9666d10a5677a494260d60d1fa0b73cc7646eb3 upstream.
Currently, CONFIG_JUMP_LABEL just means "I _want_ to use jump label".
The jump label is controlled by HAVE_JUMP_LABEL, which is defined like this:
#if defined(CC_HAVE_ASM_GOTO) && defined(CONFIG_JUMP_LABEL) # define HAVE_JUMP_LABEL #endif
We can improve this by testing 'asm goto' support in Kconfig, then make JUMP_LABEL depend on CC_HAS_ASM_GOTO.
Ugly #ifdef HAVE_JUMP_LABEL will go away, and CONFIG_JUMP_LABEL will match to the real kernel capability.
Signed-off-by: Masahiro Yamada yamada.masahiro@socionext.com Acked-by: Michael Ellerman mpe@ellerman.id.au (powerpc) Tested-by: Sedat Dilek sedat.dilek@gmail.com [nc: Fix trivial conflicts in 4.19 arch/xtensa/kernel/jump_label.c doesn't exist yet Ensured CC_HAVE_ASM_GOTO and HAVE_JUMP_LABEL were sufficiently eliminated] Signed-off-by: Nathan Chancellor natechancellor@gmail.com
Hi Greg and Sasha,
Please pick up this patch for 4.19. It fixes some warnings in the boot code for x86 when using clang because that Makefile steamrolls KBUILD_CFLAGS so CC_HAVE_ASM_GOTO is not defined, which triggers the warnings in arch/x86/include/asm/cpufeature.h on line 143.
I've tested this with GCC 9.1.0 and a clang 9.0.0 build with asm goto support on arm, arm64, and x86_64 and CONFIG_CC_HAS_ASM_GOTO and CONFIG_JUMP_LABEL get enabled properly.
Now applied, thanks.
greg k-h