On Fri, 25 Oct 2024, John Paul Adrian Glaubitz wrote:
On Fri, 2024-10-25 at 20:06 +1100, Finn Thain wrote:
On Fri, 25 Oct 2024, John Paul Adrian Glaubitz wrote:
the m68k port has reached the point where switching the default
alignment from 16-bit to 32-bit is inevitable as the number of
packages affected by alignment issues have become too large. It even
includes Python 3.13 these days.
Are there any bug reports you could link to, in support of the "too
large" claim?
The following packages require 32-bit alignment:
- mold
- LLVM
- gccgo
- Qt5 (several packages affected)
- Qt6 (several packages affected)
- OpenJDK (all versions)
- Python >= 3.13
- Rust
That seems to imply that someone requires that those packages are ported.
But without a bug report from such a user, to say the package is broken or
missing, one must question the real requirement.
Those are the most important projects from the tip of my head, but they
are already the biggest blockers. There is no chance that the upstream
maintainers will adjust their packages for 16-bit alignment, so these
will be forever broken on m68k if we don't switch.
I'm curious to see such a refusal in context, presumably as a result of
patch review, in an upstream project bug tracker.
I'm not actually expecting to see good patches refused by core projects
like Python. (Note that MicroPython is available for commercially active
CPUs like the PIC16 family, which are 8-bit processors with 16-bit address
bus.)
If upstream QT or Java developers decide that their software is "not for
us", they may well have a point. Those packages are not installed on my
m68k systems, FWIW.
OTOH, as I've said before, if upstream developers (like Arnd) are looking
ahead to 128-bit platforms then they will be paying attention to alignment
rules. They should be inclined to favour explicit struct definitions over
implicit alignment, don't you think?
I understand that this might be a painful transition, but I don't see
any other way to keep the m68k port alive in the foreseeable future
unless we fix this problem which keeps blocking the port.
You can see how the Debian m68k port has been falling behind because of
the alignment issues in these statistics:
https://buildd.debian.org/stats/graph-ports-big.png
I could imagine a viable transition to a new ABI driven by widespread user
demand or involvement. But not by distro stats or maintainer preference.
Absent the right conditions, perhaps it is best focus limited porter and
developer effort on patching only those packages that are really required.