Indicate that _PyGC_Head is only 8-byte aligned. (closes bpo-33374)
By spec, the "long double" in _PyGC_Head requires the union to always be 16-byte aligned. However, obmalloc only yields 8-byte alignment. Compilers including GCC 8 are starting to use alignment information to do store-merging. So, the "long double" needs to be changed to a simple "double" as was long ago done in Python 3 by e348c8d1. For 2.7, we need to add some dummy padding to make sure _PyGC_Head stays the same size.
Showing
Please register or sign in to comment