On Wednesday, 9 March 2016 at 22:26:38 UTC, Ali Çehreli wrote:
On 03/09/2016 07:05 AM, Yuxuan Shui wrote:

> Can we left TypeInfo symbol undefined in the shared
libraries? i.e. D
> compiler will strip out TypeInfo definition when creating .so.
> (Alternatively, we can have TypeInfo always undefined in .o,
and
> generate them in linking stage only when creating executables)

That would require a linker that's aware of D but as far as I know, all system languages use the system linker.

Ali

Hmm, how about this:

During compilation, D generate undefined TypeInfo symbols, but it also embed type information in the object file (like what Rust does). And then, when dmd/ldc/gdc/whatever is called for linking executables, it will scan object files and generate another object file containing the TypeInfos, and link them together with the system linker. If the compiler is called for linking shared libraries, it doesn't.

Reply via email to