On 5/28/20 11:27 AM, Eli Zaretskii wrote: >> Cc: pipcet@gmail.com, 41321@debbugs.gnu.org, monnier@iro.umontreal.ca >> From: Paul Eggert >> Date: Wed, 27 May 2020 09:58:11 -0700 >> >> we can then talk about what to do with emacs-27. > > After thinking about this some, I think the only sensible thing to do > on emacs-27 is to return to 8-byte alignment test in GC for 32-bit > MinGW builds. That is, replace max_align_t with just 8 in the > definition of LISP_ALIGNMENT in that case. Exactly the same problem can occur for other x86 platforms (e.g., GNU/Linux, GCC 7-and-later, glibc 2.25-and-earlier), because these other platforms also have the bug that malloc can return a pointer that is 8 modulo 16 even though alignof (max_align_t) is 16. so I suggest doing the replacement for those platforms too, as in the attached patch.