• Gleb Fotengauer-Malinovskiy's avatar
    jump label: fix passing kbuild_cflags when checking for asm goto support · 7292ae3d
    Gleb Fotengauer-Malinovskiy authored
    The latest change of asm goto support check added passing of KBUILD_CFLAGS
    to compiler.  When these flags reference gcc plugins that are not built yet,
    the check fails.
    
    When one runs "make bzImage" followed by "make modules", the kernel is always
    built with HAVE_JUMP_LABEL disabled, while the modules are built depending on
    CONFIG_JUMP_LABEL.  If HAVE_JUMP_LABEL macro happens to be different, modules
    are built with undefined references, e.g.:
    
    ERROR: "static_key_slow_inc" [net/netfilter/xt_TEE.ko] undefined!
    ERROR: "static_key_slow_dec" [net/netfilter/xt_TEE.ko] undefined!
    ERROR: "static_key_slow_dec" [net/netfilter/nft_meta.ko] undefined!
    ERROR: "static_key_slow_inc" [net/netfilter/nft_meta.ko] undefined!
    ERROR: "nf_hooks_needed" [net/netfilter/ipvs/ip_vs.ko] undefined!
    ERROR: "nf_hooks_needed" [net/ipv6/ipv6.ko] undefined!
    ERROR: "static_key_count" [net/ipv6/ipv6.ko] undefined!
    ERROR: "static_key_slow_inc" [net/ipv6/ipv6.ko] undefined!
    
    This change moves the check before all these references are added
    to KBUILD_CFLAGS.  This is correct because subsequent KBUILD_CFLAGS
    modifications are not relevant to this check.
    Reported-by: default avatarAnton V. Boyarshinov <boyarsh@altlinux.org>
    Fixes: 35f860f9 ("jump label: pass kbuild_cflags when checking for asm goto support")
    Cc: stable@vger.kernel.org	# v4.10
    Signed-off-by: default avatarGleb Fotengauer-Malinovskiy <glebfm@altlinux.org>
    Signed-off-by: default avatarDmitry V. Levin <ldv@altlinux.org>
    Acked-by: default avatarSteven Rostedt (VMware) <rostedt@goodmis.org>
    Acked-by: default avatarDavid Lin <dtwlin@google.com>
    Signed-off-by: default avatarMasahiro Yamada <yamada.masahiro@socionext.com>
    7292ae3d
Makefile 57.8 KB