Revert "tools headers: Remove almost unused copy of uapi/stat.h, add few conditional...
authorArnaldo Carvalho de Melo <acme@redhat.com>
Thu, 18 Apr 2024 21:15:33 +0000 (18:15 -0300)
committerArnaldo Carvalho de Melo <acme@redhat.com>
Fri, 19 Apr 2024 01:22:52 +0000 (22:22 -0300)
commit61ba075d9911d2a6db181fbb5602762a24d5d0a9
tree9e6930409badd1af421c60ad9cf3b8558710d61b
parentc15ed4442981ccf8e7e0d885f5cb500400dde9d7
Revert "tools headers: Remove almost unused copy of uapi/stat.h, add few conditional defines"

This reverts commit a672af9139a843eb7a48fd7846bb6df8f81b5f86.

By now it is not used for building tools/perf, but Stephen Rothwell
reported that when building on a O= directory that had been built with
torvalds/master and this perf build command line:

  $ make -C tools/perf -f Makefile.perf -s -O -j60 O=/home/sfr/next/perf NO_BPF_SKEL=1

If we then merge perf-tools-next, as he did for linux-next, then we end
up with a build failure for libbpf:

    PERF_VERSION = 6.9.rc3.g42c4635c8dee
  make[3]: *** No rule to make target '/home/sfr/next/next/tools/include/uapi/linux/stat.h', needed by '/home/sfr/next/perf/libbpf/staticobjs/libbpf.o'.  Stop.
  make[2]: *** [Makefile:157: /home/sfr/next/perf/libbpf/staticobjs/libbpf-in.o] Error 2
  make[1]: *** [Makefile.perf:892: /home/sfr/next/perf/libbpf/libbpf.a] Error 2
  make[1]: *** Waiting for unfinished jobs....
  make: *** [Makefile.perf:264: sub-make] Error 2

This needs to be further investigated to figure out how to check if
libbpf really needs something that is in that
tools/include/uapi/linux/stat.h file and if not to remove that file in a
way that we don't break the build in any situation, to avoid requiring
doing a 'make clean'.

Reported-by: Stephen Rothwell <sfr@canb.auug.org.au>
Tested-by: Stephen Rothwell <sfr@canb.auug.org.au> # PowerPC le incermental build
Cc: Namhyung Kim <namhyung@kernel.org>
Link: https://lore.kernel.org/lkml/20240413124340.4d48c6d8@canb.auug.org.au
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
tools/include/uapi/linux/stat.h [new file with mode: 0644]
tools/perf/check-headers.sh