Re: Plan needed for switching m68k to 32-bit alignment

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Sat, 2024-10-26 at 18:31 +1100, Finn Thain wrote:
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.

People have tried this in the past and it was an endless effort. It's not that
it hasn't been tried. And there is zero chance that any of these projects accept
such patches to support unusual alignment.

It's not that I'm not speaking from experience having maintained the m68k port
in Debian the past 10 years. The Gentoo folks will tell you the same.

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

Why does my word not count here? It's not that this problem is new.

You can also ask Andreas who maintained openSUSE on m68k for a while and
had to carry lots of local patches.

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.

This is isn't just about runtime dependencies but also build dependencies
which is why I linked the statistics page in Debian. A lot of packages in
Debian/m68k can currently not be built because they have a transitive
dependency on Rust, OpenJDK, Qt, GNOME and so on.

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?

Debian just transitioned all of their 32-bit architectures to time64_t except
for i386. Do you know why they did that even though 128-bit CPUs are practically
around the corner?

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.

Well, I'm doing the work, so I get to make the decisions here, no?

Absent the right conditions, perhaps it is best focus limited porter and 
developer effort on patching only those packages that are really required.

Thanks, but I tried that and it doesn't work. I don't want to continue spending
hours on trying to figure out how to fix alignment problems and then maybe send
an email here and there to just never get an answer.

You're somehow implying that I'm requesting this change because I'm just lazy.

Adrian

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





[Index of Archives]     [Video for Linux]     [Yosemite News]     [Linux S/390]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux