2022-02-14 14:56:53

by Naresh Kamboju

[permalink] [raw]
Subject: arm64: clang-nightly: net/ipv4/tcp_input.c: clang: error: clang frontend command failed with exit code 139

On Linux mainline master branch with arm64 clang-nightly build failed
due to following errors and warnings.

make --silent --keep-going --jobs=8
O=/home/tuxbuild/.cache/tuxmake/builds/current LLVM=1 LLVM_IAS=1
ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu-
CROSS_COMPILE_COMPAT=arm-linux-gnueabihf- HOSTCC=clang CC=clang
PLEASE submit a bug report to
https://github.com/llvm/llvm-project/issues/ and include the crash
backtrace, preprocessed source, and associated run script.
Stack dump:
0. Program arguments: clang -Wp,-MMD,net/ipv4/.tcp_input.o.d -nostdinc
-I/builds/linux/arch/arm64/include -I./arch/arm64/include/generated
-I/builds/linux/include -I./include
-I/builds/linux/arch/arm64/include/uapi
-I./arch/arm64/include/generated/uapi -I/builds/linux/include/uapi
-I./include/generated/uapi -include
/builds/linux/include/linux/compiler-version.h -include
/builds/linux/include/linux/kconfig.h -include
/builds/linux/include/linux/compiler_types.h -D__KERNEL__
-mlittle-endian -DCC_USING_PATCHABLE_FUNCTION_ENTRY
-DKASAN_SHADOW_SCALE_SHIFT= -Qunused-arguments
-fmacro-prefix-map=/builds/linux/= -Wall -Wundef
-Werror=strict-prototypes -Wno-trigraphs -fno-strict-aliasing
-fno-common -fshort-wchar -fno-PIE
-Werror=implicit-function-declaration -Werror=implicit-int
-Werror=return-type -Wno-format-security -std=gnu89
--target=aarch64-linux-gnu -fintegrated-as
-Werror=unknown-warning-option -Werror=ignored-optimization-argument
-mgeneral-regs-only -DCONFIG_CC_HAS_K_CONSTRAINT=1 -Wno-psabi
-fno-asynchronous-unwind-tables -fno-unwind-tables
-mbranch-protection=pac-ret+leaf+bti -Wa,-march=armv8.5-a
-DARM64_ASM_ARCH=\"armv8.5-a\" -DKASAN_SHADOW_SCALE_SHIFT=
-fno-delete-null-pointer-checks -Wno-frame-address
-Wno-address-of-packed-member -O2 -Wframe-larger-than=2048
-fstack-protector-strong -Wimplicit-fallthrough -Wno-gnu
-mno-global-merge -Wno-unused-but-set-variable
-Wno-unused-const-variable -fno-omit-frame-pointer
-fno-optimize-sibling-calls -ftrivial-auto-var-init=zero
-enable-trivial-auto-var-init-zero-knowing-it-will-be-removed-from-clang
-fno-stack-clash-protection -fpatchable-function-entry=2
-Wdeclaration-after-statement -Wvla -Wno-pointer-sign
-Wcast-function-type -Wno-array-bounds -fno-strict-overflow
-fno-stack-check -Werror=date-time -Werror=incompatible-pointer-types
-Wno-initializer-overrides -Wno-format -Wno-sign-compare
-Wno-format-zero-length -Wno-pointer-to-enum-cast
-Wno-tautological-constant-out-of-range-compare -Wno-unaligned-access
-mstack-protector-guard=sysreg -mstack-protector-guard-reg=sp_el0
-mstack-protector-guard-offset=1408 -I /builds/linux/net/ipv4 -I
./net/ipv4 -DKBUILD_MODFILE=\"net/ipv4/tcp_input\"
-DKBUILD_BASENAME=\"tcp_input\" -DKBUILD_MODNAME=\"tcp_input\"
-D__KBUILD_MODNAME=kmod_tcp_input -c -o net/ipv4/tcp_input.o
/builds/linux/net/ipv4/tcp_input.c
1. <eof> parser at end of file
2. Code generation
3. Running pass 'Function Pass Manager' on module
'/builds/linux/net/ipv4/tcp_input.c'.
4. Running pass 'Live Interval Analysis' on function '@tcp_ack'
#0 0x00007fcc9438ce91 llvm::sys::PrintStackTrace(llvm::raw_ostream&,
int) (/usr/lib/x86_64-linux-gnu/libLLVM-15.so.1+0xe93e91)
#1 0x00007fcc9438abee llvm::sys::RunSignalHandlers()
(/usr/lib/x86_64-linux-gnu/libLLVM-15.so.1+0xe91bee)
#2 0x00007fcc9438c260 llvm::sys::CleanupOnSignal(unsigned long)
(/usr/lib/x86_64-linux-gnu/libLLVM-15.so.1+0xe93260)
#3 0x00007fcc942b4e0f (/usr/lib/x86_64-linux-gnu/libLLVM-15.so.1+0xdbbe0f)
#4 0x00007fcc9d729140 __restore_rt
(/lib/x86_64-linux-gnu/libpthread.so.0+0x14140)
#5 0x00007fcc9467bebb (/usr/lib/x86_64-linux-gnu/libLLVM-15.so.1+0x1182ebb)
#6 0x00007fcc9467b274
llvm::ConnectedVNInfoEqClasses::Distribute(llvm::LiveInterval&,
llvm::LiveInterval**, llvm::MachineRegisterInfo&)
(/usr/lib/x86_64-linux-gnu/libLLVM-15.so.1+0x1182274)
#7 0x00007fcc9466ef85
llvm::LiveIntervals::splitSeparateComponents(llvm::LiveInterval&,
llvm::SmallVectorImpl<llvm::LiveInterval*>&)
(/usr/lib/x86_64-linux-gnu/libLLVM-15.so.1+0x1175f85)
#8 0x00007fcc9466d914 llvm::LiveIntervals::computeVirtRegs()
(/usr/lib/x86_64-linux-gnu/libLLVM-15.so.1+0x1174914)
#9 0x00007fcc9466d4f2
llvm::LiveIntervals::runOnMachineFunction(llvm::MachineFunction&)
(/usr/lib/x86_64-linux-gnu/libLLVM-15.so.1+0x11744f2)
#10 0x00007fcc9471247d
llvm::MachineFunctionPass::runOnFunction(llvm::Function&)
(/usr/lib/x86_64-linux-gnu/libLLVM-15.so.1+0x121947d)
#11 0x00007fcc944c749f
llvm::FPPassManager::runOnFunction(llvm::Function&)
(/usr/lib/x86_64-linux-gnu/libLLVM-15.so.1+0xfce49f)
#12 0x00007fcc944ce9a3 llvm::FPPassManager::runOnModule(llvm::Module&)
(/usr/lib/x86_64-linux-gnu/libLLVM-15.so.1+0xfd59a3)
#13 0x00007fcc944c8026
llvm::legacy::PassManagerImpl::run(llvm::Module&)
(/usr/lib/x86_64-linux-gnu/libLLVM-15.so.1+0xfcf026)
#14 0x00007fcc9b71896b
clang::EmitBackendOutput(clang::DiagnosticsEngine&,
clang::HeaderSearchOptions const&, clang::CodeGenOptions const&,
clang::TargetOptions const&, clang::LangOptions const&,
llvm::StringRef, llvm::Module*, clang::BackendAction,
std::unique_ptr<llvm::raw_pwrite_stream,
std::default_delete<llvm::raw_pwrite_stream> >)
(/usr/lib/x86_64-linux-gnu/libclang-cpp.so.15+0x18a296b)
#15 0x00007fcc9ba5ecb1 (/usr/lib/x86_64-linux-gnu/libclang-cpp.so.15+0x1be8cb1)
#16 0x00007fcc9a8af994 clang::ParseAST(clang::Sema&, bool, bool)
(/usr/lib/x86_64-linux-gnu/libclang-cpp.so.15+0xa39994)
#17 0x00007fcc9ba5b001 clang::CodeGenAction::ExecuteAction()
(/usr/lib/x86_64-linux-gnu/libclang-cpp.so.15+0x1be5001)
#18 0x00007fcc9c3fc1b7 clang::FrontendAction::Execute()
(/usr/lib/x86_64-linux-gnu/libclang-cpp.so.15+0x25861b7)
#19 0x00007fcc9c3541d6
clang::CompilerInstance::ExecuteAction(clang::FrontendAction&)
(/usr/lib/x86_64-linux-gnu/libclang-cpp.so.15+0x24de1d6)
#20 0x00007fcc9c475c3a
clang::ExecuteCompilerInvocation(clang::CompilerInstance*)
(/usr/lib/x86_64-linux-gnu/libclang-cpp.so.15+0x25ffc3a)
#21 0x0000000000413e1e cc1_main(llvm::ArrayRef<char const*>, char
const*, void*) (/usr/lib/llvm-15/bin/clang+0x413e1e)
#22 0x000000000041209b (/usr/lib/llvm-15/bin/clang+0x41209b)
#23 0x00007fcc9bfd65a2 (/usr/lib/x86_64-linux-gnu/libclang-cpp.so.15+0x21605a2)
#24 0x00007fcc942b4b7d
llvm::CrashRecoveryContext::RunSafely(llvm::function_ref<void ()>)
(/usr/lib/x86_64-linux-gnu/libLLVM-15.so.1+0xdbbb7d)
#25 0x00007fcc9bfd6090
clang::driver::CC1Command::Execute(llvm::ArrayRef<llvm::Optional<llvm::StringRef>
>, std::__cxx11::basic_string<char, std::char_traits<char>,
std::allocator<char> >*, bool*) const
(/usr/lib/x86_64-linux-gnu/libclang-cpp.so.15+0x2160090)
#26 0x00007fcc9bf9dac3
clang::driver::Compilation::ExecuteCommand(clang::driver::Command
const&, clang::driver::Command const*&) const
(/usr/lib/x86_64-linux-gnu/libclang-cpp.so.15+0x2127ac3)
#27 0x00007fcc9bf9dd4a
clang::driver::Compilation::ExecuteJobs(clang::driver::JobList const&,
llvm::SmallVectorImpl<std::pair<int, clang::driver::Command const*>
>&) const (/usr/lib/x86_64-linux-gnu/libclang-cpp.so.15+0x2127d4a)
#28 0x00007fcc9bfb7917
clang::driver::Driver::ExecuteCompilation(clang::driver::Compilation&,
llvm::SmallVectorImpl<std::pair<int, clang::driver::Command const*>
>&) (/usr/lib/x86_64-linux-gnu/libclang-cpp.so.15+0x2141917)
#29 0x0000000000411b06 main (/usr/lib/llvm-15/bin/clang+0x411b06)
#30 0x00007fcc9302dd0a __libc_start_main
(/lib/x86_64-linux-gnu/libc.so.6+0x26d0a)
#31 0x000000000040ef9a _start (/usr/lib/llvm-15/bin/clang+0x40ef9a)
clang: error: clang frontend command failed with exit code 139 (use -v
to see invocation)
Debian clang version
15.0.0-++20220212071827+2e57156fead3-1~exp1~20220212071918.154
Target: aarch64-unknown-linux-gnu
Thread model: posix
InstalledDir: /usr/local/bin
clang: note: diagnostic msg:
********************

