On Sun, 27 Oct 2024, Thorsten Glaser wrote: > > > >That seems to imply that someone requires that those packages are > >ported. > > Yes, we do. Rust especially is killing the entire FOSS ecosystem. > > These all are conditio sine qua nōn when it comes to continuing > Linux/m68k, as a whole. >
I think that's overstating the case. Alternatives to rust are available and will be for the foreseeable future. Most notably, https://safecpp.org/draft.html I agree with your sentiment though, in that rust generally gets a lot of funding and hype. Even if the Rust Foundation doesn't care about supporting the backend for m68k, there is still a way for non-commercially viable platforms to collaborate. In particular, https://gcc.gnu.org/wiki/RustFrontEnd > >Absent the right conditions, perhaps it is best focus limited porter and > >developer effort on patching only those packages that are really required. > > I tried my hand at Qt5. About 20 man-hours in I essentially gave up, > and that was without even getting to something I could put to a > compile and runtime test. > I take your point about the amount of effort required (and the lack of resources). The answer may be to share the work better by enabling more collaboration. It appears that NetBSD/m68k has naturally aligned ints. Perhaps you could look at adding kernel support for their ABI, and get access to Qt and LLVM that way, without impacting the existing ABI and its ecosystem. BTW, it has long annoyed me that two different 68k Mac bootloaders exist, one each for Linux and NetBSD, which are duplicated effort, and have different sets of bugs. To my mind, this is another good opportunity to collaborate and avoid wasted developer effort (perhaps by dual licensing). > “Natural” alignment of data types has essentially become a requirement > these days, and m68k is the only true outlyer (i386 could in theory, but > the Unix psABI designers were sensible enough to not do it). > I expect alignment assumptions like that will end up putting more platforms in the same predicament in future. "Natural" alignment is meaningless in the context of portable data structures, as they exist without reference to any particular integer unit. It is because your struct patches improve portability that I'd expect those patches to remain acceptable upstream. Q. What is the size of this struct, assuming baa.b is naturally aligned? struct baa { int a; long long b; };