Warning, ABI breakage from 2.074 to 2.075
Joakim via Digitalmars-d
digitalmars-d at puremagic.com
Thu May 25 09:40:15 PDT 2017
On Thursday, 25 May 2017 at 16:16:19 UTC, Patrick Schluter wrote:
> On Thursday, 25 May 2017 at 14:36:43 UTC, Jonathan M Davis
> wrote:
>>[...]
> Could someone please explain why people talk always of ABI
> compatibilty while what is described would imo better
> classified as API compatibilty. ABI is the way parameter are
> passed to functions i.e. which parameters go to which register
> and is defined by the platform, while the API is the set of
> signature of a library. I find it a bit disturbing that at each
> release the ABI would change, while that is generally something
> which is (should) be extremely stable.
> The only time I have been confronted with an ABI (C) change
> within a platform was in the transition from Solaris 9 to
> Solaris 10 where the way structs were returned from functions
> changed.
> TL;DR is there a confusion between ABI and API or does the
> calling conventions change at every release?
The calling convention is only one aspect of an ABI:
https://dlang.org/spec/abi.html
For example, David notes in that Debian thread that every time
attributes are added to druntime functions, their mangling
changes, ie the ABI changes.
More information about the Digitalmars-d
mailing list