PLEASE ATTACH THE FOLLOWING FILES TO THE BUG REPORT:
Preprocessed source(s) and associated run script(s) are located at:
clang: note: diagnostic msg: /tmp/tcp_input-24e82f.c
clang: note: diagnostic msg: /tmp/tcp_input-24e82f.sh
clang: note: diagnostic msg:

********************
make[3]: *** [/builds/linux/scripts/Makefile.build:288:
net/ipv4/tcp_input.o] Error 139
PLEASE submit a bug report to
https://github.com/llvm/llvm-project/issues/ and include the crash
backtrace, preprocessed source, and associated run script.
Stack dump:
0. Program arguments: clang -Wp,-MMD,net/ipv4/.tcp_minisocks.o.d
-nostdinc -I/builds/linux/arch/arm64/include
-I./arch/arm64/include/generated -I/builds/linux/include -I./include
-I/builds/linux/arch/arm64/include/uapi
-I./arch/arm64/include/generated/uapi -I/builds/linux/include/uapi
-I./include/generated/uapi -include
/builds/linux/include/linux/compiler-version.h -include
/builds/linux/include/linux/kconfig.h -include
/builds/linux/include/linux/compiler_types.h -D__KERNEL__
-mlittle-endian -DCC_USING_PATCHABLE_FUNCTION_ENTRY
-DKASAN_SHADOW_SCALE_SHIFT= -Qunused-arguments
-fmacro-prefix-map=/builds/linux/= -Wall -Wundef
-Werror=strict-prototypes -Wno-trigraphs -fno-strict-aliasing
-fno-common -fshort-wchar -fno-PIE
-Werror=implicit-function-declaration -Werror=implicit-int
-Werror=return-type -Wno-format-security -std=gnu89
--target=aarch64-linux-gnu -fintegrated-as
-Werror=unknown-warning-option -Werror=ignored-optimization-argument
-mgeneral-regs-only -DCONFIG_CC_HAS_K_CONSTRAINT=1 -Wno-psabi
-fno-asynchronous-unwind-tables -fno-unwind-tables
-mbranch-protection=pac-ret+leaf+bti -Wa,-march=armv8.5-a
-DARM64_ASM_ARCH=\"armv8.5-a\" -DKASAN_SHADOW_SCALE_SHIFT=
-fno-delete-null-pointer-checks -Wno-frame-address
-Wno-address-of-packed-member -O2 -Wframe-larger-than=2048
-fstack-protector-strong -Wimplicit-fallthrough -Wno-gnu
-mno-global-merge -Wno-unused-but-set-variable
-Wno-unused-const-variable -fno-omit-frame-pointer
-fno-optimize-sibling-calls -ftrivial-auto-var-init=zero
-enable-trivial-auto-var-init-zero-knowing-it-will-be-removed-from-clang
-fno-stack-clash-protection -fpatchable-function-entry=2
-Wdeclaration-after-statement -Wvla -Wno-pointer-sign
-Wcast-function-type -Wno-array-bounds -fno-strict-overflow
-fno-stack-check -Werror=date-time -Werror=incompatible-pointer-types
-Wno-initializer-overrides -Wno-format -Wno-sign-compare
-Wno-format-zero-length -Wno-pointer-to-enum-cast
-Wno-tautological-constant-out-of-range-compare -Wno-unaligned-access
-mstack-protector-guard=sysreg -mstack-protector-guard-reg=sp_el0
-mstack-protector-guard-offset=1408 -I /builds/linux/net/ipv4 -I
./net/ipv4 -DKBUILD_MODFILE=\"net/ipv4/tcp_minisocks\"
-DKBUILD_BASENAME=\"tcp_minisocks\" -DKBUILD_MODNAME=\"tcp_minisocks\"
-D__KBUILD_MODNAME=kmod_tcp_minisocks -c -o net/ipv4/tcp_minisocks.o
/builds/linux/net/ipv4/tcp_minisocks.c
1. <eof> parser at end of file
2. Code generation
3. Running pass 'Function Pass Manager' on module
'/builds/linux/net/ipv4/tcp_minisocks.c'.
4. Running pass 'Simple Register Coalescing' on function
'@tcp_timewait_state_process'
#0 0x00007f394a236e91 llvm::sys::PrintStackTrace(llvm::raw_ostream&,
int) (/usr/lib/x86_64-linux-gnu/libLLVM-15.so.1+0xe93e91)
#1 0x00007f394a234bee llvm::sys::RunSignalHandlers()
(/usr/lib/x86_64-linux-gnu/libLLVM-15.so.1+0xe91bee)
#2 0x00007f394a236260 llvm::sys::CleanupOnSignal(unsigned long)
(/usr/lib/x86_64-linux-gnu/libLLVM-15.so.1+0xe93260)
#3 0x00007f394a15ee0f (/usr/lib/x86_64-linux-gnu/libLLVM-15.so.1+0xdbbe0f)
#4 0x00007f39535d3140 __restore_rt
(/lib/x86_64-linux-gnu/libpthread.so.0+0x14140)
#5 0x00007f394a5220b5 llvm::LiveRange::join(llvm::LiveRange&, int
const*, int const*, llvm::SmallVectorImpl<llvm::VNInfo*>&)
(/usr/lib/x86_64-linux-gnu/libLLVM-15.so.1+0x117f0b5)
#6 0x00007f394a74a8db (/usr/lib/x86_64-linux-gnu/libLLVM-15.so.1+0x13a78db)
#7 0x00007f394a7467ed (/usr/lib/x86_64-linux-gnu/libLLVM-15.so.1+0x13a37ed)
#8 0x00007f394a7441dd (/usr/lib/x86_64-linux-gnu/libLLVM-15.so.1+0x13a11dd)
#9 0x00007f394a5bc47d
llvm::MachineFunctionPass::runOnFunction(llvm::Function&)
(/usr/lib/x86_64-linux-gnu/libLLVM-15.so.1+0x121947d)
#10 0x00007f394a37149f
llvm::FPPassManager::runOnFunction(llvm::Function&)
(/usr/lib/x86_64-linux-gnu/libLLVM-15.so.1+0xfce49f)
#11 0x00007f394a3789a3 llvm::FPPassManager::runOnModule(llvm::Module&)
(/usr/lib/x86_64-linux-gnu/libLLVM-15.so.1+0xfd59a3)
#12 0x00007f394a372026
llvm::legacy::PassManagerImpl::run(llvm::Module&)
(/usr/lib/x86_64-linux-gnu/libLLVM-15.so.1+0xfcf026)
#13 0x00007f39515c296b
clang::EmitBackendOutput(clang::DiagnosticsEngine&,
clang::HeaderSearchOptions const&, clang::CodeGenOptions const&,
clang::TargetOptions const&, clang::LangOptions const&,
llvm::StringRef, llvm::Module*, clang::BackendAction,
std::unique_ptr<llvm::raw_pwrite_stream,
std::default_delete<llvm::raw_pwrite_stream> >)
(/usr/lib/x86_64-linux-gnu/libclang-cpp.so.15+0x18a296b)
#14 0x00007f3951908cb1 (/usr/lib/x86_64-linux-gnu/libclang-cpp.so.15+0x1be8cb1)
#15 0x00007f3950759994 clang::ParseAST(clang::Sema&, bool, bool)
(/usr/lib/x86_64-linux-gnu/libclang-cpp.so.15+0xa39994)
#16 0x00007f3951905001 clang::CodeGenAction::ExecuteAction()
(/usr/lib/x86_64-linux-gnu/libclang-cpp.so.15+0x1be5001)
#17 0x00007f39522a61b7 clang::FrontendAction::Execute()
(/usr/lib/x86_64-linux-gnu/libclang-cpp.so.15+0x25861b7)
#18 0x00007f39521fe1d6
clang::CompilerInstance::ExecuteAction(clang::FrontendAction&)
(/usr/lib/x86_64-linux-gnu/libclang-cpp.so.15+0x24de1d6)
#19 0x00007f395231fc3a
clang::ExecuteCompilerInvocation(clang::CompilerInstance*)
(/usr/lib/x86_64-linux-gnu/libclang-cpp.so.15+0x25ffc3a)
#20 0x0000000000413e1e cc1_main(llvm::ArrayRef<char const*>, char
const*, void*) (/usr/lib/llvm-15/bin/clang+0x413e1e)
#21 0x000000000041209b (/usr/lib/llvm-15/bin/clang+0x41209b)
#22 0x00007f3951e805a2 (/usr/lib/x86_64-linux-gnu/libclang-cpp.so.15+0x21605a2)
#23 0x00007f394a15eb7d
llvm::CrashRecoveryContext::RunSafely(llvm::function_ref<void ()>)
(/usr/lib/x86_64-linux-gnu/libLLVM-15.so.1+0xdbbb7d)
#24 0x00007f3951e80090
clang::driver::CC1Command::Execute(llvm::ArrayRef<llvm::Optional<llvm::StringRef>
>, std::__cxx11::basic_string<char, std::char_traits<char>,
std::allocator<char> >*, bool*) const
(/usr/lib/x86_64-linux-gnu/libclang-cpp.so.15+0x2160090)
#25 0x00007f3951e47ac3
clang::driver::Compilation::ExecuteCommand(clang::driver::Command
const&, clang::driver::Command const*&) const
(/usr/lib/x86_64-linux-gnu/libclang-cpp.so.15+0x2127ac3)
#26 0x00007f3951e47d4a
clang::driver::Compilation::ExecuteJobs(clang::driver::JobList const&,
llvm::SmallVectorImpl<std::pair<int, clang::driver::Command const*>
>&) const (/usr/lib/x86_64-linux-gnu/libclang-cpp.so.15+0x2127d4a)
#27 0x00007f3951e61917
clang::driver::Driver::ExecuteCompilation(clang::driver::Compilation&,
llvm::SmallVectorImpl<std::pair<int, clang::driver::Command const*>
>&) (/usr/lib/x86_64-linux-gnu/libclang-cpp.so.15+0x2141917)
#28 0x0000000000411b06 main (/usr/lib/llvm-15/bin/clang+0x411b06)
#29 0x00007f3948ed7d0a __libc_start_main
(/lib/x86_64-linux-gnu/libc.so.6+0x26d0a)
#30 0x000000000040ef9a _start (/usr/lib/llvm-15/bin/clang+0x40ef9a)
clang: error: clang frontend command failed with exit code 139 (use -v
to see invocation)
Debian clang version
15.0.0-++20220212071827+2e57156fead3-1~exp1~20220212071918.154
Target: aarch64-unknown-linux-gnu
Thread model: posix
InstalledDir: /usr/local/bin
clang: note: diagnostic msg:
********************

