]> git.ipfire.org Git - thirdparty/linux.git/commit
tools headers: Go back to include asm-generic/unistd.h for arm64
authorLeo Yan <leo.yan@arm.com>
Thu, 8 Jan 2026 09:43:24 +0000 (09:43 +0000)
committerArnaldo Carvalho de Melo <acme@redhat.com>
Mon, 26 Jan 2026 20:06:32 +0000 (17:06 -0300)
commit096b86ce08332fbcb0ec6ff6714c44899ec03970
treef033531643fad880e95b0255796042e6196ba193
parentd3b402c5a2d47f51eb0581da1a7b142f82cb10d1
tools headers: Go back to include asm-generic/unistd.h for arm64

The header unistd.h is included under Arm64's uAPI folder (see
tools/arch/arm64/include/uapi/asm/), but it does not include its
dependent header unistd_64.h.

The intention is for unistd_64.h to be generated dynamically using
scripts/Makefile.asm-headers.

However, this dynamic approach causes problems because the header is not
available early enough, even though it is widely included throughout
tools.

Using the perf build as an example:

 1) Feature detection: Perf first runs feature tests.

    The BPF feature program test-bpf.c includes unistd.h.  Since
    unistd_64.h has not been generated yet, the program fails to build,
    and the BPF feature ends up being disabled.

 2) libperf build:

    The libperf Makefile later generates unistd_64.h on the fly, so
    libperf itself builds successfully.

 3) Final perf build:

    Although the perf binary can build successfully using the generated
    header, we never get a chance to build BPF skeleton programs,
    because BPF support was already disabled earlier.

Restore to include asm-generic/unistd.h for fixing the issue.  This
aligns with most architectures (x86 is a special case that keeps
unistd_32.h/unistd_64.h for its particular syscall numbers) and ensures
the header is available from the start.

Fixes: 22f72088ffe69a37 ("tools headers: Update the syscall table with the kernel sources")
Reviewed-by: James Clark <james.clark@linaro.org>
Signed-off-by: Leo Yan <leo.yan@arm.com>
Cc: Adrian Hunter <adrian.hunter@intel.com>
Cc: Arnd Bergmann <arnd@arndb.de>
Cc: Ian Rogers <irogers@google.com>
Cc: Jiri Olsa <jolsa@kernel.org>
Cc: Namhyung Kim <namhyung@kernel.org>
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
tools/arch/arm64/include/uapi/asm/unistd.h