Arm64's unistd.h is included in the tools build, but its dependent
header unistd_64.h is missing. This results in only a partial set of UAPI
headers being available, forcing tools to generate unistd_64.h dynamically.
Because unistd.h is widely used across the tools directory, relying on a
dynamically generated header is fragile, especially when a tool builds in
multiple stages, each of which may include unistd.h.
This series addresses the issue by adding a generated unistd_64.h
directly to the tools tree, ensuring the header is available from the
start and eliminating build failures due to header dependency.
This series has been tested with Arm64 cross-compilation and confirmed
that the BPF feature is enabled in perf. It also verifies libperf
in-source builds with applying this series.
Signed-off-by: Leo Yan <leo.yan@arm.com>
---
Leo Yan (2):
tools headers: Add arm64's unistd_64.h
Revert "perf tools: Fix arm64 build by generating unistd_64.h"
tools/arch/arm64/include/uapi/asm/unistd_64.h | 330 ++++++++++++++++++++++++++
tools/lib/perf/Makefile | 14 +-
tools/perf/Makefile.config | 1 -
3 files changed, 332 insertions(+), 13 deletions(-)
---
base-commit: 267c2e633af6e9461477bed91e428993f8b36ee8
change-id: 20251203-perf_fix_syscall_header-e280fa931d44
Best regards,
--
Leo Yan <leo.yan@arm.com>