Am 10.09.2012 10:35, schrieb Walter Bright:
On 9/10/2012 12:56 AM, Benjamin Thaut wrote:
Hm, a major showstopper for the current DLL support ist, that dmd does
not
generate code to correctly import data symbols.
What is the bugzilla entry for that?
Its a pretty old ticket,
Rainer Schulze implemented library code that patches the data symbol
tables manually to get phobos to work as a DLL but the patch is quite old:
http://d.puremagic.com/issues/show_bug.cgi?id=4071
Look at the dll_patchImportRelocations function in the druntime patch
Usually the compiler should generate code to get the correct import
address for each data symbol if I understood it correctly.
Also there are a lot more issues with dlls,
you can't export certain symbols that are needed, for example the module
info internal symbols. Rainer fixed this by adding a -exportall switch
to dmd.
And of course there are the runtime issues with the TLS storage and
Module (De)Initialization.
--
Kind Regards
Benjamin Thaut