Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

perf tools: Avoid build splat for syscall numbers with uclibc

This is due to duplicated unistd inclusion (via uClibc headers + kernel headers)
Also seen on ARM uClibc based tools

------- ARC build ---------->8-------------

CC util/evlist.o
In file included from
~/arc/k.org/arch/arc/include/uapi/asm/unistd.h:25:0,
from util/../perf-sys.h:10,
from util/../perf.h:15,
from util/event.h:7,
from util/event.c:3:
~/arc/k.org/include/uapi/asm-generic/unistd.h:906:0:
warning: "__NR_fcntl64" redefined [enabled by default]
#define __NR_fcntl64 __NR3264_fcntl
^
In file included from
~/arc/gnu/INSTALL_1412-arc-2014.12-rc1/arc-snps-linux-uclibc/sysroot/usr/include/sys/syscall.h:24:0,
from util/../perf-sys.h:6,
----------------->8-------------------

------- ARM build ---------->8-------------

CC FPIC plugin_scsi.o
In file included from util/../perf-sys.h:9:0,
from util/../perf.h:15,
from util/cache.h:7,
from perf.c:12:
~/arc/k.org/arch/arm/include/uapi/asm/unistd.h:28:0:
warning: "__NR_restart_syscall" redefined [enabled by default]
In file included from
~/buildroot/host/usr/arm-buildroot-linux-uclibcgnueabi/sysroot/usr/include/sys/syscall.h:25:0,
from util/../perf-sys.h:6,
from util/../perf.h:15,
from util/cache.h:7,
from perf.c:12:
~/buildroot/host/usr/arm-buildroot-linux-uclibcgnueabi/sysroot/usr/include/bits/sysnum.h:17:0:
note: this is the location of the previous definition
----------------->8-------------------

Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
Cc: Alexey Brodkin <Alexey.Brodkin@synopsys.com>
Cc: Ingo Molnar <mingo@kernel.org>
Cc: Jiri Olsa <jolsa@kernel.org>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Link: http://lkml.kernel.org/r/1421156604-30603-4-git-send-email-vgupta@synopsys.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>

authored by

Vineet Gupta and committed by
Arnaldo Carvalho de Melo
ea1fe3a8 a83d869f

+1 -3
+1 -1
tools/perf/bench/sched-pipe.c
··· 19 19 #include <stdlib.h> 20 20 #include <signal.h> 21 21 #include <sys/wait.h> 22 - #include <linux/unistd.h> 23 22 #include <string.h> 24 23 #include <errno.h> 25 24 #include <assert.h> 26 25 #include <sys/time.h> 27 26 #include <sys/types.h> 27 + #include <sys/syscall.h> 28 28 29 29 #include <pthread.h> 30 30
-1
tools/perf/builtin-top.c
··· 66 66 #include <sys/utsname.h> 67 67 #include <sys/mman.h> 68 68 69 - #include <linux/unistd.h> 70 69 #include <linux/types.h> 71 70 72 71 static volatile int done;
-1
tools/perf/perf-sys.h
··· 6 6 #include <sys/syscall.h> 7 7 #include <linux/types.h> 8 8 #include <linux/perf_event.h> 9 - #include <asm/unistd.h> 10 9 11 10 #if defined(__i386__) 12 11 #define mb() asm volatile("lock; addl $0,0(%%esp)" ::: "memory")