Commit 902274e9 authored by Gregory P. Smith's avatar Gregory P. Smith

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

parents 9844993c 58f07a9d
...@@ -55,6 +55,11 @@ Library ...@@ -55,6 +55,11 @@ Library
- Issue #14963: Convert contextlib.ExitStack.__exit__ to use an iterative - Issue #14963: Convert contextlib.ExitStack.__exit__ to use an iterative
algorithm (Patch by Alon Horev) algorithm (Patch by Alon Horev)
Extension Modules
-----------------
- Issue #15000: Support the "unique" x32 architecture in _posixsubprocess.c.
Tests Tests
----- -----
......
...@@ -177,8 +177,15 @@ _close_fds_by_brute_force(int start_fd, int end_fd, PyObject *py_fds_to_keep) ...@@ -177,8 +177,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. * chooses to break compatibility with all existing binaries. Highly Unlikely.
*/ */
struct linux_dirent { 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_ino; /* Inode number */
unsigned long d_off; /* Offset to next linux_dirent */ unsigned long d_off; /* Offset to next linux_dirent */
#endif
unsigned short d_reclen; /* Length of this linux_dirent */ unsigned short d_reclen; /* Length of this linux_dirent */
char d_name[256]; /* Filename (null-terminated) */ char d_name[256]; /* Filename (null-terminated) */
}; };
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment