Messages in this thread | | | From | Vineet Gupta <> | Subject | Re: perf tools build broken after v5.1-rc1 | Date | Wed, 1 May 2019 21:17:52 +0000 |
| |
On 5/1/19 1:41 PM, Arnaldo Carvalho de Melo wrote: >> The 1a787fc5ba18ac7 commit copied over the changes for arm64, but >> missed all the other architectures changed in c8ce48f06503 and the >> related commits. > Right, I have a patch copying the missing headers, and that fixed the > build with the glibc-based toolchain, but then broke the uCLibc one :-\
tools/perf/util/cloexec.c #includes <sys/syscall.h> which for glibc includes asm/unistd.h
uClibc <sys/syscall.h> OTOH #include <bits/sysnum.h> containign#define __NR_* (generated by parsing kernel's unistd). This header does the right thing by chekcing for redefs, but in the end we still collide with newly added tools/arc/arc/*/**/unistd.h which doesn't have conditional definitions. I'm sure this is not an ARC problem, any uClibc build would be affected. Do you have a arm uclibc toolchain to test ?
All in all this is a mess. The quick band aid I can think of would be to add a #ifndef __UCLIBC__ in tools/arch/arc/include/uapi/asm/unistd.h which is super ugly, but in the end the solution is to get rid of this header duplicity.
-Vineet
| |