Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <871rkwuj5o.fsf@mid.deneb.enyo.de>
Date: Tue, 28 Jul 2020 10:40:35 +0200
From: Florian Weimer <fw@...eb.enyo.de>
To: Rich Felker <dalias@...c.org>
Cc: musl@...ts.openwall.com
Subject: Re: friendly errors for ABI mismatch

* Rich Felker:

> Symbol versioning, if used, changes this somewhat by binding to a
> particular version string (which by convention usually contains a
> library name too) *if* the library used to resolve it at runtime has
> versioning, but for very good reasons we have not used and do not want
> to use symbol versioning. (In short, like here it's an "approximate
> solution" for most things people want to use it for, doesn't actually
> achieve those things precisely, messes other things up in the process,
> and has really really bad tooling support.)

I think you should look at this from a different angle.  You could use
it just to produce an error message in case there is an ABI change,
but not for backwards compatibility with old binaries or enabling
otherwise ABI-incompatible changes without rebuilding the world.

With this approach, all symbols would have a single, default version.
New releases do not add new symbol version strings in general, except
when there is something like time64_t, in which the default (and only
version) for those symbols changes.  Over time, you will end up with a
few symbol versions, but at a much slower pace than what glibc does.

Powered by blists - more mailing lists

Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.