Hi Mattias,

On Thu, 2026-10-29 at 09:20 +0100, Mattias Ellert wrote:
> The 2 least significant bits in pointers to QEventLoop, QThread and
> QCoreApplication are used for type tagging. This requires a minimum
> alignment of 4. Force the alignment to be at least 4 to support
> architectures where the default alignment is smaller (m68k).
> 
> This fixes compilation errors on Debian for Motorola 68000 (m68k):
> 
> .../src/corelib/kernel/qeventloop.cpp:329:35: error: static assertion
> failed
>   329 | static_assert(alignof(QEventLoop) >= 4);
>       |               ~~~~~~~~~~~~~~~~~~~~^~~~
>   • the comparison reduces to ‘(2 >= 4)’
> .../src/corelib/kernel/qeventloop.cpp:330:32: error: static assertion
> failed
>   330 | static_assert(alignof(QThread) >= 4);
>       |               ~~~~~~~~~~~~~~~~~^~~~
>   • the comparison reduces to ‘(2 >= 4)’
> .../src/corelib/kernel/qeventloop.cpp:331:41: error: static assertion
> failed
>   331 | static_assert(alignof(QCoreApplication) >= 4);
>       |               ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~
>   • the comparison reduces to ‘(2 >= 4)’

Thanks a lot for working on this. FWIW, the alignment problem on m68k
is being tracked here:

https://wiki.debian.org/M68k/Alignment

I have been trying to switch the default alignment on m68k to 32 bits
for a while now, but so far there has always been resistance. Switching
the default alignment would be the proper and permanent fix which would
fix a lot of packages as you can see from the list.

> My testbuild on the m68k porterbox mitchy.debian.net ran out of disk
> space, but it successfully built the libQt6Core library before this
> with the attached patch applied.

Oh, I'll clean up disk space on mitchy today. Thanks for the reminder.

Adrian

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

Reply via email to