build log link:
https://builds.tuxbuild.com/254TFZPxjU105HfmOmS9Rac9sEO/
Kconfig: https://builds.tuxbuild.com/254TFZPxjU105HfmOmS9Rac9sEO/config
toolchain: clang-nightly

I have reported this a new issues on github,
https://github.com/llvm/llvm-project/issues/53811

Reported-by: Linux Kernel Functional Testing <[email protected]>

--
Linaro LKFT
https://lkft.linaro.org


2022-02-14 20:17:17

by Nathan Chancellor

[permalink] [raw]
Subject: Re: arm64: clang-nightly: net/ipv4/tcp_input.c: clang: error: clang frontend command failed with exit code 139

Hi Naresh,

On Mon, Feb 14, 2022 at 12:27:17PM +0530, Naresh Kamboju wrote:
> On Linux mainline master branch with arm64 clang-nightly build failed
> due to following errors and warnings.
>
> make --silent --keep-going --jobs=8
> O=/home/tuxbuild/.cache/tuxmake/builds/current LLVM=1 LLVM_IAS=1
> ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu-
> CROSS_COMPILE_COMPAT=arm-linux-gnueabihf- HOSTCC=clang CC=clang
> PLEASE submit a bug report to
> https://github.com/llvm/llvm-project/issues/ and include the crash
> backtrace, preprocessed source, and associated run script.
> Stack dump:

