wait4 testcase for y2038 systems

Alistair Francis alistair23 at gmail.com
Sat Mar 7 01:38:33 UTC 2020


Hey,

I have a question.

Since the 5.1 kernel new 32-bit architectures (like RV32) don't have
the wait4 kernel syscall as it isn't y2038 safe. Other 32-bit
architectures will eventually also stop using the wait4 kernel syscall
(by 2038 at least).

glibc still supports the wait4() function call, internally glibc will
convert the programs wait4() call into waitid kernel calls.

This means the strace wait4 testcase fails as it is run with these arguments:
  strace -o log -e trace=wait4 -esignal=none ./wait4

The wait4 test case prints out wait4 calls, but the actual wait4
function that is called doesn't do any wait4 kernel calls instead it
does waitid kernel calls.

What would be the best way to handle this test for y2038 32-bit systems?

Alistair


More information about the Strace-devel mailing list