diff --git a/newlib/libc/posix/posix_spawn.c b/newlib/libc/posix/posix_spawn.c index 85bfa6477..fe912a8b7 100644 --- a/newlib/libc/posix/posix_spawn.c +++ b/newlib/libc/posix/posix_spawn.c @@ -146,6 +146,17 @@ typedef struct __posix_spawn_file_actions_entry { * Spawn routines */ +#if defined (__CYGWIN__) && defined (__i386__) +extern int getgid32 (void); +extern int getuid32 (void); +extern int setegid32 (gid_t egid); +extern int seteuid32 (uid_t euid); +#define setegid setegid32 +#define seteuid seteuid32 +#define getgid getgid32 +#define getuid getuid32 +#endif + static int process_spawnattr(const posix_spawnattr_t sa) { diff --git a/winsup/cygwin/release/3.3.4 b/winsup/cygwin/release/3.3.4 index 1982df0cf..7c37a575c 100644 --- a/winsup/cygwin/release/3.3.4 +++ b/winsup/cygwin/release/3.3.4 @@ -20,3 +20,6 @@ Bug Fixes - Ignore INHERIT ACEs when reading the DACL of non-directory files. Addresses: https://cygwin.com/pipermail/cygwin/2022-January/250363.html + +- Fix an "Invalid argument" problem in posix_spawn on i686. + Addresses: https://cygwin.com/pipermail/cygwin/2022-January/250453.html