On Monday, 26 January 2015 at 17:50:59 UTC, Liran Zvibel wrote:

With the following gcd flags:
-fno-invariants -fno-in -fno-out -fno-bounds-check -O3 -fno-assert -c -nophoboslib -nostdlib

I still have 3 undefined symbols:
_D10TypeInfo_i6__initZ _D15TypeInfo_Struct6__vtblZ _Dmodule_ref


If you're compliling with -nophoboslib, you are also compiling without the runtime, not just phobos. GDC compiles them in one library, IIRC.

Therefore, you have to implement those parts of the runtime the compiler inserts implicitly. This includes TypeInfo and ModuleInfo. You can compile with -fno-emit-moduleinfo to get rid of the _Dmodule_ref symbol, but there's no equivalent yet for TypeInfo.

Depending on what features of D you are employing, you may be able to stub out the TypeInfo in your object.d file. I have an example here: https://github.com/JinShil/D_Runtime_ARM_Cortex-M_study/wiki/1.3-Structs. For 64-bit it may need to be different. See: https://github.com/JinShil/druntime_level_0/blob/master/source/object.d

I figured out the size of each `ignore` array by trial and error.

Mike

Reply via email to