Python requires 32-bit alignment now - was: Re: Tuple and changes for m68k with -malign-int

John Paul Adrian Glaubitz <[email protected]>
Newsgroups gmane.linux.ports.m68k,gmane.comp.lib.glibc.user,gmane.linux.debian.ports.68k
Message-ID <6009464ec0602cbf9e0262d955020438beeda18a.camel@physik.fu-berlin.de>
Hi,

On Sat, 2023-08-26 at 12:51 +0200, John Paul Adrian Glaubitz wrote:
> > The Debian m68k maintainers proposed building their packages with -malign-int
> > last year, aligning to 32-bit instead of 16-bit, which improves compatibility
> > with some projects and should give better performance on 68020+, at the cost
> > of slightly increased memory usage. The mold linker is at least one project
> > that has been shown to work after making this change where it previously
> > didn't.
> 
> Not only mold but also most notably the following projects:
> 
> - LLVM
> - Firebird Database
> - OpenJDK
> - Various Qt packages

We can now add CPython to this list as 3.13 requires 32-bit alignment [1]:

In file included from ../Include/internal/pycore_backoff.h:12,
                 from ../Include/internal/pycore_code.h:474,
                 from ../Include/internal/pycore_interp.h:16,
                 from ../Include/internal/pycore_runtime.h:17,
                 from ../Include/internal/pycore_pystate.h:12,
                 from ../Include/internal/pycore_critical_section.h:9,
                 from ../Python/critical_section.c:4:
../Python/critical_section.c:6:1: error: static assertion failed: "critical section must be aligned to at least 4 bytes"
    6 | static_assert(_Alignof(_PyCriticalSection) >= 4,
      | ^~~~~~~~~~~~~

We should really make the switch now. It's certainly not getting better.

Adrian

> [1] https://buildd.debian.org/status/fetch.php?pkg=python3.13&arch=m68k&ver=3.13.0%7Eb1-2&stamp=1715773703&raw=0

-- 
 .''`.  John Paul Adrian Glaubitz
: :' :  Debian Developer
`. `'   Physicist
  `-    GPG: 62FF 8A75 84E0 2956 9546  0006 7426 3B37 F5B5 F913
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.