On 2017-10-23 14:17, Laeeth Isharc wrote:
Can you elaborate on how the TLS implementation needs to be changed?
# echo 'void main() {}' > main.d && dmd -c main.d && gcc main.o -o main
-m64 -static -L/root/.dvm/compilers/dmd-2.076.1/linux/bin/../lib64
-Xlinker -Bstatic -lphobos2 -lpthread -lm -lrt -ldl
/root/.dvm/compilers/dmd-2.076.1/linux/bin/../lib64/libphobos2.a(sections_elf_shared_782_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
I need to manually invoke GCC to link because DMD will pass "-Xlinker
--export-dynamic -Xlinker -Bdynamic" and I need to add "-static".
If someone wanted to work on rabbit bindings/wrapper, I might be open to
sponsoring that. I'm not in love with Rabbit (one node uses more than
40% of memory so the node goes down, taking the cluster with it.
really?), but we use it currently.
I made a start on bindings for librabbitmq here:
https://github.com/kaleidicassociates/rabbitmq-d
Is that compatible with vibe.d?
--
/Jacob Carlborg