tools build: Check if gettid() is available before providing helper
Laura reported that the perf build failed in fedora when we got a glibc that provides gettid(), which I reproduced using fedora rawhide with the glibc-devel-2.29.9000-26.fc31.x86_64 package. Add a feature check to avoid providing a gettid() helper in such systems. On a fedora rawhide system with this patch applied we now get: [root@7a5f55352234 perf]# grep gettid /tmp/build/perf/FEATURE-DUMP feature-gettid=1 [root@7a5f55352234 perf]# cat /tmp/build/perf/feature/test-gettid.make.output [root@7a5f55352234 perf]# ldd /tmp/build/perf/feature/test-gettid.bin linux-vdso.so.1 (0x00007ffc6b1f6000) libc.so.6 => /lib64/libc.so.6 (0x00007f04e0a74000) /lib64/ld-linux-x86-64.so.2 (0x00007f04e0c47000) [root@7a5f55352234 perf]# nm /tmp/build/perf/feature/test-gettid.bin | grep -w gettid U gettid@@GLIBC_2.30 [root@7a5f55352234 perf]# While on a fedora:29 system: [acme@quaco perf]$ grep gettid /tmp/build/perf/FEATURE-DUMP feature-gettid=0 [acme@quaco perf]$ cat /tmp/build/perf/feature/test-gettid.make.output test-gettid.c: In function ‘main’: test-gettid.c:8:9: error: implicit declaration of function ‘gettid’; did you mean ‘getgid’? [-Werror=implicit-function-declaration] return gettid(); ^~~~~~ getgid cc1: all warnings being treated as errors [acme@quaco perf]$ Reported-by:Laura Abbott <labbott@redhat.com> Tested-by:
Laura Abbott <labbott@redhat.com> Acked-by:
Jiri Olsa <jolsa@kernel.org> Cc: Adrian Hunter <adrian.hunter@intel.com> Cc: Florian Weimer <fweimer@redhat.com> Cc: Namhyung Kim <namhyung@kernel.org> Cc: Stephane Eranian <eranian@google.com> Link: https://lkml.kernel.org/n/tip-yfy3ch53agmklwu9o7rlgf9c@git.kernel.org Signed-off-by:
Arnaldo Carvalho de Melo <acme@redhat.com>
Showing
- tools/build/Makefile.feature 1 addition, 0 deletionstools/build/Makefile.feature
- tools/build/feature/Makefile 4 additions, 0 deletionstools/build/feature/Makefile
- tools/build/feature/test-all.c 5 additions, 0 deletionstools/build/feature/test-all.c
- tools/build/feature/test-gettid.c 11 additions, 0 deletionstools/build/feature/test-gettid.c
- tools/perf/Makefile.config 4 additions, 0 deletionstools/perf/Makefile.config
- tools/perf/jvmti/jvmti_agent.c 2 additions, 0 deletionstools/perf/jvmti/jvmti_agent.c
Loading
Please register or sign in to comment