[PATCH v4 0/3] tools build: Fix arm64 unistd.h dependency

From: Leo Yan
Date: Thu Jan 08 2026 - 11:44:56 EST


The perf build includes arm64's unistd.h, but its dependent header
unistd_64.h is missing.

As suggested by Arnd in [1]:

"I would suggest using the same method across all architectures:
either we figure out how to use the generated headers on all of them
(including x86, which uses yet another method), or we just stick with
the old asm-generic/unistd.h copy and use that on arm64 as well."

A dynamic approach (e.g., make headers_install) may be explored later to
generate headers for tools, but that will need consensus from the tools
maintainers. In the meantime, this series provides a quick fix by using
the asm-generic/unistd.h copy for arm64.

[1] https://lore.kernel.org/linux-arm-kernel/20251222173653.GF9788@xxxxxxxxxxxxxxx/T/#m69a051aae5e53a65f9b10e1d13f67b3e92f4bbc7

Signed-off-by: Leo Yan <leo.yan@xxxxxxx>
---
Changes in v4:
- Updated commit log in patch 01 to avoid confusion (James).
- Link to v3: https://lore.kernel.org/r/20251222-perf_fix_syscall_header-v3-0-eb4a8b9dfe66@xxxxxxx

Changes in v3:
- Changed to include asm-generic/unistd.h copy (Arnd).
- Removed check due to divergence between the kernel and tools.
- Link to v2: https://lore.kernel.org/r/20251210-perf_fix_syscall_header-v2-0-b18b6016e0ea@xxxxxxx

Changes in v2:
- Added a consistency check (Ian).
- Rebased on the latest perf-tools-next.
- Link to v1: https://lore.kernel.org/r/20251204-perf_fix_syscall_header-v1-0-b8e27f74ed6a@xxxxxxx

---
Leo Yan (3):
tools headers: Go back to include asm-generic/unistd.h for arm64
Revert "perf tools: Fix arm64 build by generating unistd_64.h"
tools headers: Don't check arm64's unistd.h

tools/arch/arm64/include/uapi/asm/unistd.h | 24 +++++++++++++++++++++++-
tools/lib/perf/Makefile | 14 ++------------
tools/perf/Makefile.config | 1 -
tools/perf/check-headers.sh | 1 -
4 files changed, 25 insertions(+), 15 deletions(-)
---
base-commit: cbd41c6d4c26c161a2b0e70ad411d3885ff13507
change-id: 20251203-perf_fix_syscall_header-e280fa931d44

Best regards,
--
Leo Yan <leo.yan@xxxxxxx>