Fixes issue #15000: support the odd x32 abi on posixsubprocess's system call.

This commit is contained in:
Gregory P. Smith 2012-06-05 13:26:39 -07:00
parent 2d7d56abf8
commit 58f07a9d6d
2 changed files with 9 additions and 0 deletions

View File

@ -275,6 +275,8 @@ Library
Extension Modules
-----------------
- Issue #15000: Support the "unique" x32 architecture in _posixsubprocess.c.
- Issue #9041: An issue in ctypes.c_longdouble, ctypes.c_double, and
ctypes.c_float that caused an incorrect exception to be returned in the
case of overflow has been fixed.

View File

@ -175,8 +175,15 @@ _close_fds_by_brute_force(int start_fd, int end_fd, PyObject *py_fds_to_keep)
* chooses to break compatibility with all existing binaries. Highly Unlikely.
*/
struct linux_dirent {
#if defined(__x86_64__) && defined(__ILP32__)
/* Support the wacky x32 ABI (fake 32-bit userspace speaking to x86_64
* kernel interfaces) - https://sites.google.com/site/x32abi/ */
unsigned long long d_ino;
unsigned long long d_off;
#else
unsigned long d_ino; /* Inode number */
unsigned long d_off; /* Offset to next linux_dirent */
#endif
unsigned short d_reclen; /* Length of this linux_dirent */
char d_name[256]; /* Filename (null-terminated) */
};