Re: [PATCH] selftests/futex: fix futex_wait() for 32bit ARM

From: Sebastian Andrzej Siewior
Date: Wed Aug 27 2025 - 06:59:09 EST


On 2025-08-26 17:25:11 [+0300], Dan Carpenter wrote:
> On 32bit ARM systems gcc-12 will use 32bit timestamps while gcc-13 and
> later will use 64bit timestamps. The problem is that SYS_futex will
> continue pointing at the 32bit system call. This makes the futex_wait
> test fail like this:
>
> waiter failed errno 110
> not ok 1 futex_wake private returned: 0 Success
> waiter failed errno 110
> not ok 2 futex_wake shared (page anon) returned: 0 Success
> waiter failed errno 110
> not ok 3 futex_wake shared (file backed) returned: 0 Success
>
> Instead of compiling differently depending on the gcc version, use the
> -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 options to ensure that we are
> building with 64bit timestamps. Then use ifdefs to make SYS_futex point
> to the 64bit system call.
>
> Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx>
> Tested-by: Anders Roxell <anders.roxell@xxxxxxxxxx>

It appears glibc uses the 64bit syscall by default. So that is fine.

Sebastian