The D ecosystem in Debian with free-as-in-freedom DMD

David Nadlinger via Digitalmars-d digitalmars-d at puremagic.com
Mon Apr 10 16:43:04 PDT 2017


On Monday, 10 April 2017 at 23:27:35 UTC, Walter Bright wrote:
> The next problem is that dmd occasionally changes the interface 
> to the D runtime. […] I also do not know how the gdc/lds 
> druntime
> interfaces differ.

Just to make this very clear to everybody reading this thread: 
It's not even just that, but also the fact that we guarantee 
API-, but not ABI-stability for Phobos. Every time we continue to 
improve the pure/nothrow/@nogc situation by marking up some more 
code, we are breaking the ABI, because the mangled names of the 
involved symbols change. The ongoing work on `scope` also breaks 
the ABI when enabled.

Yes, there are also some differences between the DMD/GDC/LDC 
runtime interfaces, but this is a comparatively very minor issue 
that doesn't make sense worrying too much about as long as ABI 
compatibility between releases isn't going to happen for other 
reasons such as the above. [1]

  — David


[1] In fact, it looks like – for example with DMD moving to 
libunwind-based EH as well – the issue is slowly resolving itself 
anyway and at some point we'll merely have to sit down for a week 
and iron out the last few kinks.



More information about the Digitalmars-d mailing list