Skip to content
Permalink
Browse files

[3.7] bpo-27987: align PyGC_Head to alignof(long double) (GH-13335) (G…

…H-13581)

This reverts commit 2156fec.

Now that 1b85f4e is in, this change makes sense.
  • Loading branch information
methane authored and gpshead committed Jun 3, 2019
1 parent 9390e98 commit 8766cb74e186d3820db0a855ccd780d6d84461f7
@@ -255,7 +255,11 @@ typedef union _gc_head {
union _gc_head *gc_prev;
Py_ssize_t gc_refs;
} gc;
double dummy; /* force worst-case alignment */
long double dummy; /* force worst-case alignment */
// malloc returns memory block aligned for any built-in types and
// long double is the largest standard C type.
// On amd64 linux, long double requires 16 byte alignment.
// See bpo-27987 for more discussion.
} PyGC_Head;

extern PyGC_Head *_PyGC_generation0;
@@ -0,0 +1,2 @@
``PyGC_Head`` structure is aligned to ``long double``. This is needed to
ensure GC-ed objects are aligned properly. Patch by Inada Naoki.

0 comments on commit 8766cb7

Please sign in to comment.
You can’t perform that action at this time.