[Python-Dev] HEADS UP: Compilation risk with new GCC 4.5.0

Jesus Cea jcea at jcea.es
Wed May 12 15:13:21 CEST 2010


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

[Zlib-devel] HEADS UP: Apparent bad compilation under (just released)
GCC 4.5.0
<http://mail.madler.net/pipermail/zlib-devel_madler.net/2010-May/002267.html>

GCC Bugzilla Bug 40838
gcc shouldn't assume that the stack is aligned
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40838


Short history: new GCC 4.5.0 (released a month ago), when compiling with
- -O3, is adding MMX/SSE instructions that requires stack aligned to 16
byte. This is wrong, since x86 ABI only requires stack aligned to 4 bytes.

If you compile EVERYTHING with GCC 4.5.0, you are safe (I guess!), but
if your environment has mixed compiled code (for instance, the OS
libraries), you can possibly "core dump". If you have an old compiled
Python and you update libs compiled with GCC 4.5.0, you can crash in the
process.

Psyco is showing the issue, but it is not the culprit.  It only leaves
- -correctly- the stack in not 16-byte alignment. But there are plenty of
examples of crashes not related to python+psyco.

Proposal: add "-fno-tree-vectorize" to compilation options for 2.7/3.2.
Warm 2.3/2.4/2.5/2.6/3.0/3.1 users. Or warm users compiling with GCC 4.5.0.

- -- 
Jesus Cea Avion                         _/_/      _/_/_/        _/_/_/
jcea at jcea.es - http://www.jcea.es/     _/_/    _/_/  _/_/    _/_/  _/_/
jabber / xmpp:jcea at jabber.org         _/_/    _/_/          _/_/_/_/_/
.                              _/_/  _/_/    _/_/          _/_/  _/_/
"Things are not so easy"      _/_/  _/_/    _/_/  _/_/    _/_/  _/_/
"My name is Dump, Core Dump"   _/_/_/        _/_/_/      _/_/  _/_/
"El amor es poner tu felicidad en la felicidad de otro" - Leibniz
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iQCVAwUBS+qpcZlgi5GaxT1NAQLAjgP/anZ5C2lED190++ffcluApF3ASF20iSnH
t21ynHxrz2fgkPeOxeGRAqGEGCc3jZ0UuXchECcLLzFhI8WQS8K766EOgOKdwZLV
WCt0ohWZ0FfsJZX4J5Y73x39uhjShbnl6SSek2uEvPi/tua/R4W/kVXrAZ0ZZR6/
vRqSUXpdolM=
=5K+S
-----END PGP SIGNATURE-----


More information about the Python-Dev mailing list