[Python-Dev] GC head alignment issue
Guido van Rossum
guido@python.org
Thu, 11 Oct 2001 10:08:32 -0400
See this bug report:
http://sourceforge.net/tracker/?func=detail&atid=105470&aid=467145&group_id=5470
The GC header adds 12 bytes to the start of the object, but for
objects (like complex) that contain a double and require double
alignment, that messes up the alignment. Something needs to be done
about this: I'm guessing a configuration test for the required
alignment of double, and a rounding up of the GC head size to a
multiple of that. Should affect only the AS_GC and FROM_GC macros in
gcmodule.c and the two uses of sizeof(PyGC_Head) there -- unless you
can figure out a way to add a pad field to the GC head only when
needed, then a change to objimpl.h might be sufficient.
So far this only affects HP hardware, but we can't trust that!
(It hasn't affected 2.0 or 2.1 because it only breaks when I *subclass*
complex.)
--Guido van Rossum (home page: http://www.python.org/~guido/)