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 via email to