mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2024-12-29 09:13:38 +00:00
f6dee26d26
clang only supports building 64-bit kernel, so we use the sparc64-linux-gnu target. See also: https://lore.kernel.org/lkml/e26PTXUXEz8OYXmaeKn4Mpuejr4IOlFfFwdB5vpsluXlYiqDdlyQTYcDtdAny_o4gO4SfPeQCCN2qpyT6e0nog5EaP3xk2SeUPTrF54p1gM=@protonmail.com/T/#m068e010dcf8b99d3510a90d7532bcdb70e2e2c6b Signed-off-by: Koakuma <koachan@protonmail.com> Acked-by: Masahiro Yamada <masahiroy@kernel.org> Acked-by: Nathan Chancellor <nathan@kernel.org> Reviewed-by: Andreas Larsson <andreas@gaisler.com> Link: https://lore.kernel.org/r/20241029-sparc-cflags-v3-2-b28745a6bd71@protonmail.com Signed-off-by: Andreas Larsson <andreas@gaisler.com>
41 lines
1.7 KiB
Makefile
41 lines
1.7 KiB
Makefile
# Individual arch/{arch}/Makefiles should use -EL/-EB to set intended
|
|
# endianness and -m32/-m64 to set word size based on Kconfigs instead of
|
|
# relying on the target triple.
|
|
CLANG_TARGET_FLAGS_arm := arm-linux-gnueabi
|
|
CLANG_TARGET_FLAGS_arm64 := aarch64-linux-gnu
|
|
CLANG_TARGET_FLAGS_hexagon := hexagon-linux-musl
|
|
CLANG_TARGET_FLAGS_loongarch := loongarch64-linux-gnusf
|
|
CLANG_TARGET_FLAGS_m68k := m68k-linux-gnu
|
|
CLANG_TARGET_FLAGS_mips := mipsel-linux-gnu
|
|
CLANG_TARGET_FLAGS_powerpc := powerpc64le-linux-gnu
|
|
CLANG_TARGET_FLAGS_riscv := riscv64-linux-gnu
|
|
CLANG_TARGET_FLAGS_s390 := s390x-linux-gnu
|
|
CLANG_TARGET_FLAGS_sparc := sparc64-linux-gnu
|
|
CLANG_TARGET_FLAGS_x86 := x86_64-linux-gnu
|
|
CLANG_TARGET_FLAGS_um := $(CLANG_TARGET_FLAGS_$(SUBARCH))
|
|
CLANG_TARGET_FLAGS := $(CLANG_TARGET_FLAGS_$(SRCARCH))
|
|
|
|
ifeq ($(CLANG_TARGET_FLAGS),)
|
|
$(error add '--target=' option to scripts/Makefile.clang)
|
|
else
|
|
CLANG_FLAGS += --target=$(CLANG_TARGET_FLAGS)
|
|
endif
|
|
|
|
ifeq ($(LLVM_IAS),0)
|
|
CLANG_FLAGS += -fno-integrated-as
|
|
GCC_TOOLCHAIN_DIR := $(dir $(shell which $(CROSS_COMPILE)elfedit))
|
|
CLANG_FLAGS += --prefix=$(GCC_TOOLCHAIN_DIR)$(notdir $(CROSS_COMPILE))
|
|
else
|
|
CLANG_FLAGS += -fintegrated-as
|
|
endif
|
|
# By default, clang only warns when it encounters an unknown warning flag or
|
|
# certain optimization flags it knows it has not implemented.
|
|
# Make it behave more like gcc by erroring when these flags are encountered
|
|
# so they can be implemented or wrapped in cc-option.
|
|
CLANG_FLAGS += -Werror=unknown-warning-option
|
|
CLANG_FLAGS += -Werror=ignored-optimization-argument
|
|
CLANG_FLAGS += -Werror=option-ignored
|
|
CLANG_FLAGS += -Werror=unused-command-line-argument
|
|
KBUILD_CPPFLAGS += $(CLANG_FLAGS)
|
|
export CLANG_FLAGS
|