Android tls issue

Newbie2019 newbie2019 at gmail.com
Mon Jun 24 23:18:14 UTC 2019


On Monday, 24 June 2019 at 18:31:36 UTC, kinke wrote:
> You could try adding the following to driver/main.d:

Correct me if I am wrong.   Some how the ldc change the auto 
generate _tlsstart to TLS, but it referenced as non-TLS in 
sections_android.o cause the problem ?

I change _tlsstart to tls in  sections_android.d the ldc can 
generate binary, but Segmentation fault at 
_D3std11concurrency10MessageBox3putMFKSQBlQBk7MessageZv ()



There also a ldc Segmentation:
----------------
pragma(LDC_no_moduleinfo);
pragma(LDC_no_typeinfo)
void main(){}
---------------

ldmd2 dmain.d -c -mtriple=aarch64-linux-android

0  ldc2                     0x0000000108425768 
llvm::sys::PrintStackTrace(llvm::raw_ostream&) + 40
1  ldc2                     0x0000000108424887 
llvm::sys::RunSignalHandlers() + 39
2  ldc2                     0x0000000108425d78 SignalHandler(int) 
+ 264
3  libsystem_platform.dylib 0x00007fff66d20b5d _sigtramp + 29
4  ldc2                     0x0000000108ea819e GCC_except_table13 
+ 702442
5  ldc2                     0x000000010814dabe 
llvm::Mangler::getNameWithPrefix(llvm::SmallVectorImpl<char>&, 
llvm::GlobalValue const*, bool) const + 110
6  ldc2                     0x0000000107a14496 
llvm::TargetMachine::getSymbol(llvm::GlobalValue const*) const + 
134
7  ldc2                     0x00000001076f4294 
llvm::AsmPrinter::EmitGlobalVariable(llvm::GlobalVariable const*) 
+ 180
8  ldc2                     0x00000001076f9088 
llvm::AsmPrinter::doFinalization(llvm::Module&) + 104
9  ldc2                     0x0000000108142e63 
llvm::FPPassManager::doFinalization(llvm::Module&) + 51
10 ldc2                     0x00000001081432c3 
llvm::legacy::PassManagerImpl::run(llvm::Module&) + 1091
11 ldc2                     0x00000001067af18b (anonymous 
namespace)::codegenModule(llvm::TargetMachine&, llvm::Module&, 
llvm::raw_fd_ostream&, llvm::TargetMachine::CodeGenFileType) + 283
12 ldc2                     0x00000001067aeb7c 
writeModule(llvm::Module*, char const*) + 4092
13 ldc2                     0x00000001067a8945 
ldc::CodeGenerator::writeAndFreeLLModule(char const*) + 1541
14 ldc2                     0x00000001067a8fce 
ldc::CodeGenerator::emit(Module*) + 782
15 ldc2                     0x00000001067c264d 
codegenModules(Array<Module*>&) + 237
16 ldc2                     0x00000001065715dd 
mars_mainBody(Param&, Array<char const*>&, Array<char const*>&) + 
5309
Error: Error executing /opt/local/bin/ldc2: Segmentation fault: 11




More information about the digitalmars-d-ldc mailing list