D for microservices

Jacob Carlborg doob at me.com
Mon Oct 23 18:36:05 UTC 2017


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


More information about the Digitalmars-d mailing list