Re: [PATCH 1/5] selftests: Add futex functional tests

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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" <chrubis@xxxxxxx> 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@xxxxxxxxxxxxxxx>
From: Darren Hart <dvhart@xxxxxxxxxxxxxxx>
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 <dvhart@xxxxxxxxxxxxxxx>
---
 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 := \
-- 
2.1.4


-- 
Darren Hart
Intel Open Source Technology Center
--
To unsubscribe from this list: send the line "unsubscribe linux-api" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux