dmd verus ldmd2 -lib option
Kai Nacke
kai at redstar.de
Mon Feb 3 10:03:13 PST 2014
On Saturday, 1 February 2014 at 23:51:06 UTC, Dan Olson wrote:
> I noticed that dmd -lib breaks up a module into separate .o's
> when
> building a static library. This is could help make smaller
> executables
> (I am thinking smart phones) when linking with phobos because
> it will
> only pull in to .o's needed to satisfy what is referenced.
>
> ldmd2 -lib doesn't split into multiple .o's like dmd. Does it
> seem like
> a good idea to do the same (I am thinking so).
>
> Example: file testlib.d gets split into four .o's
> cat >testlib.d <<eof
> void foo() {}
> void bar() {}
> void xyzzy() {}
> eof
> $ dmd -lib -oflibtest.a testlib.d
> $ nm libtest.a
>
> libtest.a(testlib.o):
> 0000000000000050 D _D7testlib12__ModuleInfoZ
> 0000000000000030 T _D7testlib15__unittest_failFiZv
> 0000000000000000 T _D7testlib7__arrayZ
> 0000000000000018 T _D7testlib8__assertFiZv
> U __d_array_bounds
> U __d_assertm
> U __d_unittestm
>
> libtest.a(testlib_1_144.o):
> 0000000000000000 S _D7testlib3fooFZv
>
> libtest.a(testlib_2_135.o):
> 0000000000000000 S _D7testlib3barFZv
>
> libtest.a(testlib_3_25e.o):
> 0000000000000000 S _D7testlib5xyzzyFZv
Hi Dan,
that's a in ldmd2. Could you please create an issue?
https://github.com/ldc-developers/ldc/issues?state=open
Thanks!!!
Regards,
Kai
More information about the digitalmars-d-ldc
mailing list