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

tools headers: Fixup bitsperlong per arch includes

We were getting the file by luck, from one of the paths in -I, fix it to
get it from the proper place:

$ cd tools/include/uapi/asm/
[acme@quaco asm]$ grep include bitsperlong.h
#include "../../arch/x86/include/uapi/asm/bitsperlong.h"
#include "../../arch/arm64/include/uapi/asm/bitsperlong.h"
#include "../../arch/powerpc/include/uapi/asm/bitsperlong.h"
#include "../../arch/s390/include/uapi/asm/bitsperlong.h"
#include "../../arch/sparc/include/uapi/asm/bitsperlong.h"
#include "../../arch/mips/include/uapi/asm/bitsperlong.h"
#include "../../arch/ia64/include/uapi/asm/bitsperlong.h"
#include "../../arch/riscv/include/uapi/asm/bitsperlong.h"
#include "../../arch/alpha/include/uapi/asm/bitsperlong.h"
#include <asm-generic/bitsperlong.h>
$ ls -la ../../arch/x86/include/uapi/asm/bitsperlong.h
ls: cannot access '../../arch/x86/include/uapi/asm/bitsperlong.h': No such file or directory
$ ls -la ../../../arch/*/include/uapi/asm/bitsperlong.h
-rw-rw-r--. 1 237 ../../../arch/alpha/include/uapi/asm/bitsperlong.h
-rw-rw-r--. 1 841 ../../../arch/arm64/include/uapi/asm/bitsperlong.h
-rw-rw-r--. 1 966 ../../../arch/hexagon/include/uapi/asm/bitsperlong.h
-rw-rw-r--. 1 234 ../../../arch/ia64/include/uapi/asm/bitsperlong.h
-rw-rw-r--. 1 100 ../../../arch/microblaze/include/uapi/asm/bitsperlong.h
-rw-rw-r--. 1 244 ../../../arch/mips/include/uapi/asm/bitsperlong.h
-rw-rw-r--. 1 352 ../../../arch/parisc/include/uapi/asm/bitsperlong.h
-rw-rw-r--. 1 312 ../../../arch/powerpc/include/uapi/asm/bitsperlong.h
-rw-rw-r--. 1 353 ../../../arch/riscv/include/uapi/asm/bitsperlong.h
-rw-rw-r--. 1 292 ../../../arch/s390/include/uapi/asm/bitsperlong.h
-rw-rw-r--. 1 323 ../../../arch/sparc/include/uapi/asm/bitsperlong.h
-rw-rw-r--. 1 320 ../../../arch/x86/include/uapi/asm/bitsperlong.h
$

Found while fixing some other problem, before it was escaping the
tools/ chroot and using stuff in the kernel sources:

CC /tmp/build/perf/util/find_bit.o
In file included from /git/linux/tools/include/../../arch/x86/include/uapi/asm/bitsperlong.h:11,
from /git/linux/tools/include/uapi/asm/bitsperlong.h:3,
from /git/linux/tools/include/linux/bits.h:6,
from /git/linux/tools/include/linux/bitops.h:13,
from ../lib/find_bit.c:17:

# cd /git/linux/tools/include/../../arch/x86/include/uapi/asm/
# pwd
/git/linux/arch/x86/include/uapi/asm
#

Now it is getting the one we want it to, i.e. the one inside tools/:

CC /tmp/build/perf/util/find_bit.o
In file included from /git/linux/tools/arch/x86/include/uapi/asm/bitsperlong.h:11,
from /git/linux/tools/include/linux/bits.h:6,
from /git/linux/tools/include/linux/bitops.h:13,

Cc: Adrian Hunter <adrian.hunter@intel.com>
Cc: Jiri Olsa <jolsa@kernel.org>
Cc: Namhyung Kim <namhyung@kernel.org>
Link: https://lkml.kernel.org/n/tip-8f8cfqywmf6jk8a3ucr0ixhu@git.kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>

+9 -9
+9 -9
tools/include/uapi/asm/bitsperlong.h
··· 1 1 /* SPDX-License-Identifier: GPL-2.0 */ 2 2 #if defined(__i386__) || defined(__x86_64__) 3 - #include "../../arch/x86/include/uapi/asm/bitsperlong.h" 3 + #include "../../../arch/x86/include/uapi/asm/bitsperlong.h" 4 4 #elif defined(__aarch64__) 5 - #include "../../arch/arm64/include/uapi/asm/bitsperlong.h" 5 + #include "../../../arch/arm64/include/uapi/asm/bitsperlong.h" 6 6 #elif defined(__powerpc__) 7 - #include "../../arch/powerpc/include/uapi/asm/bitsperlong.h" 7 + #include "../../../arch/powerpc/include/uapi/asm/bitsperlong.h" 8 8 #elif defined(__s390__) 9 - #include "../../arch/s390/include/uapi/asm/bitsperlong.h" 9 + #include "../../../arch/s390/include/uapi/asm/bitsperlong.h" 10 10 #elif defined(__sparc__) 11 - #include "../../arch/sparc/include/uapi/asm/bitsperlong.h" 11 + #include "../../../arch/sparc/include/uapi/asm/bitsperlong.h" 12 12 #elif defined(__mips__) 13 - #include "../../arch/mips/include/uapi/asm/bitsperlong.h" 13 + #include "../../../arch/mips/include/uapi/asm/bitsperlong.h" 14 14 #elif defined(__ia64__) 15 - #include "../../arch/ia64/include/uapi/asm/bitsperlong.h" 15 + #include "../../../arch/ia64/include/uapi/asm/bitsperlong.h" 16 16 #elif defined(__riscv) 17 - #include "../../arch/riscv/include/uapi/asm/bitsperlong.h" 17 + #include "../../../arch/riscv/include/uapi/asm/bitsperlong.h" 18 18 #elif defined(__alpha__) 19 - #include "../../arch/alpha/include/uapi/asm/bitsperlong.h" 19 + #include "../../../arch/alpha/include/uapi/asm/bitsperlong.h" 20 20 #else 21 21 #include <asm-generic/bitsperlong.h> 22 22 #endif