<snip>

> 1. <eof> parser at end of file
> 2. Code generation
> 3. Running pass 'Function Pass Manager' on module
> '/builds/linux/net/ipv4/tcp_input.c'.

<snip>

> I have reported this a new issues on github,
> https://github.com/llvm/llvm-project/issues/53811

Thank you for the report! I found this over the weekend myself and
reverted the problematic commit in LLVM and I will make sure that if it
lands again, it can build a kernel without any issues.

https://github.com/llvm/llvm-project/commit/22eb1dae3fb20ca8ada865de1d95baab0e08a060

For the future, you may consider only sending reports of compiler
crashes to Nick, myself, and [email protected]; a compiler crash is
pretty much never the fault of the source code so CC'ing Linux
maintainers is just noise.

Cheers,
Nathan

2022-02-16 02:01:25

by Nick Desaulniers

[permalink] [raw]
Subject: Re: arm64: clang-nightly: net/ipv4/tcp_input.c: clang: error: clang frontend command failed with exit code 139

On Mon, Feb 14, 2022 at 7:35 AM Nathan Chancellor <[email protected]> wrote:
>
> Hi Naresh,
>
> On Mon, Feb 14, 2022 at 12:27:17PM +0530, Naresh Kamboju wrote:
> > On Linux mainline master branch with arm64 clang-nightly build failed
> > due to following errors and warnings.
> >
> > make --silent --keep-going --jobs=8
> > O=/home/tuxbuild/.cache/tuxmake/builds/current LLVM=1 LLVM_IAS=1
> > ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu-
> > CROSS_COMPILE_COMPAT=arm-linux-gnueabihf- HOSTCC=clang CC=clang

