Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

ICE on valid code: UNREACHABLE executed at llvm-project/clang/lib/CodeGen/CGExpr.cpp, __attribute__((naked)) #50541

Closed
Assignees
AaronBallman
Labels
bugzillaIssues migrated from bugzillaclang:codegenIR generation bugs: mangling, exceptions, etc.
@chengniansun

Description

@chengniansun
Bugzilla Link51197
Versiontrunk
OSAll
CC@zygoloid

Extended Description

$ clang-trunk -v
clang version 13.0.0 (https://github.com/llvm/llvm-project.gitab5ac65)
Target: x86_64-unknown-linux-gnu
Thread model: posix
InstalledDir: /home/cnsun/usr/bin
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/10
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/8
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/9
Selected GCC installation: /usr/lib/gcc/x86_64-linux-gnu/10
Candidate multilib: .;@m64
Candidate multilib: 32;@m32
Candidate multilib: x32;@MX32
Selected multilib: .;@m64

$ cat mutant.c
attribute((naked)) foo(int len, char[len]) {}

$ clang-trunk mutant.c
mutant.c:1:24: warning: type specifier missing, defaults to 'int' [-Wimplicit-int]
attribute((naked)) foo(int len, char[len]) {}
^
mutant.c:1:41: warning: omitting the parameter name in a function definition is a C2x extension [-Wc2x-extensions]
attribute((naked)) foo(int len, char[len]) {}
^
DeclRefExpr for Decl not entered in LocalDeclMap?
UNREACHABLE executed at /tmp/tmp.Gcp8nSn9Hr-clang-builder/llvm-project/clang/lib/CodeGen/CGExpr.cpp:2794!
PLEASE submit a bug report tohttps://bugs.llvm.org/ and include the crash backtrace, preprocessed source, and associated run script.
Stack dump:
0.Program arguments: /scratch/software/clang-trunk/bin/clang-13 -cc1 -triple x86_64-unknown-linux-gnu -emit-obj -mrelax-all --mrelax-relocations -disable-free -main-file-name mutant.c -mrelocation-model static -mframe-pointer=all -fmath-errno -fno-rounding-math -mconstructor-aliases -munwind-tables -target-cpu x86-64 -tune-cpu generic -debugger-tuning=gdb -fcoverage-compilation-dir=/scratch/cnsun/workspace/perses-fuzzer/temp_testing_campaigns/default_finding_folder_c/crash_20210707_101723_1c32/delta/perses_result -resource-dir /scratch/software/clang-trunk/lib/clang/13.0.0 -c-isystem . -c-isystem /usr/local/include/cmsith -internal-isystem /scratch/software/clang-trunk/lib/clang/13.0.0/include -internal-isystem /usr/local/include -internal-isystem /usr/lib/gcc/x86_64-linux-gnu/10/../../../../x86_64-linux-gnu/include -internal-externc-isystem /usr/include/x86_64-linux-gnu -internal-externc-isystem /include -internal-externc-isystem /usr/include -fdebug-compilation-dir=/scratch/cnsun/workspace/perses-fuzzer/temp_testing_campaigns/default_finding_folder_c/crash_20210707_101723_1c32/delta/perses_result -ferror-limit 19 -fgnuc-version=4.2.1 -faddrsig -D__GCC_HAVE_DWARF2_CFI_ASM=1 -o /tmp/mutant-8f3361.o -x c mutant.c

  1. parser at end of file
  2. mutant.c:1:24: LLVM IR generation of declaration 'foo'
  3. mutant.c:1:24: Generating code for declaration 'foo'
    #​0 0x000055bbe2b60754 PrintStackTraceSignalHandler(void*) Signals.cpp:0:0
    #​1 0x000055bbe2b5de6e SignalHandler(int) Signals.cpp:0:0
    #​2 0x00007fd9c1a1d3c0 __restore_rt (/lib/x86_64-linux-gnu/libpthread.so.0+0x153c0)
    #​3 0x00007fd9c14bc18b raise /build/glibc-ZN95T4/glibc-2.31/signal/../sysdeps/unix/sysv/linux/raise.c:51:1
    #​4 0x00007fd9c149b859 abort /build/glibc-ZN95T4/glibc-2.31/stdlib/abort.c:81:7
    #​5 0x000055bbe2aaa94e (/scratch/software/clang-trunk/bin/clang-13+0x3a6f94e)
    #​6 0x000055bbe3228da8 clang::CodeGen::CodeGenFunction::EmitDeclRefLValue(clang::DeclRefExpr const*) (/scratch/software/clang-trunk/bin/clang-13+0x41edda8)
    #​7 0x000055bbe3223ee9 clang::CodeGen::CodeGenFunction::EmitLValue(clang::Expr const*) (/scratch/software/clang-trunk/bin/clang-13+0x41e8ee9)
    #​8 0x000055bbe322e5fc clang::CodeGen::CodeGenFunction::EmitCheckedLValue(clang::Expr const*, clang::CodeGen::CodeGenFunction::TypeCheckKind) (/scratch/software/clang-trunk/bin/clang-13+0x41f35fc)
    #​9 0x000055bbe3269e21 (anonymous namespace)::ScalarExprEmitter::EmitLoadOfLValue(clang::Expr const*) CGExprScalar.cpp:0:0
    #​10 0x000055bbe3269454 (anonymous namespace)::ScalarExprEmitter::Visit(clang::Expr*) CGExprScalar.cpp:0:0
    #​11 0x000055bbe326fd53 (anonymous namespace)::ScalarExprEmitter::VisitCastExpr(clang::CastExpr*) CGExprScalar.cpp:0:0
    #​12 0x000055bbe32677ce (anonymous namespace)::ScalarExprEmitter::Visit(clang::Expr*) CGExprScalar.cpp:0:0
    #​13 0x000055bbe326982a clang::CodeGen::CodeGenFunction::EmitScalarExpr(clang::Expr const*, bool) (/scratch/software/clang-trunk/bin/clang-13+0x422e82a)
    #​14 0x000055bbe2f63eec clang::CodeGen::CodeGenFunction::EmitVariablyModifiedType(clang::QualType) (/scratch/software/clang-trunk/bin/clang-13+0x3f28eec)
    #​15 0x000055bbe2f660ec clang::CodeGen::CodeGenFunction::StartFunction(clang::GlobalDecl, clang::QualType, llvm::Function*, clang::CodeGen::CGFunctionInfo const&, clang::CodeGen::FunctionArgList const&, clang::SourceLocation, clang::SourceLocation) (/scratch/software/clang-trunk/bin/clang-13+0x3f2b0ec)
    #​16 0x000055bbe2f6ae3f clang::CodeGen::CodeGenFunction::GenerateCode(clang::GlobalDecl, llvm::Function*, clang::CodeGen::CGFunctionInfo const&) (/scratch/software/clang-trunk/bin/clang-13+0x3f2fe3f)
    #​17 0x000055bbe2fc54c6 clang::CodeGen::CodeGenModule::EmitGlobalFunctionDefinition(clang::GlobalDecl, llvm::GlobalValue*) (/scratch/software/clang-trunk/bin/clang-13+0x3f8a4c6)
    #​18 0x000055bbe2fc0f35 clang::CodeGen::CodeGenModule::EmitGlobalDefinition(clang::GlobalDecl, llvm::GlobalValue*) (/scratch/software/clang-trunk/bin/clang-13+0x3f85f35)
    #​19 0x000055bbe2fc139b clang::CodeGen::CodeGenModule::EmitGlobal(clang::GlobalDecl) (/scratch/software/clang-trunk/bin/clang-13+0x3f8639b)
    #​20 0x000055bbe2fc9eb2 clang::CodeGen::CodeGenModule::EmitTopLevelDecl(clang::Decl*) (.part.0) CodeGenModule.cpp:0:0
    #​21 0x000055bbe3cf6179 (anonymous namespace)::CodeGeneratorImpl::HandleTopLevelDecl(clang::DeclGroupRef) ModuleBuilder.cpp:0:0
    #​22 0x000055bbe3ce8380 clang::BackendConsumer::HandleTopLevelDecl(clang::DeclGroupRef) (/scratch/software/clang-trunk/bin/clang-13+0x4cad380)
    #​23 0x000055bbe4db8d34 clang::ParseAST(clang::Sema&, bool, bool) (/scratch/software/clang-trunk/bin/clang-13+0x5d7dd34)
    #​24 0x000055bbe3cf32f8 clang::CodeGenAction::ExecuteAction() (/scratch/software/clang-trunk/bin/clang-13+0x4cb82f8)
    #​25 0x000055bbe3591419 clang::FrontendAction::Execute() (/scratch/software/clang-trunk/bin/clang-13+0x4556419)
    #​26 0x000055bbe352707e clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) (/scratch/software/clang-trunk/bin/clang-13+0x44ec07e)
    #​27 0x000055bbe366f710 clang::ExecuteCompilerInvocation(clang::CompilerInstance*) (/scratch/software/clang-trunk/bin/clang-13+0x4634710)
    #​28 0x000055bbe03db15d cc1_main(llvm::ArrayRef<char const*>, char const*, void*) (/scratch/software/clang-trunk/bin/clang-13+0x13a015d)
    #​29 0x000055bbe03d74a8 ExecuteCC1Tool(llvm::SmallVectorImpl<char const*>&) driver.cpp:0:0
    #​30 0x000055bbe0302126 main (/scratch/software/clang-trunk/bin/clang-13+0x12c7126)
    #​31 0x00007fd9c149d0b3 __libc_start_main /build/glibc-ZN95T4/glibc-2.31/csu/../csu/libc-start.c:342:3
    #​32 0x000055bbe03d701e _start (/scratch/software/clang-trunk/bin/clang-13+0x139c01e)
    clang-13: error: unable to execute command: Aborted (core dumped)
    clang-13: error: clang frontend command failed due to signal (use -v to see invocation)
    clang version 13.0.0 (https://github.com/llvm/llvm-project.gitab5ac65)
    Target: x86_64-unknown-linux-gnu
    Thread model: posix
    InstalledDir: /home/cnsun/usr/bin
    clang-13: note: diagnostic msg:

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


Metadata

Metadata

Assignees

Labels

bugzillaIssues migrated from bugzillaclang:codegenIR generation bugs: mangling, exceptions, etc.

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions


    [8]ページ先頭

    ©2009-2025 Movatter.jp