arm32 link error for lto and release mode

workman workman at gmail.com
Mon Aug 23 15:55:43 UTC 2021


not use lto or not in release mode has no problem.


```sh
all
1.	Running pass 'Function Pass Manager' on module 'ld-temp.o'.
2.	Running pass 'ARM Instruction Selection' on function '@_onLoop'
  #0 0x00000000025bd168 
llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) 
(android-ndk-r23/toolchains/llvm/prebuilt/linux-x86_64/bin/ld.lld+0x25bd168)
  #1 0x00000000025bcff0 llvm::sys::RunSignalHandlers() 
(android-ndk-r23/toolchains/llvm/prebuilt/linux-x86_64/bin/ld.lld+0x25bcff0)
  #2 0x00000000025bd63a 
(android-ndk-r23/toolchains/llvm/prebuilt/linux-x86_64/bin/ld.lld+0x25bd63a)
  #3 0x00007f809a15c140 __restore_rt 
(/lib/x86_64-linux-gnu/libpthread.so.0+0x14140)
  #4 0x000000000182dda3 
llvm::DataLayout::getAlignment(llvm::Type*, bool) const 
(android-ndk-r23/toolchains/llvm/prebuilt/linux-x86_64/bin/ld.lld+0x182dda3)
  #5 0x0000000002919867 
(android-ndk-r23/toolchains/llvm/prebuilt/linux-x86_64/bin/ld.lld+0x2919867)
  #6 0x0000000001c6fae5 
llvm::TargetLowering::LowerCallTo(llvm::TargetLowering::CallLoweringInfo&) const (android-ndk-r23/toolchains/llvm/prebuilt/linux-x86_64/bin/ld.lld+0x1c6fae5)
  #7 0x0000000001c43921 
llvm::SelectionDAGBuilder::lowerInvokable(llvm::TargetLowering::CallLoweringInfo&, llvm::BasicBlock const*) (android-ndk-r23/toolchains/llvm/prebuilt/linux-x86_64/bin/ld.lld+0x1c43921)
  #8 0x0000000001c425f8 
llvm::SelectionDAGBuilder::LowerCallTo(llvm::CallBase const&, 
llvm::SDValue, bool, llvm::BasicBlock const*) 
(android-ndk-r23/toolchains/llvm/prebuilt/linux-x86_64/bin/ld.lld+0x1c425f8)
  #9 0x0000000001c3cd00 
llvm::SelectionDAGBuilder::visitCall(llvm::CallInst const&) 
(android-ndk-r23/toolchains/llvm/prebuilt/linux-x86_64/bin/ld.lld+0x1c3cd00)
#10 0x0000000001c3c5fc 
llvm::SelectionDAGBuilder::visit(llvm::Instruction const&) 
(android-ndk-r23/toolchains/llvm/prebuilt/linux-x86_64/bin/ld.lld+0x1c3c5fc)
#11 0x0000000001c3c191 
llvm::SelectionDAGISel::SelectBasicBlock(llvm::ilist_iterator<llvm::ilist_detail::node_options<llvm::Instruction, false, false, void>, false, true>, llvm::ilist_iterator<llvm::ilist_detail::node_options<llvm::Instruction, false, false, void>, false, true>, bool&) (android-ndk-r23/toolchains/llvm/prebuilt/linux-x86_64/bin/ld.lld+0x1c3c191)
#12 0x0000000001c3b047 
llvm::SelectionDAGISel::SelectAllBasicBlocks(llvm::Function 
const&) 
(android-ndk-r23/toolchains/llvm/prebuilt/linux-x86_64/bin/ld.lld+0x1c3b047)
#13 0x0000000001c383a4 
llvm::SelectionDAGISel::runOnMachineFunction(llvm::MachineFunction&) (android-ndk-r23/toolchains/llvm/prebuilt/linux-x86_64/bin/ld.lld+0x1c383a4)
#14 0x0000000001c37ec1 
(android-ndk-r23/toolchains/llvm/prebuilt/linux-x86_64/bin/ld.lld+0x1c37ec1)
#15 0x0000000001ff24da 
llvm::MachineFunctionPass::runOnFunction(llvm::Function&) 
(android-ndk-r23/toolchains/llvm/prebuilt/linux-x86_64/bin/ld.lld+0x1ff24da)
#16 0x0000000001a09037 
llvm::FPPassManager::runOnFunction(llvm::Function&) 
(android-ndk-r23/toolchains/llvm/prebuilt/linux-x86_64/bin/ld.lld+0x1a09037)
#17 0x0000000001a08d2f 
llvm::FPPassManager::runOnModule(llvm::Module&) 
(android-ndk-r23/toolchains/llvm/prebuilt/linux-x86_64/bin/ld.lld+0x1a08d2f)
#18 0x0000000002280f04 
llvm::legacy::PassManagerImpl::run(llvm::Module&) 
(android-ndk-r23/toolchains/llvm/prebuilt/linux-x86_64/bin/ld.lld+0x2280f04)
#19 0x0000000002b89252 
(android-ndk-r23/toolchains/llvm/prebuilt/linux-x86_64/bin/ld.lld+0x2b89252)
#20 0x0000000002b78ffd llvm::lto::backend(llvm::lto::Config 
const&, 
std::__1::function<std::__1::unique_ptr<llvm::lto::NativeObjectStream, std::__1::default_delete<llvm::lto::NativeObjectStream> > (unsigned int)>, unsigned int, std::__1::unique_ptr<llvm::Module, std::__1::default_delete<llvm::Module> >, llvm::ModuleSummaryIndex&) (android-ndk-r23/toolchains/llvm/prebuilt/linux-x86_64/bin/ld.lld+0x2b78ffd)
#21 0x0000000002b780d8 
llvm::lto::LTO::runRegularLTO(std::__1::function<std::__1::unique_ptr<llvm::lto::NativeObjectStream, std::__1::default_delete<llvm::lto::NativeObjectStream> > (unsigned int)>) (android-ndk-r23/toolchains/llvm/prebuilt/linux-x86_64/bin/ld.lld+0x2b780d8)
#22 0x000000000260879e 
llvm::lto::LTO::run(std::__1::function<std::__1::unique_ptr<llvm::lto::NativeObjectStream, std::__1::default_delete<llvm::lto::NativeObjectStream> > (unsigned int)>, std::__1::function<std::__1::function<std::__1::unique_ptr<llvm::lto::NativeObjectStream, std::__1::default_delete<llvm::lto::NativeObjectStream> > (unsigned int)> (unsigned int, llvm::StringRef)>) (android-ndk-r23/toolchains/llvm/prebuilt/linux-x86_64/bin/ld.lld+0x260879e)
#23 0x000000000265bfc0 lld::elf::BitcodeCompiler::compile() 
(android-ndk-r23/toolchains/llvm/prebuilt/linux-x86_64/bin/ld.lld+0x265bfc0)
#24 0x000000000264ed7c void 
lld::elf::LinkerDriver::compileBitcodeFiles<llvm::object::ELFType<(llvm::support::endianness)1, false> >() (android-ndk-r23/toolchains/llvm/prebuilt/linux-x86_64/bin/ld.lld+0x264ed7c)
#25 0x00000000026466e1 void 
lld::elf::LinkerDriver::link<llvm::object::ELFType<(llvm::support::endianness)1, false> >(llvm::opt::InputArgList&) (android-ndk-r23/toolchains/llvm/prebuilt/linux-x86_64/bin/ld.lld+0x26466e1)
#26 0x0000000002641287 
lld::elf::LinkerDriver::linkerMain(llvm::ArrayRef<char const*>) 
(android-ndk-r23/toolchains/llvm/prebuilt/linux-x86_64/bin/ld.lld+0x2641287)
#27 0x000000000258c6e9 lld::elf::link(llvm::ArrayRef<char 
const*>, bool, llvm::raw_ostream&, llvm::raw_ostream&) 
(android-ndk-r23/toolchains/llvm/prebuilt/linux-x86_64/bin/ld.lld+0x258c6e9)
#28 0x00000000018fcf91 
(android-ndk-r23/toolchains/llvm/prebuilt/linux-x86_64/bin/ld.lld+0x18fcf91)
#29 0x00000000018fc9c9 main 
(android-ndk-r23/toolchains/llvm/prebuilt/linux-x86_64/bin/ld.lld+0x18fc9c9)
#30 0x00007f8099b7bd0a __libc_start_main 
./csu/../csu/libc-start.c:308:16
#31 0x000000000340b351 _start 
(android-ndk-r23/toolchains/llvm/prebuilt/linux-x86_64/bin/ld.lld+0x340b351)
clang-12: error: unable to execute command: Segmentation fault
clang-12: error: linker command failed due to signal (use -v to 
see invocation)
```


More information about the digitalmars-d-ldc mailing list