Re: dmd (v2.075.0): fully static linking: undefined reference to `__tls_get_addr'

2017-08-21 Thread Jacob Carlborg via Digitalmars-d-learn

On 2017-08-19 16:07, kdevel wrote:

test.d
---
void main ()
{
}
---

$ dmd -c test.d
$ cc -o test test.o -L/[...]/dmd2/linux/lib64 -lphobos2 -static 
-lpthread -lrt
/[...]/dmd2/linux/lib64/libphobos2.a(sections_elf_shared_774_420.o): In 
function `_D2rt19sections_elf_shared11getTLSRangeFNbNimmZAv':
src/rt/sections_elf_shared.d:(.text._D2rt19sections_elf_shared11getTLSRangeFNbNimmZAv[_D2rt19sections_elf_shared11getTLSRangeFNbNimmZAv]+0x38): 
undefined reference to `__tls_get_addr'

collect2: error: ld returned 1 exit status

Found that on the net but no solution:
http://www.digitalmars.com/d/archives/digitalmars/D/learn/Static_linking_on_Linux_with_dmd_or_gcc_74954.html 



Any hints?


You can use LDC to statically link the binary.

--
/Jacob Carlborg


Re: dmd (v2.075.0): fully static linking: undefined reference to `__tls_get_addr'

2017-08-19 Thread Joakim via Digitalmars-d-learn

On Saturday, 19 August 2017 at 14:22:21 UTC, kdevel wrote:

On Saturday, 19 August 2017 at 14:07:49 UTC, kdevel wrote:

src/rt/sections_elf_shared.d:(.text._D2rt19sections_elf_shared11getTLSRangeFNbNimmZAv[_D2rt19sections_elf_shared11getTLSRangeFNbNimmZAv]+0x38):
 undefined reference to `__tls_get_addr'


https://issues.dlang.org/show_bug.cgi?id=12268


That function is supposed to be provided by the dynamic linker 
when running your program, but I'm guessing -static makes the 
linker check for all symbols at link-time, not allowing such 
deferred linking.  It looks like dmd or druntime doesn't support 
such full static linking yet, as they assume that function will 
be there.


Re: dmd (v2.075.0): fully static linking: undefined reference to `__tls_get_addr'

2017-08-19 Thread kdevel via Digitalmars-d-learn

On Saturday, 19 August 2017 at 14:07:49 UTC, kdevel wrote:

src/rt/sections_elf_shared.d:(.text._D2rt19sections_elf_shared11getTLSRangeFNbNimmZAv[_D2rt19sections_elf_shared11getTLSRangeFNbNimmZAv]+0x38):
 undefined reference to `__tls_get_addr'


https://issues.dlang.org/show_bug.cgi?id=12268


dmd (v2.075.0): fully static linking: undefined reference to `__tls_get_addr'

2017-08-19 Thread kdevel via Digitalmars-d-learn

test.d
---
void main ()
{
}
---

$ dmd -c test.d
$ cc -o test test.o -L/[...]/dmd2/linux/lib64 -lphobos2 -static 
-lpthread -lrt

/[...]/dmd2/linux/lib64/libphobos2.a(sections_elf_shared_774_420.o): In 
function `_D2rt19sections_elf_shared11getTLSRangeFNbNimmZAv':
src/rt/sections_elf_shared.d:(.text._D2rt19sections_elf_shared11getTLSRangeFNbNimmZAv[_D2rt19sections_elf_shared11getTLSRangeFNbNimmZAv]+0x38):
 undefined reference to `__tls_get_addr'
collect2: error: ld returned 1 exit status

Found that on the net but no solution:
http://www.digitalmars.com/d/archives/digitalmars/D/learn/Static_linking_on_Linux_with_dmd_or_gcc_74954.html

Any hints?