John Mastro wrote: > the only line in the diff between the two resulting > files that mentions main_thread is that the output from the source with > GCALIGNED says: > > .lcomm main_thread,592,8 > > Whereas the assembly output from the source without GCALIGNED says: > > .lcomm main_thread,592,32 Thanks, this helped me see the problem. It turns out that 'struct foo __attribute__ ((aligned (8)))' does not work with GCC, and that one must put the attribute somewhere else. This appears to be a bug in GCC, and I reported the GCC bug here: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82914 The workaround is easy: say 'struct __attribute__ ((aligned (8))) foo' instead. I installed the attached patch into the emacs-26 branch and merged it into master. Please give it a try.