llvm / llvm-project

The LLVM Project is a collection of modular and reusable compiler and toolchain technologies.
http://llvm.org
Other
28.03k stars 11.58k forks source link

[AArch64] Crash when compiling __builtin_alloca((1ul<<50)) with -O1 #79557

Open arakawamasahiro-fj opened 7 months ago

arakawamasahiro-fj commented 7 months ago

clang in AArch64 environment, abort at compile time. clang terminates abnormally if a program that passes (1ul<<50) as an argument to the __builtin_alloca() function is compiled with compile option -O1 or higher.

Here is the program and compilation log:

[program]

#include <stdio.h>
int main() {
  char *p,*t;

  t=(char*)0;
  p=__builtin_alloca(1ul<<50);
  if (p!=0) printf("alloc  -1: %lx\n",t-p);

  return 0;
}

[compile log]

clang version 18.0.0 (https://github.com/llvm/llvm-project.git fe846bc9bd164ed89cef1caefb681e0aee3d4dec)
Target: aarch64-unknown-linux-gnu
Thread model: posix
InstalledDir: /work/home/marakawa/LLVM/llvm-project/installs/release/bin
Found candidate GCC installation: /opt/rh/gcc-toolset-12/root/usr/lib/gcc/aarch64-redhat-linux/12
Selected GCC installation: /opt/rh/gcc-toolset-12/root/usr/lib/gcc/aarch64-redhat-linux/12
Candidate multilib: .;@m64
Selected multilib: .;@m64
$ clang -O1 test_50.c
LLVM ERROR: out of memory
Allocation failed
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: /work/home/marakawa/LLVM/llvm-project/installs/release/bin/clang-18 -cc1 -triple aarch64-unknown-linux-gnu -emit-obj -dumpdir a- -disable-free -clear-ast-before-backend -disable-llvm-verifier -discard-value-names -main-file-name test_50.c -mrelocation-model pic -pic-level 2 -pic-is-pie -mframe-pointer=non-leaf -fmath-errno -ffp-contract=on -fno-rounding-math -mconstructor-aliases -funwind-tables=2 -target-cpu generic -target-feature +neon -target-feature +v8a -target-abi aapcs -debugger-tuning=gdb -fdebug-compilation-dir=/work/home/marakawa/test/local_test/1619_ -fcoverage-compilation-dir=/work/home/marakawa/test/local_test/1619_ -resource-dir /work/home/marakawa/LLVM/llvm-project/installs/release/lib/clang/18 -internal-isystem /work/home/marakawa/LLVM/llvm-project/installs/release/lib/clang/18/include -internal-isystem /usr/local/include -internal-isystem /opt/rh/gcc-toolset-12/root/usr/lib/gcc/aarch64-redhat-linux/12/../../../../aarch64-redhat-linux/include -internal-externc-isystem /include -internal-externc-isystem /usr/include -O1 -ferror-limit 19 -fno-signed-char -fgnuc-version=4.2.1 -fcolor-diagnostics -target-feature +outline-atomics -target-feature -fmv -faddrsig -D__GCC_HAVE_DWARF2_CFI_ASM=1 -o /tmp/test_50-6d342a.o -x c test_50.c
1.      <eof> parser at end of file
2.      Code generation
3.      Running pass 'Function Pass Manager' on module 'test_50.c'.
4.      Running pass 'Prologue/Epilogue Insertion & Frame Finalization' on function '@main'
 #0 0x0000ffffa4f12a88 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (/work/home/marakawa/LLVM/llvm-project/installs/release/bin/../lib/libLLVM-18git.so+0x7b2a88)
 #1 0x0000ffffa4f10ab0 llvm::sys::RunSignalHandlers() (/work/home/marakawa/LLVM/llvm-project/installs/release/bin/../lib/libLLVM-18git.so+0x7b0ab0)
 #2 0x0000ffffa4f10c30 SignalHandler(int) Signals.cpp:0:0
 #3 0x0000ffffabd207a0 (linux-vdso.so.1+0x7a0)
 #4 0x0000ffffa4356274 raise (/lib64/libc.so.6+0x36274)
 #5 0x0000ffffa4340a2c abort (/lib64/libc.so.6+0x20a2c)
 #6 0x0000ffffa4e4e300 out_of_memory_new_handler() ErrorHandling.cpp:0:0
 #7 0x0000ffffa4e4e318 llvm::install_out_of_memory_new_handler() (/work/home/marakawa/LLVM/llvm-project/installs/release/bin/../lib/libLLVM-18git.so+0x6ee318)
 #8 0x0000ffffa46414f0 operator new(unsigned long) (/lib64/libstdc++.so.6+0x914f0)
 #9 0x0000ffffa533a8a4 void std::vector<llvm::MCCFIInstruction, std::allocator<llvm::MCCFIInstruction>>::_M_realloc_insert<llvm::MCCFIInstruction const&>(__gnu_cxx::__normal_iterator<llvm::MCCFIInstruction*, std::vector<llvm::MCCFIInstruction, std::allocator<llvm::MCCFIInstruction>>>, llvm::MCCFIInstruction const&) (/work/home/marakawa/LLVM/llvm-project/installs/release/bin/../lib/libLLVM-18git.so+0xbda8a4)
#10 0x0000ffffa533ade4 llvm::MachineFunction::addFrameInst(llvm::MCCFIInstruction const&) (/work/home/marakawa/LLVM/llvm-project/installs/release/bin/../lib/libLLVM-18git.so+0xbdade4)
#11 0x0000ffffa704f904 emitFrameOffsetAdj(llvm::MachineBasicBlock&, llvm::MachineInstrBundleIterator<llvm::MachineInstr, false>, llvm::DebugLoc const&, unsigned int, unsigned int, long, unsigned int, llvm::TargetInstrInfo const*, llvm::MachineInstr::MIFlag, bool, bool*, bool, llvm::StackOffset, unsigned int) AArch64InstrInfo.cpp:0:0
#12 0x0000ffffa7050530 llvm::emitFrameOffset(llvm::MachineBasicBlock&, llvm::MachineInstrBundleIterator<llvm::MachineInstr, false>, llvm::DebugLoc const&, unsigned int, unsigned int, llvm::StackOffset, llvm::TargetInstrInfo const*, llvm::MachineInstr::MIFlag, bool, bool, bool*, bool, llvm::StackOffset, unsigned int) (/work/home/marakawa/LLVM/llvm-project/installs/release/bin/../lib/libLLVM-18git.so+0x28f0530)
#13 0x0000ffffa6f914e0 llvm::AArch64FrameLowering::emitEpilogue(llvm::MachineFunction&, llvm::MachineBasicBlock&) const (/work/home/marakawa/LLVM/llvm-project/installs/release/bin/../lib/libLLVM-18git.so+0x28314e0)
#14 0x0000ffffa546f8b8 (anonymous namespace)::PEI::runOnMachineFunction(llvm::MachineFunction&) PrologEpilogInserter.cpp:0:0
#15 0x0000ffffa5342b18 llvm::MachineFunctionPass::runOnFunction(llvm::Function&) (.part.80) MachineFunctionPass.cpp:0:0
#16 0x0000ffffa506c274 llvm::FPPassManager::runOnFunction(llvm::Function&) (/work/home/marakawa/LLVM/llvm-project/installs/release/bin/../lib/libLLVM-18git.so+0x90c274)
#17 0x0000ffffa506c3d8 llvm::FPPassManager::runOnModule(llvm::Module&) (/work/home/marakawa/LLVM/llvm-project/installs/release/bin/../lib/libLLVM-18git.so+0x90c3d8)
#18 0x0000ffffa506cf08 llvm::legacy::PassManagerImpl::run(llvm::Module&) (/work/home/marakawa/LLVM/llvm-project/installs/release/bin/../lib/libLLVM-18git.so+0x90cf08)
#19 0x0000ffffa9bc9abc clang::EmitBackendOutput(clang::DiagnosticsEngine&, clang::HeaderSearchOptions const&, clang::CodeGenOptions const&, clang::TargetOptions const&, clang::LangOptions const&, llvm::StringRef, llvm::Module*, clang::BackendAction, llvm::IntrusiveRefCntPtr<llvm::vfs::FileSystem>, std::unique_ptr<llvm::raw_pwrite_stream, std::default_delete<llvm::raw_pwrite_stream>>) (/work/home/marakawa/LLVM/llvm-project/installs/release/bin/../lib/libclang-cpp.so.18git+0x1a99abc)
#20 0x0000ffffa9f1ef6c clang::BackendConsumer::HandleTranslationUnit(clang::ASTContext&) (/work/home/marakawa/LLVM/llvm-project/installs/release/bin/../lib/libclang-cpp.so.18git+0x1deef6c)
#21 0x0000ffffa8bc57a8 clang::ParseAST(clang::Sema&, bool, bool) (/work/home/marakawa/LLVM/llvm-project/installs/release/bin/../lib/libclang-cpp.so.18git+0xa957a8)
#22 0x0000ffffa9f1e67c clang::CodeGenAction::ExecuteAction() (/work/home/marakawa/LLVM/llvm-project/installs/release/bin/../lib/libclang-cpp.so.18git+0x1dee67c)
#23 0x0000ffffaa892f64 clang::FrontendAction::Execute() (/work/home/marakawa/LLVM/llvm-project/installs/release/bin/../lib/libclang-cpp.so.18git+0x2762f64)
#24 0x0000ffffaa82e5c0 clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) (/work/home/marakawa/LLVM/llvm-project/installs/release/bin/../lib/libclang-cpp.so.18git+0x26fe5c0)
#25 0x0000ffffaa90ee38 clang::ExecuteCompilerInvocation(clang::CompilerInstance*) (/work/home/marakawa/LLVM/llvm-project/installs/release/bin/../lib/libclang-cpp.so.18git+0x27dee38)
#26 0x00000000004117d8 cc1_main(llvm::ArrayRef<char const*>, char const*, void*) (/work/home/marakawa/LLVM/llvm-project/installs/release/bin/clang-18+0x4117d8)
#27 0x000000000040b188 ExecuteCC1Tool(llvm::SmallVectorImpl<char const*>&, llvm::ToolContext const&) driver.cpp:0:0
#28 0x000000000040dbc4 clang_main(int, char**, llvm::ToolContext const&) (/work/home/marakawa/LLVM/llvm-project/installs/release/bin/clang-18+0x40dbc4)
#29 0x000000000040aa8c main (/work/home/marakawa/LLVM/llvm-project/installs/release/bin/clang-18+0x40aa8c)
#30 0x0000ffffa4344384 __libc_start_main (/lib64/libc.so.6+0x24384)
#31 0x000000000040aae0 _start (/work/home/marakawa/LLVM/llvm-project/installs/release/bin/clang-18+0x40aae0)
clang: error: unable to execute command: Aborted (core dumped)
clang: error: clang frontend command failed due to signal (use -v to see invocation)
clang version 18.0.0 (https://github.com/llvm/llvm-project.git fe846bc9bd164ed89cef1caefb681e0aee3d4dec)
Target: aarch64-unknown-linux-gnu
Thread model: posix
InstalledDir: /work/home/marakawa/LLVM/llvm-project/installs/release/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/test_50-7c5972.c
clang: note: diagnostic msg: /tmp/test_50-7c5972.sh
clang: note: diagnostic msg:

********************
$

The latest development version has the same problem.

[test_50-7c5972.sh]

# Crash reproducer for clang version 18.0.0 (https://github.com/llvm/llvm-project.git fe846bc9bd164ed89cef1caefb681e0aee3d4dec)
# Driver args: "-O1" "test_50.c"
# Original command:  "/work/home/marakawa/LLVM/llvm-project/installs/release/bin/clang-18" "-cc1" "-triple" "aarch64-unknown-linux-gnu" "-emit-obj" "-dumpdir" "a-" "-disable-free" "-clear-ast-before-backend" "-disable-llvm-verifier" "-discard-value-names" "-main-file-name" "test_50.c" "-mrelocation-model" "pic" "-pic-level" "2" "-pic-is-pie" "-mframe-pointer=non-leaf" "-fmath-errno" "-ffp-contract=on" "-fno-rounding-math" "-mconstructor-aliases" "-funwind-tables=2" "-target-cpu" "generic" "-target-feature" "+neon" "-target-feature" "+v8a" "-target-abi" "aapcs" "-debugger-tuning=gdb" "-fdebug-compilation-dir=/work/home/marakawa/test/local_test/1619_" "-fcoverage-compilation-dir=/work/home/marakawa/test/local_test/1619_" "-resource-dir" "/work/home/marakawa/LLVM/llvm-project/installs/release/lib/clang/18" "-internal-isystem" "/work/home/marakawa/LLVM/llvm-project/installs/release/lib/clang/18/include" "-internal-isystem" "/usr/local/include" "-internal-isystem" "/opt/rh/gcc-toolset-12/root/usr/lib/gcc/aarch64-redhat-linux/12/../../../../aarch64-redhat-linux/include" "-internal-externc-isystem" "/include" "-internal-externc-isystem" "/usr/include" "-O1" "-ferror-limit" "19" "-fno-signed-char" "-fgnuc-version=4.2.1" "-fcolor-diagnostics" "-target-feature" "+outline-atomics" "-target-feature" "-fmv" "-faddrsig" "-D__GCC_HAVE_DWARF2_CFI_ASM=1" "-o" "/tmp/test_50-6d342a.o" "-x" "c" "test_50.c"
 "/work/home/marakawa/LLVM/llvm-project/installs/release/bin/clang-18" "-cc1" "-triple" "aarch64-unknown-linux-gnu" "-emit-obj" "-dumpdir" "a-" "-disable-free" "-clear-ast-before-backend" "-disable-llvm-verifier" "-discard-value-names" "-main-file-name" "test_50.c" "-mrelocation-model" "pic" "-pic-level" "2" "-pic-is-pie" "-mframe-pointer=non-leaf" "-fmath-errno" "-ffp-contract=on" "-fno-rounding-math" "-mconstructor-aliases" "-funwind-tables=2" "-target-cpu" "generic" "-target-feature" "+neon" "-target-feature" "+v8a" "-target-abi" "aapcs" "-debugger-tuning=gdb" "-fdebug-compilation-dir=/work/home/marakawa/test/local_test/1619_" "-fcoverage-compilation-dir=/work/home/marakawa/test/local_test/1619_" "-O1" "-ferror-limit" "19" "-fno-signed-char" "-fgnuc-version=4.2.1" "-fcolor-diagnostics" "-target-feature" "+outline-atomics" "-target-feature" "-fmv" "-faddrsig" "-D__GCC_HAVE_DWARF2_CFI_ASM=1" "-x" "c" "test_50-7c5972.c"
llvmbot commented 7 months ago

@llvm/issue-subscribers-backend-aarch64

Author: Masahiro ARAKAWA (arakawamasahiro-fj)

clang in AArch64 environment, abort at compile time. clang terminates abnormally if a program that passes (1ul<<50) as an argument to the __builtin_alloca() function is compiled with compile option -O1 or higher. Here is the program and compilation log: [program] ``` #include <stdio.h> int main() { char *p,*t; t=(char*)0; p=__builtin_alloca(1ul<<50); if (p!=0) printf("alloc -1: %lx\n",t-p); return 0; } ``` [compile log] ``` clang version 18.0.0 (https://github.com/llvm/llvm-project.git fe846bc9bd164ed89cef1caefb681e0aee3d4dec) Target: aarch64-unknown-linux-gnu Thread model: posix InstalledDir: /work/home/marakawa/LLVM/llvm-project/installs/release/bin Found candidate GCC installation: /opt/rh/gcc-toolset-12/root/usr/lib/gcc/aarch64-redhat-linux/12 Selected GCC installation: /opt/rh/gcc-toolset-12/root/usr/lib/gcc/aarch64-redhat-linux/12 Candidate multilib: .;@m64 Selected multilib: .;@m64 $ clang -O1 test_50.c LLVM ERROR: out of memory Allocation failed 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: /work/home/marakawa/LLVM/llvm-project/installs/release/bin/clang-18 -cc1 -triple aarch64-unknown-linux-gnu -emit-obj -dumpdir a- -disable-free -clear-ast-before-backend -disable-llvm-verifier -discard-value-names -main-file-name test_50.c -mrelocation-model pic -pic-level 2 -pic-is-pie -mframe-pointer=non-leaf -fmath-errno -ffp-contract=on -fno-rounding-math -mconstructor-aliases -funwind-tables=2 -target-cpu generic -target-feature +neon -target-feature +v8a -target-abi aapcs -debugger-tuning=gdb -fdebug-compilation-dir=/work/home/marakawa/test/local_test/1619_ -fcoverage-compilation-dir=/work/home/marakawa/test/local_test/1619_ -resource-dir /work/home/marakawa/LLVM/llvm-project/installs/release/lib/clang/18 -internal-isystem /work/home/marakawa/LLVM/llvm-project/installs/release/lib/clang/18/include -internal-isystem /usr/local/include -internal-isystem /opt/rh/gcc-toolset-12/root/usr/lib/gcc/aarch64-redhat-linux/12/../../../../aarch64-redhat-linux/include -internal-externc-isystem /include -internal-externc-isystem /usr/include -O1 -ferror-limit 19 -fno-signed-char -fgnuc-version=4.2.1 -fcolor-diagnostics -target-feature +outline-atomics -target-feature -fmv -faddrsig -D__GCC_HAVE_DWARF2_CFI_ASM=1 -o /tmp/test_50-6d342a.o -x c test_50.c 1. <eof> parser at end of file 2. Code generation 3. Running pass 'Function Pass Manager' on module 'test_50.c'. 4. Running pass 'Prologue/Epilogue Insertion & Frame Finalization' on function '@main' #0 0x0000ffffa4f12a88 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (/work/home/marakawa/LLVM/llvm-project/installs/release/bin/../lib/libLLVM-18git.so+0x7b2a88) #1 0x0000ffffa4f10ab0 llvm::sys::RunSignalHandlers() (/work/home/marakawa/LLVM/llvm-project/installs/release/bin/../lib/libLLVM-18git.so+0x7b0ab0) #2 0x0000ffffa4f10c30 SignalHandler(int) Signals.cpp:0:0 #3 0x0000ffffabd207a0 (linux-vdso.so.1+0x7a0) #4 0x0000ffffa4356274 raise (/lib64/libc.so.6+0x36274) #5 0x0000ffffa4340a2c abort (/lib64/libc.so.6+0x20a2c) #6 0x0000ffffa4e4e300 out_of_memory_new_handler() ErrorHandling.cpp:0:0 #7 0x0000ffffa4e4e318 llvm::install_out_of_memory_new_handler() (/work/home/marakawa/LLVM/llvm-project/installs/release/bin/../lib/libLLVM-18git.so+0x6ee318) #8 0x0000ffffa46414f0 operator new(unsigned long) (/lib64/libstdc++.so.6+0x914f0) #9 0x0000ffffa533a8a4 void std::vector<llvm::MCCFIInstruction, std::allocator<llvm::MCCFIInstruction>>::_M_realloc_insert<llvm::MCCFIInstruction const&>(__gnu_cxx::__normal_iterator<llvm::MCCFIInstruction*, std::vector<llvm::MCCFIInstruction, std::allocator<llvm::MCCFIInstruction>>>, llvm::MCCFIInstruction const&) (/work/home/marakawa/LLVM/llvm-project/installs/release/bin/../lib/libLLVM-18git.so+0xbda8a4) #10 0x0000ffffa533ade4 llvm::MachineFunction::addFrameInst(llvm::MCCFIInstruction const&) (/work/home/marakawa/LLVM/llvm-project/installs/release/bin/../lib/libLLVM-18git.so+0xbdade4) #11 0x0000ffffa704f904 emitFrameOffsetAdj(llvm::MachineBasicBlock&, llvm::MachineInstrBundleIterator<llvm::MachineInstr, false>, llvm::DebugLoc const&, unsigned int, unsigned int, long, unsigned int, llvm::TargetInstrInfo const*, llvm::MachineInstr::MIFlag, bool, bool*, bool, llvm::StackOffset, unsigned int) AArch64InstrInfo.cpp:0:0 #12 0x0000ffffa7050530 llvm::emitFrameOffset(llvm::MachineBasicBlock&, llvm::MachineInstrBundleIterator<llvm::MachineInstr, false>, llvm::DebugLoc const&, unsigned int, unsigned int, llvm::StackOffset, llvm::TargetInstrInfo const*, llvm::MachineInstr::MIFlag, bool, bool, bool*, bool, llvm::StackOffset, unsigned int) (/work/home/marakawa/LLVM/llvm-project/installs/release/bin/../lib/libLLVM-18git.so+0x28f0530) #13 0x0000ffffa6f914e0 llvm::AArch64FrameLowering::emitEpilogue(llvm::MachineFunction&, llvm::MachineBasicBlock&) const (/work/home/marakawa/LLVM/llvm-project/installs/release/bin/../lib/libLLVM-18git.so+0x28314e0) #14 0x0000ffffa546f8b8 (anonymous namespace)::PEI::runOnMachineFunction(llvm::MachineFunction&) PrologEpilogInserter.cpp:0:0 #15 0x0000ffffa5342b18 llvm::MachineFunctionPass::runOnFunction(llvm::Function&) (.part.80) MachineFunctionPass.cpp:0:0 #16 0x0000ffffa506c274 llvm::FPPassManager::runOnFunction(llvm::Function&) (/work/home/marakawa/LLVM/llvm-project/installs/release/bin/../lib/libLLVM-18git.so+0x90c274) #17 0x0000ffffa506c3d8 llvm::FPPassManager::runOnModule(llvm::Module&) (/work/home/marakawa/LLVM/llvm-project/installs/release/bin/../lib/libLLVM-18git.so+0x90c3d8) #18 0x0000ffffa506cf08 llvm::legacy::PassManagerImpl::run(llvm::Module&) (/work/home/marakawa/LLVM/llvm-project/installs/release/bin/../lib/libLLVM-18git.so+0x90cf08) #19 0x0000ffffa9bc9abc clang::EmitBackendOutput(clang::DiagnosticsEngine&, clang::HeaderSearchOptions const&, clang::CodeGenOptions const&, clang::TargetOptions const&, clang::LangOptions const&, llvm::StringRef, llvm::Module*, clang::BackendAction, llvm::IntrusiveRefCntPtr<llvm::vfs::FileSystem>, std::unique_ptr<llvm::raw_pwrite_stream, std::default_delete<llvm::raw_pwrite_stream>>) (/work/home/marakawa/LLVM/llvm-project/installs/release/bin/../lib/libclang-cpp.so.18git+0x1a99abc) #20 0x0000ffffa9f1ef6c clang::BackendConsumer::HandleTranslationUnit(clang::ASTContext&) (/work/home/marakawa/LLVM/llvm-project/installs/release/bin/../lib/libclang-cpp.so.18git+0x1deef6c) #21 0x0000ffffa8bc57a8 clang::ParseAST(clang::Sema&, bool, bool) (/work/home/marakawa/LLVM/llvm-project/installs/release/bin/../lib/libclang-cpp.so.18git+0xa957a8) #22 0x0000ffffa9f1e67c clang::CodeGenAction::ExecuteAction() (/work/home/marakawa/LLVM/llvm-project/installs/release/bin/../lib/libclang-cpp.so.18git+0x1dee67c) #23 0x0000ffffaa892f64 clang::FrontendAction::Execute() (/work/home/marakawa/LLVM/llvm-project/installs/release/bin/../lib/libclang-cpp.so.18git+0x2762f64) #24 0x0000ffffaa82e5c0 clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) (/work/home/marakawa/LLVM/llvm-project/installs/release/bin/../lib/libclang-cpp.so.18git+0x26fe5c0) #25 0x0000ffffaa90ee38 clang::ExecuteCompilerInvocation(clang::CompilerInstance*) (/work/home/marakawa/LLVM/llvm-project/installs/release/bin/../lib/libclang-cpp.so.18git+0x27dee38) #26 0x00000000004117d8 cc1_main(llvm::ArrayRef<char const*>, char const*, void*) (/work/home/marakawa/LLVM/llvm-project/installs/release/bin/clang-18+0x4117d8) #27 0x000000000040b188 ExecuteCC1Tool(llvm::SmallVectorImpl<char const*>&, llvm::ToolContext const&) driver.cpp:0:0 #28 0x000000000040dbc4 clang_main(int, char**, llvm::ToolContext const&) (/work/home/marakawa/LLVM/llvm-project/installs/release/bin/clang-18+0x40dbc4) #29 0x000000000040aa8c main (/work/home/marakawa/LLVM/llvm-project/installs/release/bin/clang-18+0x40aa8c) #30 0x0000ffffa4344384 __libc_start_main (/lib64/libc.so.6+0x24384) #31 0x000000000040aae0 _start (/work/home/marakawa/LLVM/llvm-project/installs/release/bin/clang-18+0x40aae0) clang: error: unable to execute command: Aborted (core dumped) clang: error: clang frontend command failed due to signal (use -v to see invocation) clang version 18.0.0 (https://github.com/llvm/llvm-project.git fe846bc9bd164ed89cef1caefb681e0aee3d4dec) Target: aarch64-unknown-linux-gnu Thread model: posix InstalledDir: /work/home/marakawa/LLVM/llvm-project/installs/release/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/test_50-7c5972.c clang: note: diagnostic msg: /tmp/test_50-7c5972.sh clang: note: diagnostic msg: ******************** $ ``` The latest development version has the same problem. [test_50-7c5972.sh] ``` # Crash reproducer for clang version 18.0.0 (https://github.com/llvm/llvm-project.git fe846bc9bd164ed89cef1caefb681e0aee3d4dec) # Driver args: "-O1" "test_50.c" # Original command: "/work/home/marakawa/LLVM/llvm-project/installs/release/bin/clang-18" "-cc1" "-triple" "aarch64-unknown-linux-gnu" "-emit-obj" "-dumpdir" "a-" "-disable-free" "-clear-ast-before-backend" "-disable-llvm-verifier" "-discard-value-names" "-main-file-name" "test_50.c" "-mrelocation-model" "pic" "-pic-level" "2" "-pic-is-pie" "-mframe-pointer=non-leaf" "-fmath-errno" "-ffp-contract=on" "-fno-rounding-math" "-mconstructor-aliases" "-funwind-tables=2" "-target-cpu" "generic" "-target-feature" "+neon" "-target-feature" "+v8a" "-target-abi" "aapcs" "-debugger-tuning=gdb" "-fdebug-compilation-dir=/work/home/marakawa/test/local_test/1619_" "-fcoverage-compilation-dir=/work/home/marakawa/test/local_test/1619_" "-resource-dir" "/work/home/marakawa/LLVM/llvm-project/installs/release/lib/clang/18" "-internal-isystem" "/work/home/marakawa/LLVM/llvm-project/installs/release/lib/clang/18/include" "-internal-isystem" "/usr/local/include" "-internal-isystem" "/opt/rh/gcc-toolset-12/root/usr/lib/gcc/aarch64-redhat-linux/12/../../../../aarch64-redhat-linux/include" "-internal-externc-isystem" "/include" "-internal-externc-isystem" "/usr/include" "-O1" "-ferror-limit" "19" "-fno-signed-char" "-fgnuc-version=4.2.1" "-fcolor-diagnostics" "-target-feature" "+outline-atomics" "-target-feature" "-fmv" "-faddrsig" "-D__GCC_HAVE_DWARF2_CFI_ASM=1" "-o" "/tmp/test_50-6d342a.o" "-x" "c" "test_50.c" "/work/home/marakawa/LLVM/llvm-project/installs/release/bin/clang-18" "-cc1" "-triple" "aarch64-unknown-linux-gnu" "-emit-obj" "-dumpdir" "a-" "-disable-free" "-clear-ast-before-backend" "-disable-llvm-verifier" "-discard-value-names" "-main-file-name" "test_50.c" "-mrelocation-model" "pic" "-pic-level" "2" "-pic-is-pie" "-mframe-pointer=non-leaf" "-fmath-errno" "-ffp-contract=on" "-fno-rounding-math" "-mconstructor-aliases" "-funwind-tables=2" "-target-cpu" "generic" "-target-feature" "+neon" "-target-feature" "+v8a" "-target-abi" "aapcs" "-debugger-tuning=gdb" "-fdebug-compilation-dir=/work/home/marakawa/test/local_test/1619_" "-fcoverage-compilation-dir=/work/home/marakawa/test/local_test/1619_" "-O1" "-ferror-limit" "19" "-fno-signed-char" "-fgnuc-version=4.2.1" "-fcolor-diagnostics" "-target-feature" "+outline-atomics" "-target-feature" "-fmv" "-faddrsig" "-D__GCC_HAVE_DWARF2_CFI_ASM=1" "-x" "c" "test_50-7c5972.c" ```