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/

Reply via email to