From: Jeffrey Walton <noloader@gmail.com>
To: musl@lists.openwall.com
Subject: Re: [musl] musl -- FFS get your shit together, please
Date: Mon, 17 Jul 2023 12:01:00 -0400 [thread overview]
Message-ID: <CAH8yC8ni5mBK=cwk0BT5do=HEnQfgOXWDhzmYnAD8ayFpOtzhQ@mail.gmail.com> (raw)
In-Reply-To: <20230717152103.GK4163@brightrain.aerifal.cx>
On Mon, Jul 17, 2023 at 11:21 AM Rich Felker <dalias@libc.org> wrote:
>
> On Mon, Jul 17, 2023 at 01:17:58AM -0500, Dave Blanchard wrote:
> > There's a lot to like about musl, but damn, there's some absolutely ridiculous aspects also:
> >
> > 1) How in the hell are you going to make a MAJOR change like
> > changing #ifdefs from defined(_LARGEFILE64_SOURCE) ||
> > defined(_GNU_SOURCE) to just defined(_LARGEFILE64_SOURCE) in a PATCH
> > level increment, from 1.2.3 to 1.2.4? What the hell is wrong with
> > you? You just broke my entire build! Yet another patch had to be
> > created on my end to UNDO this crazy change; the only alternative
> > was patching half the packages on my system to fix their now-broken
> > build! Do you know NOTHING about proper versioning???
>
> Our versioning system works like this: in x.y.z,
>
> - increment of x, likely to never happen, would indicate a completely
> different ABI
>
> - increment of y indicates a change whereby programs compiled for the
> new y, even without use of any new features added in new y, may not
> run with an older y. canonical example: time64.
>
> - increment of z indicates a change whereby programs built for the new
> z should still run on older z (modulo any bugs that might be present
> in the older version) as long as they're not using new interfaces
> introduced in the new z.
>
> All of these conditions are assuming the program used the public
> interfaces and did not poke at unspecified internals, etc.; if it did,
> all bets are off and any version change may be fully-breaking to the
> program.
>
> Note that all of these deal with ABI compatibility, not compile-time
> compatibility.
To play devil's advocate... If a symbol in Musl disappears, then
shouldn't that be considered an ABI break? And then, shouldn't it
require a major or 'x' bump?
It seems like Musl signed that contract when it first published a
symbol under _LARGEFILE64_SOURCE or _GNU_SOURCE. When the symbol
disappeared using one or the other define, then the contract was
broken.
Jeff
next prev parent reply other threads:[~2023-07-17 16:01 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-07-17 6:17 Dave Blanchard
2023-07-17 7:20 ` (GalaxyMaster)
2023-07-17 12:14 ` Daniel Gutson
2023-07-17 15:21 ` Rich Felker
2023-07-17 15:43 ` [musl] ITT: Nothing but a bunch of excuses and no solutions Dave Blanchard
2023-07-17 15:50 ` Joakim Sindholt
2023-07-17 17:12 ` Rich Felker
2023-07-17 17:23 ` Laurent Bercot
2023-07-17 16:01 ` Jeffrey Walton [this message]
2023-07-17 16:10 ` [musl] musl -- FFS get your shit together, please Joakim Sindholt
2023-07-17 16:55 ` Rich Felker
2023-07-17 15:32 ` Markus Wichmann
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to='CAH8yC8ni5mBK=cwk0BT5do=HEnQfgOXWDhzmYnAD8ayFpOtzhQ@mail.gmail.com' \
--to=noloader@gmail.com \
--cc=musl@lists.openwall.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.vuxu.org/mirror/musl/
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).