Thanks for the report. Thanks Nathan for submitting reverts.

Naresh, as a heads up, the above command line can be simplified a
little bit (particularly for newer kernel branches)

LLVM_IAS=1 is implied by LLVM=1 as of v5.15-rc1 via
commit f12b034afeb3 ("scripts/Makefile.clang: default to LLVM_IAS=1").

CROSS_COMPILE is no longer necessary when building with LLVM=1 as of
v5.15-rc1 via:
commit 231ad7f409f1 ("Makefile: infer --target from ARCH for CC=clang")

There is no need for CROSS_COMPILE_COMPAT as of v5.16-rc1 via
commit 3e6f8d1fa184 ("arm64: vdso32: require CROSS_COMPILE_COMPAT for gcc+bfd")
when LLVM=1 is set.

HOSTCC and CC are implied by LLVM=1 as of
commit a0d1c951ef08 ("kbuild: support LLVM=1 to switch the default
tools to Clang/LLVM")
v5.7-rc1.

So the above make invocation could be trimmed down to simply:

$ make --silent --keep-going --jobs=8 \
O=/home/tuxbuild/.cache/tuxmake/builds/current LLVM=1

We might need to discuss further with tuxbuild folks, since I think a
few of those are set implicitly; I would prefer if they needed to be
set explicitly in order to properly test them being _unspecified_ in
our CI.
--
Thanks,
~Nick Desaulniers

2022-02-16 06:17:52

by Nick Desaulniers

[permalink] [raw]
Subject: Re: arm64: clang-nightly: net/ipv4/tcp_input.c: clang: error: clang frontend command failed with exit code 139

On Tue, Feb 15, 2022 at 11:10 AM Nick Desaulniers
<[email protected]> wrote:
>
> On Mon, Feb 14, 2022 at 7:35 AM Nathan Chancellor <[email protected]> wrote:
> >
> > Hi Naresh,
> >
> > On Mon, Feb 14, 2022 at 12:27:17PM +0530, Naresh Kamboju wrote:
> > > On Linux mainline master branch with arm64 clang-nightly build failed
> > > due to following errors and warnings.
> > >
> > > make --silent --keep-going --jobs=8
> > > O=/home/tuxbuild/.cache/tuxmake/builds/current LLVM=1 LLVM_IAS=1
> > > ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu-
> > > CROSS_COMPILE_COMPAT=arm-linux-gnueabihf- HOSTCC=clang CC=clang
>
> Thanks for the report. Thanks Nathan for submitting reverts.
>
> Naresh, as a heads up, the above command line can be simplified a
> little bit (particularly for newer kernel branches)
>
> LLVM_IAS=1 is implied by LLVM=1 as of v5.15-rc1 via
> commit f12b034afeb3 ("scripts/Makefile.clang: default to LLVM_IAS=1").
>
> CROSS_COMPILE is no longer necessary when building with LLVM=1 as of
> v5.15-rc1 via:
> commit 231ad7f409f1 ("Makefile: infer --target from ARCH for CC=clang")
>
> There is no need for CROSS_COMPILE_COMPAT as of v5.16-rc1 via
> commit 3e6f8d1fa184 ("arm64: vdso32: require CROSS_COMPILE_COMPAT for gcc+bfd")
> when LLVM=1 is set.
>
> HOSTCC and CC are implied by LLVM=1 as of
> commit a0d1c951ef08 ("kbuild: support LLVM=1 to switch the default
> tools to Clang/LLVM")
> v5.7-rc1.
>
> So the above make invocation could be trimmed down to simply:
>
> $ make --silent --keep-going --jobs=8 \
> O=/home/tuxbuild/.cache/tuxmake/builds/current LLVM=1
>
> We might need to discuss further with tuxbuild folks, since I think a
> few of those are set implicitly; I would prefer if they needed to be
> set explicitly in order to properly test them being _unspecified_ in
> our CI.

Filed: https://gitlab.com/Linaro/tuxsuite/-/issues/151

--
Thanks,
~Nick Desaulniers