www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.ldc - arm32 link error for lto and release mode

reply workman <workman gmail.com> writes:
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'

llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) 
(android-ndk-r23/toolchains/llvm/prebuilt/linux-x86_64/bin/ld.lld+0x25bd168)

(android-ndk-r23/toolchains/llvm/prebuilt/linux-x86_64/bin/ld.lld+0x25bcff0)

(android-ndk-r23/toolchains/llvm/prebuilt/linux-x86_64/bin/ld.lld+0x25bd63a)

(/lib/x86_64-linux-gnu/libpthread.so.0+0x14140)

llvm::DataLayout::getAlignment(llvm::Type*, bool) const 
(android-ndk-r23/toolchains/llvm/prebuilt/linux-x86_64/bin/ld.lld+0x182dda3)

(android-ndk-r23/toolchains/llvm/prebuilt/linux-x86_64/bin/ld.lld+0x2919867)

llvm::TargetLowering::LowerCallTo(llvm::TargetLowering::CallLoweringInfo&)
const (android-ndk-r23/toolchains/llvm/prebuilt/linux-x86_64/bin/ld.lld+0x1c6fae5)

llvm::SelectionDAGBuilder::lowerInvokable(llvm::TargetLowering
:CallLoweringInfo&, llvm::BasicBlock const*)
(android-ndk-r23/toolchains/llvm/prebuilt/linux-x86_64/bin/ld.lld+0x1c43921)

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)

llvm::SelectionDAGBuilder::visitCall(llvm::CallInst const&) 
(android-ndk-r23/toolchains/llvm/prebuilt/linux-x86_64/bin/ld.lld+0x1c3cd00)

llvm::SelectionDAGBuilder::visit(llvm::Instruction const&) 
(android-ndk-r23/toolchains/llvm/prebuilt/linux-x86_64/bin/ld.lld+0x1c3c5fc)

llvm::SelectionDAGISel::SelectBasicBlock(llvm::ilist_iterator<llvm::ilist_detail::node_option
<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)

llvm::SelectionDAGISel::SelectAllBasicBlocks(llvm::Function 
const&) 
(android-ndk-r23/toolchains/llvm/prebuilt/linux-x86_64/bin/ld.lld+0x1c3b047)

llvm::SelectionDAGISel::runOnMachineFunction(llvm::MachineFunction&)
(android-ndk-r23/toolchains/llvm/prebuilt/linux-x86_64/bin/ld.lld+0x1c383a4)

(android-ndk-r23/toolchains/llvm/prebuilt/linux-x86_64/bin/ld.lld+0x1c37ec1)

llvm::MachineFunctionPass::runOnFunction(llvm::Function&) 
(android-ndk-r23/toolchains/llvm/prebuilt/linux-x86_64/bin/ld.lld+0x1ff24da)

llvm::FPPassManager::runOnFunction(llvm::Function&) 
(android-ndk-r23/toolchains/llvm/prebuilt/linux-x86_64/bin/ld.lld+0x1a09037)

llvm::FPPassManager::runOnModule(llvm::Module&) 
(android-ndk-r23/toolchains/llvm/prebuilt/linux-x86_64/bin/ld.lld+0x1a08d2f)

llvm::legacy::PassManagerImpl::run(llvm::Module&) 
(android-ndk-r23/toolchains/llvm/prebuilt/linux-x86_64/bin/ld.lld+0x2280f04)

(android-ndk-r23/toolchains/llvm/prebuilt/linux-x86_64/bin/ld.lld+0x2b89252)

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)

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)

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)

(android-ndk-r23/toolchains/llvm/prebuilt/linux-x86_64/bin/ld.lld+0x265bfc0)

lld::elf::LinkerDriver::compileBitcodeFiles<llvm::object::ELFType<(llvm::su
port::endianness)1, false> >()
(android-ndk-r23/toolchains/llvm/prebuilt/linux-x86_64/bin/ld.lld+0x264ed7c)

lld::elf::LinkerDriver::link<llvm::object::ELFType<(llvm::su
port::endianness)1, false> >(llvm::opt::InputArgList&)
(android-ndk-r23/toolchains/llvm/prebuilt/linux-x86_64/bin/ld.lld+0x26466e1)

lld::elf::LinkerDriver::linkerMain(llvm::ArrayRef<char const*>) 
(android-ndk-r23/toolchains/llvm/prebuilt/linux-x86_64/bin/ld.lld+0x2641287)

const*>, bool, llvm::raw_ostream&, llvm::raw_ostream&) 
(android-ndk-r23/toolchains/llvm/prebuilt/linux-x86_64/bin/ld.lld+0x258c6e9)

(android-ndk-r23/toolchains/llvm/prebuilt/linux-x86_64/bin/ld.lld+0x18fcf91)

(android-ndk-r23/toolchains/llvm/prebuilt/linux-x86_64/bin/ld.lld+0x18fc9c9)

./csu/../csu/libc-start.c:308:16

(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)
```
Aug 23 2021
parent workman <workman gmail.com> writes:
On Monday, 23 August 2021 at 15:55:43 UTC, workman wrote:
 not use lto or not in release mode has no problem.
 ```
```sh llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (/usr/local/bin/ldc2+0x36e1803) Error: Error executing /usr/local/bin/ldc2: Illegal instruction ```
Aug 25 2021