Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752403AbbBXNyU (ORCPT ); Tue, 24 Feb 2015 08:54:20 -0500 Received: from mga02.intel.com ([134.134.136.20]:59501 "EHLO mga02.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750748AbbBXNyT (ORCPT ); Tue, 24 Feb 2015 08:54:19 -0500 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.09,638,1418112000"; d="scan'208";a="458925250" Message-ID: <54EC8218.3060007@intel.com> Date: Tue, 24 Feb 2015 15:52:24 +0200 From: Adrian Hunter Organization: Intel Finland Oy, Registered Address: PL 281, 00181 Helsinki, Business Identity Code: 0357606 - 4, Domiciled in Helsinki User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.4.0 MIME-Version: 1.0 To: Josh Boyer CC: Arnaldo Carvalho de Melo , "Linux-Kernel@Vger. Kernel. Org" , Jiri Olsa Subject: Re: [PATCH] perf tools: Fix pthread_attr_setaffinity_np build error References: <1424774766-24194-1-git-send-email-adrian.hunter@intel.com> In-Reply-To: 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: 3197 Lines: 81 On 24/02/15 15:32, Josh Boyer wrote: > On Tue, Feb 24, 2015 at 5:46 AM, Adrian Hunter wrote: >> Feature detection for pthread_attr_setaffinity_np was failing, >> producing this error: >> >> In file included from bench/futex-hash.c:17:0: >> bench/futex.h:73:19: error: conflicting types for 'pthread_attr_setaffinity_np' >> static inline int pthread_attr_setaffinity_np(pthread_attr_t *attr, >> ^ >> In file included from bench/futex.h:72:0, >> from bench/futex-hash.c:17: >> /usr/include/pthread.h:407:12: note: previous declaration of 'pthread_attr_setaffinity_np' was here >> extern int pthread_attr_setaffinity_np (pthread_attr_t *__attr, >> ^ >> make[3]: *** [bench/futex-hash.o] Error 1 >> make[2]: *** [bench] Error 2 >> make[2]: *** Waiting for unfinished jobs.... >> >> This was because compiling test-pthread-attr-setaffinity-np.c >> failed due to the function arguments: >> >> test-pthread-attr-setaffinity-np.c: In function 'main': >> test-pthread-attr-setaffinity-np.c:11:2: warning: null argument where non-null required (argument 3) [-Wnonnull] >> ret = pthread_attr_setaffinity_np(&thread_attr, 0, NULL); >> ^ >> So fix the arguments. > > Erm, I sent a different fix for this a while ago. It's queued in some > -tip tree. The feature test wasn't defining _GNU_SOURCE, which is > required for pthread_attr_setaffinity_np. Once that was set (passed > via -D in the Makefile), the feature test worked fine. > > Did you have to use your patch on top of the fix already queued? Yes. The error (warning + Werror) I got definitely seemed to be about the use of NULL as an argument. > > josh > >> >> Signed-off-by: Adrian Hunter >> --- >> tools/perf/config/feature-checks/test-pthread-attr-setaffinity-np.c | 3 ++- >> 1 file changed, 2 insertions(+), 1 deletion(-) >> >> diff --git a/tools/perf/config/feature-checks/test-pthread-attr-setaffinity-np.c b/tools/perf/config/feature-checks/test-pthread-attr-setaffinity-np.c >> index 0a0d3ec..2b81b72 100644 >> --- a/tools/perf/config/feature-checks/test-pthread-attr-setaffinity-np.c >> +++ b/tools/perf/config/feature-checks/test-pthread-attr-setaffinity-np.c >> @@ -5,10 +5,11 @@ int main(void) >> { >> int ret = 0; >> pthread_attr_t thread_attr; >> + cpu_set_t cs; >> >> pthread_attr_init(&thread_attr); >> /* don't care abt exact args, just the API itself in libpthread */ >> - ret = pthread_attr_setaffinity_np(&thread_attr, 0, NULL); >> + ret = pthread_attr_setaffinity_np(&thread_attr, sizeof(cs), &cs); >> >> return ret; >> } >> -- >> 1.9.1 >> >> -- >> 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/ > > -- 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/