For the adventurous: News from the LDC/Linux front
Dicebot via Digitalmars-d
digitalmars-d at puremagic.com
Wed Jul 9 03:01:14 PDT 2014
On Tuesday, 8 July 2014 at 17:54:48 UTC, David Nadlinger wrote:
> Hi all,
>
> I am excited to share news about two changes that recently made
> their way into the development version of LDC, changes that
> might be interesting for many of you Linux users out there.
>
> The first is that LDC now supports linker-level dead code
> elimination on Linux. If you happen to be familiar with the
> -f{function,data}-sections/--gc-sections options of the GNU
> toolchain, their equivalent is now enabled by default. For a
> set of small-ish programs that make use of different parts of
> Phobos, I've seen executable size improvements of close to 4x
> (!) in my tests. However, as --gc-sections is known to
> occasionally cause trouble with third-party code that relies on
> specific linker behavior, this optimization can be disabled
> with a new LDC switch, -disable-linker-strip-dead.
>
> And secondly, proper support for building druntime/Phobos as
> shared libraries and loading D shared objects dynamically has
> now arrived in LDC! As you might be aware, Martin Nowak has
> spent a considerable amount of effort on adding runtime loading
> capabilities to DMD and druntime during the last year or so.
> LDC now offers the same level of functionality, to a good part
> based on Martin's solid work. To build a copy of LDC with
> druntime/Phobos as a shared library, which is also required for
> proper runtime loading, simply pass -DBUILD_SHARED_LIBS=ON to
> CMake. Oh, and for now this is Linux-only too, sorry.
>
> Even though I am currently not aware of any remaining issues,
> there are likely a few rough edges still. To be able to
> confidently ship these features as part of the next release,
> we'd very much appreciate early feedback. Just grab LDC from
> Git master and let us know how things went over on
> digitalmars.D.ldc. If you run into a specific bug, you can also
> directly open a ticket at
> https://github.com/ldc-developers/ldc/issues.
>
> Cheers,
> David
Those are probably best news from D world I have heard in last
few months! Has anyone tried that on largish projects? Using GDC
with --gc-sections has resulted in broken binaries sometimes but
most likely it was the same ModuleInfo issue. Wonder how reliable
it is in LDC.
More information about the Digitalmars-d
mailing list