Created
October 21, 2025 06:33
-
-
Save Enselic/ae9fe91a83e35a556f2e35834123ab4a to your computer and use it in GitHub Desktop.
ELFWriter::writeRelocations
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| #0 (anonymous namespace)::ELFWriter::writeRelocations (this=0x7fffce9e32f0, Sec=...) at /home/martin/src/rust/src/llvm-project/llvm/lib/MC/ELFObjectWriter.cpp:814 | |
| #1 0x00007ffff3132282 in (anonymous namespace)::ELFWriter::writeObject (this=0x7fffce9e32f0) at /home/martin/src/rust/src/llvm-project/llvm/lib/MC/ELFObjectWriter.cpp:1103 | |
| #2 0x00007ffff3133ce7 in llvm::ELFObjectWriter::writeObject (this=0x7fffd4ae7aa0) at /home/martin/src/rust/src/llvm-project/llvm/lib/MC/ELFObjectWriter.cpp:1411 | |
| #3 0x00007ffff31507c7 in llvm::MCAssembler::Finish (this=0x7fffc40c0b60) at /home/martin/src/rust/src/llvm-project/llvm/lib/MC/MCAssembler.cpp:844 | |
| #4 0x00007ffff31af6f8 in llvm::MCObjectStreamer::finishImpl (this=0x7fffc4135850) at /home/martin/src/rust/src/llvm-project/llvm/lib/MC/MCObjectStreamer.cpp:816 | |
| #5 0x00007ffff3191f1a in llvm::MCELFStreamer::finishImpl (this=0x7fffc4135850) at /home/martin/src/rust/src/llvm-project/llvm/lib/MC/MCELFStreamer.cpp:520 | |
| #6 0x00007ffff31db31b in llvm::MCStreamer::finish (this=0x7fffc4135850, EndLoc=...) at /home/martin/src/rust/src/llvm-project/llvm/lib/MC/MCStreamer.cpp:1109 | |
| #7 0x00007ffff0bc755b in llvm::AsmPrinter::doFinalization (this=0x7fffc4137250, M=...) at /home/martin/src/rust/src/llvm-project/llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp:2777 | |
| #8 0x00007ffff2fd8e77 in llvm::FPPassManager::doFinalization (this=0x7fffc4134c20, M=...) at /home/martin/src/rust/src/llvm-project/llvm/lib/IR/LegacyPassManager.cpp:1462 | |
| #9 0x00007ffff2fd9455 in (anonymous namespace)::MPPassManager::runOnModule (this=0x7fffc40db620, M=...) at /home/martin/src/rust/src/llvm-project/llvm/lib/IR/LegacyPassManager.cpp:1549 | |
| #10 0x00007ffff2fd3fde in llvm::legacy::PassManagerImpl::run (this=0x7fffc40ead00, M=...) at /home/martin/src/rust/src/llvm-project/llvm/lib/IR/LegacyPassManager.cpp:531 | |
| #11 0x00007ffff2fd9b95 in llvm::legacy::PassManager::run (this=0x7fffc40c2770, M=...) at /home/martin/src/rust/src/llvm-project/llvm/lib/IR/LegacyPassManager.cpp:1640 | |
| #12 0x00007fffecb61ced in LLVMRustWriteOutputFile (Target=0x7fffd4a9bfa0, PMR=0x7fffc40c2770, M=0x7fffd41acc50, Path=<optimized out>, DwoPath=0x0, RustFileType=LLVMRustFileType::ObjectFile, | |
| VerifyIR=false) at llvm-wrapper/PassWrapper.cpp:437 | |
| #13 0x00007fffecabd793 in write_output_file () at compiler/rustc_codegen_llvm/src/back/write.rs:81 | |
| #14 0x00007fffecac0881 in codegen () at compiler/rustc_codegen_llvm/src/back/write.rs:976 | |
| #15 0x00007fffeca42dbe in <rustc_codegen_llvm::LlvmCodegenBackend as rustc_codegen_ssa::traits::write::WriteBackendMethods>::codegen () at compiler/rustc_codegen_llvm/src/lib.rs:219 | |
| #16 0x00007fffecae429b in execute_optimize_work_item<rustc_codegen_llvm::LlvmCodegenBackend> () at compiler/rustc_codegen_ssa/src/back/write.rs:863 | |
| #17 0x00007fffeca39864 in {closure#0}<rustc_codegen_llvm::LlvmCodegenBackend> () at compiler/rustc_codegen_ssa/src/back/write.rs:1727 | |
| #18 call_once<rustc_codegen_ssa::back::write::WorkItemResult<rustc_codegen_llvm::LlvmCodegenBackend>, rustc_codegen_ssa::back::write::spawn_work::{closure#0}::{closure_env#0}<rustc_codegen_llvm::Llv | |
| mCodegenBackend>> () at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/core/src/panic/unwind_safe.rs:274 | |
| #19 do_call<core::panic::unwind_safe::AssertUnwindSafe<rustc_codegen_ssa::back::write::spawn_work::{closure#0}::{closure_env#0}<rustc_codegen_llvm::LlvmCodegenBackend>>, rustc_codegen_ssa::back::wri | |
| te::WorkItemResult<rustc_codegen_llvm::LlvmCodegenBackend>> () at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/panicking.rs:590 | |
| #20 catch_unwind<rustc_codegen_ssa::back::write::WorkItemResult<rustc_codegen_llvm::LlvmCodegenBackend>, core::panic::unwind_safe::AssertUnwindSafe<rustc_codegen_ssa::back::write::spawn_work::{closu | |
| re#0}::{closure_env#0}<rustc_codegen_llvm::LlvmCodegenBackend>>> () at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/panicking.rs:553 | |
| #21 catch_unwind<core::panic::unwind_safe::AssertUnwindSafe<rustc_codegen_ssa::back::write::spawn_work::{closure#0}::{closure_env#0}<rustc_codegen_llvm::LlvmCodegenBackend>>, rustc_codegen_ssa::back | |
| ::write::WorkItemResult<rustc_codegen_llvm::LlvmCodegenBackend>> () at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/panic.rs:359 | |
| #22 {closure#0}<rustc_codegen_llvm::LlvmCodegenBackend> () at compiler/rustc_codegen_ssa/src/back/write.rs:1726 | |
| #23 {closure#0}<rustc_codegen_ssa::back::write::spawn_work::{closure_env#0}<rustc_codegen_llvm::LlvmCodegenBackend>, ()> () at compiler/rustc_codegen_llvm/src/lib.rs:150 | |
| #24 __rust_begin_short_backtrace<rustc_codegen_llvm::{impl#2}::spawn_named_thread::{closure_env#0}<rustc_codegen_ssa::back::write::spawn_work::{closure_env#0}<rustc_codegen_llvm::LlvmCodegenBackend> | |
| , ()>, ()> () at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/sys/backtrace.rs:158 | |
| #25 0x00007fffecaf7259 in {closure#0}<rustc_codegen_llvm::{impl#2}::spawn_named_thread::{closure_env#0}<rustc_codegen_ssa::back::write::spawn_work::{closure_env#0}<rustc_codegen_llvm::LlvmCodegenBac | |
| kend>, ()>, ()> () at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/thread/mod.rs:559 | |
| #26 call_once<(), std::thread::{impl#0}::spawn_unchecked_::{closure#1}::{closure_env#0}<rustc_codegen_llvm::{impl#2}::spawn_named_thread::{closure_env#0}<rustc_codegen_ssa::back::write::spawn_work:: | |
| #27 do_call<core::panic::unwind_safe::AssertUnwindSafe<std::thread::{impl#0}::spawn_unchecked_::{closure#1}::{closure_env#0}<rustc_codegen_llvm::{impl#2}::spawn_named_thread::{closure_env#0}<rustc_c | |
| odegen_ssa::back::write::spawn_work::{closure_env#0}<rustc_codegen_llvm::LlvmCodegenBackend>, ()>, ()>>, ()> () at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/panicking.rs:590 | |
| #28 catch_unwind<(), core::panic::unwind_safe::AssertUnwindSafe<std::thread::{impl#0}::spawn_unchecked_::{closure#1}::{closure_env#0}<rustc_codegen_llvm::{impl#2}::spawn_named_thread::{closure_env#0 | |
| }<rustc_codegen_ssa::back::write::spawn_work::{closure_env#0}<rustc_codegen_llvm::LlvmCodegenBackend>, ()>, ()>>> () | |
| at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/panicking.rs:553 | |
| #29 catch_unwind<core::panic::unwind_safe::AssertUnwindSafe<std::thread::{impl#0}::spawn_unchecked_::{closure#1}::{closure_env#0}<rustc_codegen_llvm::{impl#2}::spawn_named_thread::{closure_env#0}<ru | |
| stc_codegen_ssa::back::write::spawn_work::{closure_env#0}<rustc_codegen_llvm::LlvmCodegenBackend>, ()>, ()>>, ()> () at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/panic.rs:359 | |
| #30 {closure#1}<rustc_codegen_llvm::{impl#2}::spawn_named_thread::{closure_env#0}<rustc_codegen_ssa::back::write::spawn_work::{closure_env#0}<rustc_codegen_llvm::LlvmCodegenBackend>, ()>, ()> () | |
| at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/thread/mod.rs:557 | |
| #31 call_once<std::thread::{impl#0}::spawn_unchecked_::{closure_env#1}<rustc_codegen_llvm::{impl#2}::spawn_named_thread::{closure_env#0}<rustc_codegen_ssa::back::write::spawn_work::{closure_env#0}<r | |
| ustc_codegen_llvm::LlvmCodegenBackend>, ()>, ()>, ()> () at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/core/src/ops/function.rs:250 | |
| #32 0x00007ffff74a49af in alloc::boxed::{impl#29}::call_once<(), dyn core::ops::function::FnOnce<(), Output=()>, alloc::alloc::Global> () at library/alloc/src/boxed.rs:1985 | |
| #33 std::sys::thread::unix::{impl#2}::new::thread_start () at library/std/src/sys/thread/unix.rs:126 | |
| #34 0x00007fffe2737aa4 in start_thread (arg=<optimized out>) at ./nptl/pthread_create.c:447 | |
| #35 0x00007fffe27c4c6c in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:78 |
Author
Enselic
commented
Oct 22, 2025
Author
b llvm::Module::eraseAlias(llvm::GlobalAlias*)
b llvm::Module::eraseGlobalVariable(llvm::GlobalVariable*)
b llvm::Module::removeAlias(llvm::GlobalAlias*)
b llvm::Module::removeGlobalVariable(llvm::GlobalVariable*)
(gdb) bt 20
#0 llvm::Module::eraseGlobalVariable (this=0x7fffd41acc50, GV=0x7fffd4b1f6b0) at /home/martin/src/rust/src/llvm-project/llvm/include/llvm/IR/Module.h:565
#1 0x00007ffff2f39410 in llvm::GlobalVariable::eraseFromParent (this=0x7fffd4b1f6b0) at /home/martin/src/rust/src/llvm-project/llvm/lib/IR/Globals.cpp:507
#2 0x00007ffff2f37b0e in llvm::GlobalValue::eraseFromParent (this=0x7fffd4b1f6b0) at /home/martin/src/rust/src/llvm-project/llvm/include/llvm/IR/Value.def:98
#3 0x00007fffef3d5438 in deleteIfDead(llvm::GlobalValue &, llvm::SmallPtrSetImpl<llvm::Comdat const*> &, llvm::function_ref<void(llvm::Function&)>) (GV=..., NotDiscardableComdats=...,
DeleteFnCallback=...) at /home/martin/src/rust/src/llvm-project/llvm/lib/Transforms/IPO/GlobalOpt.cpp:1355
#4 0x00007fffef3d8726 in OptimizeGlobalVars(llvm::Module &, llvm::function_ref<llvm::TargetTransformInfo&(llvm::Function&)>, llvm::function_ref<llvm::TargetLibraryInfo&(llvm::Function&)>, llvm::function_ref<llvm::DominatorTree&(llvm::Function&)>, llvm::SmallPtrSetImpl<llvm::Comdat const*> &) (M=..., GetTTI=..., GetTLI=..., LookupDomTree=..., NotDiscardableComdats=...)
at /home/martin/src/rust/src/llvm-project/llvm/lib/Transforms/IPO/GlobalOpt.cpp:2062
#5 0x00007fffef3db791 in optimizeGlobalsInModule(llvm::Module &, const llvm::DataLayout &, llvm::function_ref<llvm::TargetLibraryInfo&(llvm::Function&)>, llvm::function_ref<llvm::TargetTransformInfo&(llvm::Function&)>, llvm::function_ref<llvm::BlockFrequencyInfo&(llvm::Function&)>, llvm::function_ref<llvm::DominatorTree&(llvm::Function&)>, llvm::function_ref<void(llvm::Function&)>, llvm::function_ref<void(llvm::Function&)>) (M=..., DL=..., GetTLI=..., GetTTI=..., GetBFI=..., LookupDomTree=..., ChangedCFGCallback=..., DeleteFnCallback=...)
at /home/martin/src/rust/src/llvm-project/llvm/lib/Transforms/IPO/GlobalOpt.cpp:2698
#6 0x00007fffef3dbcb4 in llvm::GlobalOptPass::run (this=0x7fffc4003028, M=..., AM=...) at /home/martin/src/rust/src/llvm-project/llvm/lib/Transforms/IPO/GlobalOpt.cpp:2753
#7 0x00007fffef07624b in llvm::detail::PassModel<llvm::Module, llvm::GlobalOptPass, llvm::AnalysisManager<llvm::Module>>::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) (
this=0x7fffc4003020, IR=..., AM=...) at /home/martin/src/rust/src/llvm-project/llvm/include/llvm/IR/PassManagerInternal.h:91
#8 0x00007ffff304afdd in llvm::PassManager<llvm::Module, llvm::AnalysisManager<llvm::Module>>::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) (this=0x7fffce9e26b0, IR=..., AM=...)
at /home/martin/src/rust/src/llvm-project/llvm/include/llvm/IR/PassManagerImpl.h:76
#9 0x00007fffecb62ecb in LLVMRustOptimize (ModuleRef=<optimized out>, TMRef=<optimized out>, OptLevelRust=<optimized out>, OptStage=<optimized out>, IsLinkerPluginLTO=<optimized out>,
NoPrepopulatePasses=<optimized out>, VerifyIR=<optimized out>, LintIR=<optimized out>, ThinLTOBufferRef=<optimized out>, EmitThinLTO=<optimized out>, EmitThinLTOSummary=<optimized out>,
MergeFunctions=<optimized out>, UnrollLoops=<optimized out>, SLPVectorize=<optimized out>, LoopVectorize=<optimized out>, DisableSimplifyLibCalls=<optimized out>,
EmitLifetimeMarkers=<optimized out>, RunEnzyme=<optimized out>, PrintBeforeEnzyme=<optimized out>, PrintAfterEnzyme=<optimized out>, PrintPasses=<optimized out>,
SanitizerOptions=<optimized out>, PGOGenPath=<optimized out>, PGOUsePath=<optimized out>, InstrumentCoverage=<optimized out>, InstrProfileOutput=<optimized out>,
PGOSampleUsePath=<optimized out>, DebugInfoForProfiling=<optimized out>, LlvmSelfProfiler=<optimized out>, BeforePassCallback=<optimized out>, AfterPassCallback=<optimized out>,
ExtraPasses=<optimized out>, ExtraPassesLen=<optimized out>, LLVMPlugins=<optimized out>, LLVMPluginsLen=<optimized out>) at llvm-wrapper/PassWrapper.cpp:926
#10 0x00007fffecabce86 in llvm_optimize () at compiler/rustc_codegen_llvm/src/back/write.rs:674
#11 0x00007fffecac155b in optimize () at compiler/rustc_codegen_llvm/src/back/write.rs:764
#12 0x00007fffecae41b6 in execute_optimize_work_item<rustc_codegen_llvm::LlvmCodegenBackend> () at compiler/rustc_codegen_ssa/src/back/write.rs:843
#13 0x00007fffeca399e4 in {closure#0}<rustc_codegen_llvm::LlvmCodegenBackend> () at compiler/rustc_codegen_ssa/src/back/write.rs:1727
#14 call_once<rustc_codegen_ssa::back::write::WorkItemResult<rustc_codegen_llvm::LlvmCodegenBackend>, rustc_codegen_ssa::back::write::spawn_work::{closure#0}::{closure_env#0}<rustc_codegen_llvm::LlvmCodegenBackend>> () at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/core/src/panic/unwind_safe.rs:274
#15 do_call<core::panic::unwind_safe::AssertUnwindSafe<rustc_codegen_ssa::back::write::spawn_work::{closure#0}::{closure_env#0}<rustc_codegen_llvm::LlvmCodegenBackend>>, rustc_codegen_ssa::back::write::WorkItemResult<rustc_codegen_llvm::LlvmCodegenBackend>> () at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/panicking.rs:590
#16 catch_unwind<rustc_codegen_ssa::back::write::WorkItemResult<rustc_codegen_llvm::LlvmCodegenBackend>, core::panic::unwind_safe::AssertUnwindSafe<rustc_codegen_ssa::back::write::spawn_work::{closure#0}::{closure_env#0}<rustc_codegen_llvm::LlvmCodegenBackend>>> () at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/panicking.rs:553
#17 catch_unwind<core::panic::unwind_safe::AssertUnwindSafe<rustc_codegen_ssa::back::write::spawn_work::{closure#0}::{closure_env#0}<rustc_codegen_llvm::LlvmCodegenBackend>>, rustc_codegen_ssa::back::write::WorkItemResult<rustc_codegen_llvm::LlvmCodegenBackend>> () at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/panic.rs:359
#18 {closure#0}<rustc_codegen_llvm::LlvmCodegenBackend> () at compiler/rustc_codegen_ssa/src/back/write.rs:1726
#19 {closure#0}<rustc_codegen_ssa::back::write::spawn_work::{closure_env#0}<rustc_codegen_llvm::LlvmCodegenBackend>, ()> () at compiler/rustc_codegen_llvm/src/lib.rs:150
(More stack frames follow...)
(gdb)
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment