On 2011-05-03 11:14, Alexander wrote:
On 03.05.2011 09:15, Jacob Carlborg wrote:

This is a showstopper for shared libraries on Linux: 
http://d.puremagic.com/issues/show_bug.cgi?id=4583
A few things in the runtime need to be changed as well.

   OK, I see. But isn't simple linking to DSO (no dlopen calls) should be 
handled by the linker itself? Or even this needs runtime support?

   Long time ago, I remember, I did a few tests, and everything was fine. 
Though, I am not sure that this was D2, and I lost my test code...

/Alexander

If DMD doesn't generate the correct PIC code if won't work (I think). You will also get missing symbol error for the "main" function when building a shared library. This can be suppressed by making it a week symbol, using a gcc __attribute__ extension.

Then when the library is loaded you would need to make some initializations like:

* Exception handling tables
* TLS
* Run module constructors
* Module info
* Probably a few things I missed

--
/Jacob Carlborg

Reply via email to