What is __start___minfo?
David Nadlinger
code at klickverbot.at
Wed Mar 14 17:38:59 UTC 2018
On 14 Mar 2018, at 7:13, Joakim via digitalmars-d-ldc wrote:
> That accounts for how they're normally added, but I'm unsure of how
> they're normally accessed by D code, ie where they're required such
> that lli looks for them.
They are used in the global constructors implicitly created by the
compiler to register the modules from each D executable/shared library
with the runtime (passed to _d_dso_registry in rt.sections_elf_shared).
You can disable generation of ModuleInfo with LDC_no_moduleinfo (or
-betterC), but then things depending on the runtime (like static this())
won't work. What the "proper" solution is depends significantly on how D
modules (and global data in general) are mapped to your interpreter/JIT
in terms of lifetime/reloading/…
— David
More information about the digitalmars-d-ldc
mailing list