Am 09.01.2013 16:49, schrieb Andrei Alexandrescu:
On 1/9/13 4:25 AM, Benjamin Thaut wrote:
The compiler is not shared-lib ready. At least not on windows. It does
not support exporting data symbols. E.g.

export uint g_myGlobal;

This is mostly a problem for "hidden" data symbols, like vtables, module
info objects, type info objects and other stuff D relies on.

Are there bugzilla entries for this?

Andrei

Yes its pretty old too. If you read through the discussion in the ticket and through the code Rainer Schuetze provided you will have a list of all the issues that need to be fixed for shared dlls to work:
http://d.puremagic.com/issues/show_bug.cgi?id=4071

In the following patch:
http://d.puremagic.com/issues/attachment.cgi?id=601&action=edit
Rainer Schuetze does manual patching for data symbols. But this is hardcoded to only work for his phobos shared dll. The function it is done in is called dll_patchImportRelocations. If I understand DLLs correctly this should usually be done by the import library that is created by the compiler for a shared dll. Maybe Rainer can shed some mor light on this.

Kind Regards
Benjamin Thaut

Reply via email to