On May 12, 2010, at 10:01 AM, Jesus Cea wrote: > On 12/05/10 15:39, James Y Knight wrote: >> While assuming the stack is 16byte aligned is undeniably an >> ABI-violation in GCC, at this point, it's surely simpler to just go >> along: the new unofficial ABI for x86 is that the stack must always >> be >> left in 16-byte alignment... > > You can not rule out other software embedding python inside, or > callbacks from foreign code. For instance, Berkeley DB library can do > callbacks to Python code. So? When calling callback functions, the Berkeley DB library won't un-16byte-align the stack, will it? (Assuming it's been compiled with gcc in the last 10 years) > Not all the universe is GCC based. For instance, Solaris system > libraries are not compiled using GCC. The world is bigger that Linux/ > GCC. If the Solaris compilers don't use 16byte-aligned stackframes, and GCC on Solaris/x86 also assumes 16byte-aligned stacks, I guess GCC on Solaris/x86 is pretty broken indeed. But for Linux/x86, stacks have been de-facto 16byte aligned for so long, you can *almost* excuse the ABI violation as unimportant. But anyways, psyco should keep the stackframes 16byte aligned regardless, for performance reasons: even when accessing datatypes for which unaligned access doesn't crash, it's faster when it's aligned. James
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4