Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S933032AbbELRO0 (ORCPT ); Tue, 12 May 2015 13:14:26 -0400 Received: from lists.s-osg.org ([54.187.51.154]:54178 "EHLO lists.s-osg.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932814AbbELROX (ORCPT ); Tue, 12 May 2015 13:14:23 -0400 Message-ID: <555234ED.2000300@osg.samsung.com> Date: Tue, 12 May 2015 11:14:21 -0600 From: Shuah Khan Organization: Samsung Open Source Group User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.6.0 MIME-Version: 1.0 To: Darren Hart CC: Darren Hart , Cyril Hrubis , linux-api@vger.kernel.org, Linux Kernel Mailing List , John Stultz , Ingo Molnar , Peter Zijlstra , Thomas Gleixner , Davidlohr Bueso , KOSAKI Motohiro , Shuah Khan Subject: Re: [PATCH 1/5] selftests: Add futex functional tests References: <5550FB2C.1000403@osg.samsung.com> <5551164E.5080409@osg.samsung.com> <55512B54.50304@osg.samsung.com> <55512B86.2040900@osg.samsung.com> <20150512100256.GA5122@rei.suse.de> <55522E92.8090609@osg.samsung.com> <20150512170544.GA30184@fury.dvhart.com> In-Reply-To: <20150512170544.GA30184@fury.dvhart.com> Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 3983 Lines: 100 On 05/12/2015 11:05 AM, Darren Hart wrote: > On Tue, May 12, 2015 at 10:47:14AM -0600, Shuah Khan wrote: >> On 05/12/2015 10:10 AM, Darren Hart wrote: >>> On 5/12/15, 3:02 AM, "Cyril Hrubis" wrote: >>> >>>> Hi! >>>>> I'm happy to do that, but I would like to make sure I'm doing the right >>>>> thing. >>>> >>>> The right thing here is to add -pthread to CFLAGS which sets both flags >>>> for preprocessor and linker (see man gcc). >>> >>> Hi Cyril, >>> >>> Thanks. I read that, and mentioned it, but my concern with -pthread in the >>> CFLAGS and LDFLAGS is that it is a non-standard compiler flag. I >>> understand we have a number of gcc-isms in our build - but do we want to >>> add more? >>> >>> I'm also struggling to find any kind of prescribed documentation on this >>> beyond the short blurb in the gcc man page which describes what this >>> option does, but not when to use it. I'll need something concrete to >>> justify changes to testcase Makefiles to Shuah. >>> >>> Unfortunately, all these options are functional for me, while some are not >>> for Shuah, so I'm currently having to rely on documentation which seems >>> pretty sparse. >>> >> >> Hi Daren, >> >> My goals are really simple. make kselftest doesn't break. All tests >> compile and run and install or fail gracefully when dependencies aren't >> met. As long as the above are met, I don't really worry about what >> individual test Makefiles do. > > Understood. Given the variability across distros/compiler versions, the > "doesn't break" part isn't as straight forward as it should be. I could fix > this so it builds for you and me, but I'm trying to build confidence that I'm > doing this "correctly" so it doesn't break in other scenarios - since I'm not > seeing any breakage on my systems. > > Shuah, which distro and compiler version are you seeing the build failure on? > I'd like to at least reproduce that so I can be confident my next version will > at least build in your environment. > > Currently, the only direction I have is gcc man page and Cyril's advocacy for > -pthread. Does the following work for you (it still does for me)? > > >>From 0b7284551d6419520d5ce8833e177ba5b8be2286 Mon Sep 17 00:00:00 2001 > Message-Id: <0b7284551d6419520d5ce8833e177ba5b8be2286.1431449782.git.dvhart@linux.intel.com> > From: Darren Hart > Date: Tue, 12 May 2015 09:54:39 -0700 > Subject: [PATCH] selftests/futex: Add -pthread to CFLAGS and LDFLAGS > > Certain environments fail to build with the "-lpthread -lrt" LDFLAGS. > Using "-pthread" instead of "-lpthread" resolves this and is the > documented mechanism in the gcc man page. > > Signed-off-by: Darren Hart > --- > tools/testing/selftests/futex/functional/Makefile | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/tools/testing/selftests/futex/functional/Makefile b/tools/testing/selftests/futex/functional/Makefile > index e64d43b..9d6b75e 100644 > --- a/tools/testing/selftests/futex/functional/Makefile > +++ b/tools/testing/selftests/futex/functional/Makefile > @@ -1,6 +1,6 @@ > INCLUDES := -I../include -I../../ > -CFLAGS := $(CFLAGS) -g -O2 -Wall -D_GNU_SOURCE $(INCLUDES) > -LDFLAGS := $(LDFLAGS) -lpthread -lrt > +CFLAGS := $(CFLAGS) -g -O2 -Wall -D_GNU_SOURCE -pthread $(INCLUDES) > +LDFLAGS := $(LDFLAGS) -pthread -lrt > > HEADERS := ../include/futextest.h > TARGETS := \ > Daren, The above worked on my system. I have gcc version 4.9.2 (Ubuntu 4.9.2-10ubuntu13) on mine just in case you need that info. thanks, -- Shuah -- Shuah Khan Sr. Linux Kernel Developer Open Source Innovation Group Samsung Research America (Silicon Valley) shuahkh@osg.samsung.com | (970) 217-8978 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/