upvote
Not sure what you’re trying to show with that bug report but it’s not a case of cross distro glibc issues. If I read correctly it’s a vanilla behavioral change that exposed preexisting UB in flash.

Not sure how the comments about alpine or bionic relate either to my claim that cross distro glibc is fine.

reply
It depends on how we define the ABI. I see it as a set of client-visible invariants that they rely on. In my world, glibc changed the client's visible invariants, breaking the client. The client works on one glibc-based host, but not on another. What is this if not "a case of cross-distro glibc issues?"

Overall, both of our points of view on compatibility were discussed well in that thread; we probably shouldn't repeat ourselves. :)

reply
ABI is not "whatever happens to work with this distro" but "what programs that comply with the API contract compile to". Overlapping memcpy arguments is an API contract violation and thus not something covered by the ABI either. This distinction is the entire reason why C has a separate memmove function. You can't just make up your own imaginary ABI contract and then blame the system when it doesn't fulfill it. That's going to result in self-inflicted plain on any OS.
reply
It's so good that Linus thinks differently!
reply
> It depends on how we define the ABI. I see it as a set of client-visible invariants that they rely on

By that definition, any change of any kind will break ABI, Hyrum’s law and spacebar heating and all that.

reply
> Quite frankly, I find your attitude to be annoying and downright stupid.

- Linus Torvalds

That bug report was a good read.

reply