Commit a98587e3 authored by Nathan Chancellor's avatar Nathan Chancellor Committed by sanglipeng
Browse files

kbuild: Switch to 'f' variants of integrated assembler flag

stable inclusion
from stable-v5.10.178
commit d5f67f6d4ec4aaf8bcef95c35a70d7e537239cb1
category: bugfix
bugzilla: https://gitee.com/openeuler/kernel/issues/I8ALH3

Reference: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=d5f67f6d4ec4aaf8bcef95c35a70d7e537239cb1

--------------------------------

commit 2185a7e4 upstream.

It has been brought up a few times in various code reviews that clang
3.5 introduced -f{,no-}integrated-as as the preferred way to enable and
disable the integrated assembler, mentioning that -{no-,}integrated-as
are now considered legacy flags.

Switch the kernel over to using those variants in case there is ever a
time where clang decides to remove the non-'f' variants of the flag.

Also, fix a typo in a comment ("intergrated" -> "integrated").

Link: https://releases.llvm.org/3.5.0/tools/clang/docs/ReleaseNotes.html#new-compiler-flags


Reviewed-by: default avatarNick Desaulniers <ndesaulniers@google.com>
Signed-off-by: default avatarNathan Chancellor <nathan@kernel.org>
Signed-off-by: default avatarMasahiro Yamada <masahiroy@kernel.org>
[nathan: Backport to 5.10]
Signed-off-by: default avatarNathan Chancellor <nathan@kernel.org>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: default avatarsanglipeng <sanglipeng1@jd.com>
parent 9ee9baaf
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -583,9 +583,9 @@ ifneq ($(GCC_TOOLCHAIN),)
CLANG_FLAGS	+= --gcc-toolchain=$(GCC_TOOLCHAIN)
endif
ifeq ($(LLVM_IAS),1)
CLANG_FLAGS	+= -integrated-as
CLANG_FLAGS	+= -fintegrated-as
else
CLANG_FLAGS	+= -no-integrated-as
CLANG_FLAGS	+= -fno-integrated-as
endif
CLANG_FLAGS	+= -Werror=unknown-warning-option
KBUILD_CFLAGS	+= $(CLANG_FLAGS)
+4 −4
Original line number Diff line number Diff line
@@ -21,14 +21,14 @@ get_canonical_version()
	echo $((10000 * $1 + 100 * ${2:-0} + ${3:-0}))
}

# Clang fails to handle -Wa,--version unless -no-integrated-as is given.
# We check -(f)integrated-as, expecting it is explicitly passed in for the
# Clang fails to handle -Wa,--version unless -fno-integrated-as is given.
# We check -fintegrated-as, expecting it is explicitly passed in for the
# integrated assembler case.
check_integrated_as()
{
	while [ $# -gt 0 ]; do
		if [ "$1" = -integrated-as -o "$1" = -fintegrated-as ]; then
			# For the intergrated assembler, we do not check the
		if [ "$1" = -fintegrated-as ]; then
			# For the integrated assembler, we do not check the
			# version here. It is the same as the clang version, and
			# it has been already checked by scripts/cc-version.sh.
			echo LLVM 0