Re: Question on BIGGEST_ALIGNMENT in GCC on NetBSD/m68k
On Thu, 5 Jun 2025, John Paul Adrian Glaubitz wrote:
> > (I wanted to test-compile all uapi headers to find differences, but
> > ran into many headers not being self-contained, or causing conflicts).
> >
> > Feel free to start arch/m68k32/ to work around this ;-)
>
> Nope, we're just going to carry patches downstream and I'll just ignore
> people that actively want to obstruct fixing a long-time problem on m68k
> with the weak argument that it would break Linux binaries from 1993
> running on a modern kernel.
>
> This isn't a use case I care about.
>
Whereas, the ability to use old binaries is proof that we care about rule
#1 don't break userspace.
Having said that, I agree that there is scope for a better ABI.
Users/developers will eventually want solutions to the Y2038 problem. ISTR
they once wanted an address register dedicated to the thread storage area.
And prior to that, some wanted binaries that could more easily run on both
Coldfire and 680x0 hardware. And apparently there's baggage in the
userspace interfaces that could be dropped.
NXP presently sells a soft-core Coldfire implementation which makes me
wonder what those engineers can tell us about deficiencies in our ABI, in
their experience.
> > BTW, looking into the history of __ADDR_BND_PKEY_PAD() (which is
> > overkill on m68k, as __alignof__(void *) = 2, but might still be
> > useful for anyone wanting to revive CRIS support ;-), I ran into
> > Andreas' explanation why the minimal alignment is still 2 bytes:
> > https://lore.kernel.org/all/87y3i442w1.fsf@linux-m68k.org/.
>
> This post just proves that it's always a bad idea to keep historical
> burden instead of fixing it.
>
> Again, can you please bring up a convincing argument why it would be a
> hard problem to break the ABI for Linux on 40-year-old hardware? And who
> would be affected by it?
>
I think Arnd already answered those questions:
https://lore.kernel.org/all/383faec7-8987-4680-920d-8f802e1bea34@app.fastmail.com/
Moreover, "what's wrong with my idea" is the wrong question. The right
question is, "what's wrong with my patches?"
> The ABI isn't set in stone and if need to break it to fix fundamental
> problems, then be it.
Well, that's a value judgement you're free to make regarding your systems.
It's easy to find fault in other peoples' systems but it's also pointless.
It won't get us closer to a consensus that will hold for another 30 years.
Reply to: