Re: Plan needed for switching m68k to 32-bit alignment
On Sun, 2024-10-27 at 03:08 +0000, Thorsten Glaser wrote:
> > I think that's overstating the case. Alternatives to rust are available
> > and will be for the foreseeable future. Most notably,
>
> That’s not the point. Google, for example, are aggressively funding
> people to throw away perfectly working code and rewrite it in rust,
> or to at least add rust to projects. librsvg has been such a case for
> some time already, python-cryptography is, but now we’re losing even
> freetype (!!!) and, possibly, even the Linux kernel.
>
> > https://gcc.gnu.org/wiki/RustFrontEnd
>
> That’s assuming it can build the same stuff the same way so it can
> be used in packaging.
Again, it isn't just about Rust. Virtually every relevant project requires
32-bit alignment these days, including CPython. I assume that CPython is
nothing that anyone here would call exotic or killing open-source, no?
> https://buildd.debian.org/status/fetch.php?pkg=python3.13&arch=m68k&ver=3.13.0-1&stamp=1728344123&raw=0
> > I expect alignment assumptions like that will end up putting more
> > platforms in the same predicament in future.
>
> No, all the other platforms use natural alignment.
Yup, m68k is the only port in Debian with these issues.
> > "Natural" alignment is meaningless in the context of portable data
> > structures, as they exist without reference to any particular integer
>
> Yeah, but in practice, all we have is ILP32 and LP64; the Windows®
> world has LLP64 in addition. And natural alignment just means that
> all the data types’ alignment is their size. (Which kind of makes
> sense, so you can read them without getting an unalignment trap on
> SPARC or so.)
>
> > Q. What is the size of this struct, assuming baa.b is naturally aligned?
> >
> > struct baa {
> > int a;
> > long long b;
> > };
>
> For ILP32, LP64 and LLP64, it’s 4 (a) + 4 (padding) + 8 (b) = 16 chars.
> More importantly, and relevant for Qt, struct baa is also 8-byte
> aligned, and malloc(3) results are usually 8‑ or even 16-byte aligned.
>
Adrian
--
.''`. John Paul Adrian Glaubitz
: :' : Debian Developer
`. `' Physicist
`- GPG: 62FF 8A75 84E0 2956 9546 0006 7426 3B37 F5B5 F913
Reply to: