The glibc testsuite reports five unit tests failing: nptl/tst-robust1.out nptl/tst-robust3.out nptl/tst-robust4.out nptl/tst-robust6.out nptl/tst-robust9.out I looked at the first one, and it seems like it is hanging in the LOCK(&m1) call in tst-robust1.c, where we are checking that the lock will exit and return with errno = EOWNERDEAD if the owner dies with the lock held. In fact it stays stuck in the lock code, here: #0 __lll_robust_lock_wait (futex=0x23a08, private=128) at ../nptl/sysdeps/unix/sysv/linux/lowlevelrobustlock.c:52 #1 0x000000aaaaabb580 in __lll_robust_lock (mutex=0x23a08) at ../sysdeps/unix/sysv/linux/tile/nptl/lowlevellock.h:180 #2 __pthread_mutex_lock_full (mutex=0x23a08) at pthread_mutex_lock.c:220 [...] Note that these tests all pass on tilepro (and x86_64, etc.), and note that the "robustpi" tests all pass on both tile platforms.
This turned out to be a kernel bug introduced in the 3.4 merge window. Commit 6699c8cda36f29 ("tile: fix bug in get_user() for 4-byte values") fixes it and should be taken into the next -rc.