On Saturday, 9 November 2013 at 04:43:24 UTC, Timothee Cour wrote:
runtime loading of shared libraries on OSX, so that it works as
on linux
I see b/10440 fixed in changelog, however does that mean it
should work as
safely as on linux? (both runtime and nonruntime libs)
Unfortunately no. I think the biggest obstacle is TLS. DMD
emulates TLS on Mac OS X, which doesn't really work with dynamic
libraries. It didn't exist natively on Mac OS X when DMD for D2
was ported to Mac OS X. I guess that best option is that DMD
start to use native TLS. That would mean we need to drop support
for Mac OS X Snow Leopard (10.6). Unless we move the part of the
dynamic linker that handles TLS to druntime, which I think is
technially possible.
Except from that I think it might be easier to implement support
for dynamic libraries on Mac OS X. The dynamic linker on Mac OS X
has a much broader API than on Linux. We can use more of the
existing functions there.
--
/Jacob Carlborg