From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755177AbdERIOp (ORCPT ); Thu, 18 May 2017 04:14:45 -0400 Received: from bombadil.infradead.org ([65.50.211.133]:58266 "EHLO bombadil.infradead.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754457AbdERIOj (ORCPT ); Thu, 18 May 2017 04:14:39 -0400 Date: Thu, 18 May 2017 10:14:32 +0200 From: Peter Zijlstra To: Markus Trippelsdorf Cc: linux-kernel@vger.kernel.org, fweimer@redhat.com, Thomas Gleixner Subject: Re: commit cfafcd117 "futex: Rework futex_lock_pi() to use rt_mutex_*_proxy_lock()" causes glibc nptl/tst-robustpi8 failure Message-ID: <20170518081432.jc6foleytuswuk3h@hirez.programming.kicks-ass.net> References: <20170517173646.GA281@x4> <20170518074054.qbqqdxtxwhnmkydz@hirez.programming.kicks-ass.net> <20170518080439.GA281@x4> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20170518080439.GA281@x4> User-Agent: NeoMutt/20170113 (1.7.2) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Thu, May 18, 2017 at 10:04:39AM +0200, Markus Trippelsdorf wrote: > On 2017.05.18 at 09:40 +0200, Peter Zijlstra wrote: > > On Wed, May 17, 2017 at 07:36:46PM +0200, Markus Trippelsdorf wrote: > > > Since: > > > commit cfafcd117da0216520568c195cb2f6cd1980c4bb > > > Author: Peter Zijlstra > > > 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? > > Something like: > > % ~/glibc/configure --prefix=/usr --libdir=/usr/lib --libexecdir=/usr/lib --with-headers=/usr/include --enable-add-ons --enable-kernel=4.10 --with-tls --with-__thread --enable-bind-now --without-gd --without-cvs --disable-profile --disable-multi-arch --disable-werror I specifically didn't want to set --prefix=/usr etc.. because I didn't want to run any risk of the thing actually installing and wrecking my system, I'll try the other bits through. > % make -j128 > % make -j128 check make check is failing here: /usr/local/src/glibc/build/math/test-ldouble-carg.o -MD -MP -MF /usr/local/src/glibc/build/math/test-ldouble-carg.o.dt -MT /usr/local/src/glibc/build/math/test-ldouble-carg.o /usr/bin/ld: /usr/local/src/glibc/build/math/test-math-iszero.o: relocation R_X86_64_32S against `.text' can not be used when making a shared object; recompile with -fPIC /usr/bin/ld: final link failed: Nonrepresentable section on output collect2: error: ld returned 1 exit status > But I've attached the testcase, so building should be unnecessary. Thanks..