On Tue, Feb 24, 2015 at 5:46 AM, Adrian Hunter <adrian.hun...@intel.com> 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? josh > > Signed-off-by: Adrian Hunter <adrian.hun...@intel.com> > --- > 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 majord...@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 majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/