https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79281
--- Comment #5 from John Paul Adrian Glaubitz <glaubitz at physik dot fu-berlin.de> --- (In reply to James Clarke from comment #4) > Ah, sorry, there's a separate C implementation of all this. I imagine it's > the bools in "struct M" in runtime.h messing it up, so "struct Note" and > "struct Lock" need __attribute__((aligned(4))) on their key fields. I just did that on gcc-6. The result is: (sid-m68k-sbuild)root@ikarus:/# ./routines Alice Bob Hello World Alice Bob Hello World Alice Bob Hello World Alice Bob Hello World Alice Bob Hello (sid-m68k-sbuild)root@ikarus:/# :D I haven't tested gcc-7 yet, but at least this fix for gcc-6 can be added.