So I tried to get moduleinfo looping working.... and found some success. If you use it with libc, it works. On bare metal, it works thanks to a linker script hack. It doesn't work on the minimal linux setup. I wasted a lot of hours trying to do it, but there seems to be some elf section magic going on that I can't figure out how to easily hook in to.

But even with that working, I couldn't get module ctors working right.

Meh time to move on. Here's the list of stuff I'm abandoning so far

 What doesn't work:
1) array concats. use the module memory.d instead (link failure) 2) module constructors and destructors (silent failure, they never run) 3) looping ModuleInfo without libc or bare metal (silent failure, returns empty list)
    4) TLS variables. always use __gshared (runtime crash)
    5) threads.
    6) unittests (silent failure, they never run)

Maybe I can figure out module constructors later, but for now I'm just going to abandon that.

Reply via email to