
July 22, 2009
7:40 p.m.
Hi,
I used mingw32 (stable distro) to build the psyco extension on top of standard python2.6, built with Visual Studio, and got weird crashes.
The reason is in objimpl.h:
typedef union _gc_head { struct { union _gc_head *gc_next; union _gc_head *gc_prev; Py_ssize_t gc_refs; } gc; long double dummy; /* force worst-case alignment */ } PyGC_Head;
Mingw32 behaves funny here. The size of long double is 12 !
The size of long double is also 12 under 32-bit Linux. Perhaps mingw disagrees with Visual Studio on some ABI subtleties (is it expected? is mingw supposed to be ABI-compatible with Visual Studio? if yes, you may report a bug to them :-)). Regards Antoine.