On Fri, 2025-06-06 at 20:20 +1000, Finn Thain wrote:
> Whereas, the ability to use old binaries is proof that we care about rule 
> #1 don't break userspace.

Who is "we"? The official(!) ABI says that pointers are supposed to be aligned
with 4 bytes, not 2 bytes. It's the current implementation that violates the
ABI, not what I want to achieve which is make Linux/m68k adhere to the official
specification.

Furthermore, we're still talking about a hobbyist platform here which hasn't 
been
in production use for more than ten years. It doesn't really matter whether we 
break
the ABI or not.

And it's not like there isn't strong case for making this change. As I have 
tirelessly
explained, the current port with 2 bytes alignment is simply no longer feasible 
since
an increasing number of packages either require 4 bytes alignment or require 
Rust.

These include more and more fundamental packages such as coreutils, the kernel 
or various
Python packages such as python-cryptography. It's simply not an option to 
continue on
the current path as it has become a dead-end.

I don't see the point in maintaining something that becomes increasingly 
useless because
more and more packages are no longer buildable. If kernel people think that 
usefulness
is already established when you can boot busybox and type some commands, then 
you might
be able to continue on that path.

But I'm a distribution maintainer and distributions consist of way more 
packages than
the kernel, busybox and the toolchain. And even the toolchain doesn't even 
fully build
on Linux/m68k anymore because it requires 4 bytes alignment for LLVM, gccgo and 
mold.

So, whatever we currently have that we would break compatibility with, I do not 
think
that it's worth the effort to keep it alive.

> Having said that, I agree that there is scope for a better ABI. 
> Users/developers will eventually want solutions to the Y2038 problem.

This has already been addressed in Debian and surprisingly, no started a fight 
over it.

I don't see why it shouldn't be possible to do the same with the alignment. We 
have the
full source available. We can rebuild everything and I have already created an 
initial
4 bytes alignment bootstrap with the help of Helmut Grohne's fantastic 
rebootstrap project.

So far, it works as expected and multiple packages that previously didn't build 
because
of the 2 bytes alignment, just built fine and without any further patches. This 
is
exactly what I want.

> > > 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/[email protected]/.
> > 
> > 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/[email protected]/
> 
> Moreover, "what's wrong with my idea" is the wrong question. The right 
> question is, "what's wrong with my patches?"

Finn, again, you haven't contributed any useful input to help alleviate the
original problem. I don't really understand why you think it's acceptable to
constantly bombard my efforts with such comments. How does this help?

Please re-read what John Klos wrote on this matter as he already pointed out
why your comments to this discussion aren't moving us any further here.

> > 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.

I'm not seeing how violating the official ABI was ever agreed upon. It seems
that Andreas took this decision in his own hand while the NetBSD people were
courageous enough to switch the default alignment when switching the executable
format.

Adrian

-- 
 .''`.  John Paul Adrian Glaubitz
: :' :  Debian Developer
`. `'   Physicist
  `-    GPG: 62FF 8A75 84E0 2956 9546  0006 7426 3B37 F5B5 F913

Reply via email to