Re: commit cfafcd117 "futex: Rework futex_lock_pi() to use rt_mutex_*_proxy_lock()" causes glibc nptl/tst-robustpi8 failure

From: Peter Zijlstra
Date: Thu May 18 2017 - 03:41:09 EST


On Wed, May 17, 2017 at 07:36:46PM +0200, Markus Trippelsdorf wrote:
> Since:
> commit cfafcd117da0216520568c195cb2f6cd1980c4bb
> Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
> Date: Wed Mar 22 11:35:58 2017 +0100
>
> futex: Rework futex_lock_pi() to use rt_mutex_*_proxy_lock()
>
> glibc's nptl/tst-robustpi8 testcase fails:
>
> glibc-build % ./nptl/tst-robustpi8
> tst-robustpi8: ../nptl/pthread_mutex_lock.c:424: __pthread_mutex_lock_full: Assertion `INTERNAL_SYSCALL_ERRNO (e, __err) != ESRCH || !robust' failed.

OK, so how do I get those tests build?

I did a checkout of glibc.git

glibc$ mkdir build; cd build
build$ ../configure --disable-sanity-checks ; make -j40
build$ ./nptl/tst-robustpi8
-bash: ./nptl/tst-robustpi8: No such file or directory

"make tests" doesn't seem to work either even though its a build target
listed in the Makefiles.

What magic incantation do I need?