--- ./Modules/clinic/posixmodule.c.h_orig 2026-07-12 23:19:08.470700654 -0400 +++ ./Modules/clinic/posixmodule.c.h 2026-07-12 23:21:53.347961095 -0400 @@ -9231,7 +9231,11 @@ if ((_return_value == (dev_t)-1) && PyErr_Occurred()) { goto exit; } +#ifdef _AIX + return_value = PyLong_FromUnsignedLong(_return_value); +#else return_value = _PyLong_FromDev(_return_value); +#endif exit: return return_value; --- ./Modules/posixmodule.c_orig 2026-07-12 23:22:51.131164354 -0400 +++ ./Modules/posixmodule.c 2026-07-12 23:26:31.758643766 -0400 @@ -78,6 +78,15 @@ # include #endif +#ifdef _AIX +#undef minor +#undef major +#undef makedev +#define minor minor64 +#define major major64 +#define makedev makedev64 +#endif + #ifdef HAVE_SYS_STAT_H # include #endif @@ -2710,7 +2719,7 @@ static_assert(sizeof(unsigned long long) >= sizeof(st->st_ino), "stat.st_ino is larger than unsigned long long"); SET_ITEM(1, PyLong_FromUnsignedLongLong(st->st_ino)); - SET_ITEM(2, _PyLong_FromDev(st->st_dev)); + SET_ITEM(2, PyLong_FromUnsignedLong(st->st_dev)); #endif SET_ITEM(3, PyLong_FromLong((long)st->st_nlink)); #if defined(MS_WINDOWS)