Long symbol names (Was: demangle doesn't work with...)

Johannes Pfau nospam at example.com
Wed May 29 00:09:10 PDT 2013


Am Tue, 28 May 2013 18:26:08 -0400
schrieb "Steven Schveighoffer" <schveiguy at yahoo.com>:

> On Tue, 28 May 2013 17:13:59 -0400, David Nadlinger
> <see at klickverbot.at> wrote:
> 
> > On Tuesday, 28 May 2013 at 19:01:00 UTC, Steven Schveighoffer wrote:
> >> Nothing is breakage before shared library support is ready.  And
> >> it's almost ready...
> >
> > This comment makes me slightly nervous, as I think even then, we  
> > shouldn't be too quick to commit to ABI stability. Quite on the  
> > contrary, we need to make sure to aggressively tell users that
> > they can't expect two pieces D code that were not compiled with the
> > exact same compiler version to interoperate.
> 
> Like it or not, dynamic library support means we need to pay more  
> attention to ABI breakage.  People will complain about what largely
> is not really a problem (since code is statically compiled, you
> essentially build it every time anyway).

We only have to do the library versioning right. If we increase the
major version with every release we can break the ABI as much as we
want. Older applications the will always use the old shared libraries,
newer application the new ones. This means you'll have 3-4 copies of
phobos/druntime on your system, but I don't think that is an issue.

I agree with David that stabilizing the ABI is not a good idea right
now. We don't have a standard ABI, toString/toHash might need to be
removed which will break everything, we have some modules in phobos that
should be replaced ASAP (std.stream, std.xml)...


More information about the Digitalmars-d mailing list