[build2] Build system reorganization (heads-up to distribution packagers)
Boris Kolpackov
boris at codesynthesis.com
Fri Oct 4 14:38:50 UTC 2019
Matthew Krupcale <mkrupcale at matthewkrupcale.com> writes:
> It does require attention to ABI changes, but projects like abidiff[1]
> can make this fairly easy [...]
This is a bit of tangent, but until recently I was under the
impression that detecting ABI changes can be automated by comparing
binary's symbols. Then at CppCon I went for a talk on ABI (the video
is not out yet) which made me realize what kind of rabbit hole this
problem is. One of the best examples form that talk is a change from:
struct s
{
...
s () {}
};
To:
struct s
{
...
s () = default;
};
This change apparently might change how this struct is passed
around in the Itanium ABI.
I see that abidiff uses the debug info which is already a big step
up comparing to my naive idea of comparing symbol names, but I wonder
if it handles all the corner cases like the above.
More information about the users
mailing list