On Wed, 17 Jun 2015 02:21:31 -0400, Jacob Carlborg <[email protected]> wrote:

Obj::staticctor does not seem to be used for setting up the runtime.

I realize that, but I was thinking that I could just generate a DllMain in D code[1], and then output it as a special case[2] as is done with regular D main:

[1] https://github.com/D-Programming-Language/dmd/blob/c718790165c3124c61e510d8352b9cb9d8ae0198/src/mars.c#L228 [2] https://github.com/D-Programming-Language/dmd/blob/c718790165c3124c61e510d8352b9cb9d8ae0198/src/mars.c#L1669

For the second step though, I could also call staticctor/staticdtor or something.. still workin on it ;)


There's a lot more code there than I first hoped.

Yeah... Writing out assembly as byte codes like that is a little too much for me. I think I can get by with the above solution.

I'm still having trouble finding where functions are exported though. Every instance of export_symbol() seems to be check first with isExport(), except all symbols are exported by default on OSX.... but from where?
https://github.com/D-Programming-Language/dmd/blob/c718790165c3124c61e510d8352b9cb9d8ae0198/src/toobj.c#L572

It seems like it could be in either out.c or machobj.c, but I still haven't found it.

  Bit

Reply via email to