[Python-Dev] mingw32 and gc-header weirdness

Antoine Pitrou solipsis at pitrou.net
Wed Jul 22 21:40:08 CEST 2009


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.




More information about the Python-Dev mailing list