mirror of
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-08-05 16:54:27 +00:00
perf tools: Fix arm64 build by generating unistd_64.h
Since pulling in the kernel changes in commit22f72088ff
("tools headers: Update the syscall table with the kernel sources"), arm64 is no longer using a generic syscall header and generates one from the syscall table. Therefore we must also generate the syscall header for arm64 before building Perf. Add it as a dependency to libperf which uses one syscall number. Perf uses more, but as libperf is a dependency of Perf it will be generated for both. Future platforms that need this will have to add their own syscall-y targets in libperf manually. Unfortunately the arch specific files that do this (e.g. arch/arm64/include/asm/Kbuild) can't easily be imported into the Perf build. But Perf only needs a subset of the generated files anyway, so redefining them is probably the correct thing to do. Fixes:22f72088ff
("tools headers: Update the syscall table with the kernel sources") Signed-off-by: James Clark <james.clark@linaro.org> Tested-by: Harshit Mogalapalli <harshit.m.mogalapalli@oracle.com> Link: https://lore.kernel.org/r/20250417-james-perf-fix-gen-syscall-v1-1-1d268c923901@linaro.org Signed-off-by: Namhyung Kim <namhyung@kernel.org>
This commit is contained in:
parent
9c32cda43e
commit
bfb713ea53
2 changed files with 12 additions and 1 deletions
|
@ -42,6 +42,7 @@ libdir_relative_SQ = $(subst ','\'',$(libdir_relative))
|
||||||
TEST_ARGS := $(if $(V),-v)
|
TEST_ARGS := $(if $(V),-v)
|
||||||
|
|
||||||
INCLUDES = \
|
INCLUDES = \
|
||||||
|
-I$(OUTPUT)/../arch/$(SRCARCH)/include/generated/uapi \
|
||||||
-I$(srctree)/tools/lib/perf/include \
|
-I$(srctree)/tools/lib/perf/include \
|
||||||
-I$(srctree)/tools/lib/ \
|
-I$(srctree)/tools/lib/ \
|
||||||
-I$(srctree)/tools/include \
|
-I$(srctree)/tools/include \
|
||||||
|
@ -99,7 +100,16 @@ $(LIBAPI)-clean:
|
||||||
$(call QUIET_CLEAN, libapi)
|
$(call QUIET_CLEAN, libapi)
|
||||||
$(Q)$(MAKE) -C $(LIB_DIR) O=$(OUTPUT) clean >/dev/null
|
$(Q)$(MAKE) -C $(LIB_DIR) O=$(OUTPUT) clean >/dev/null
|
||||||
|
|
||||||
$(LIBPERF_IN): FORCE
|
uapi-asm := $(OUTPUT)/../arch/$(SRCARCH)/include/generated/uapi/asm
|
||||||
|
ifeq ($(SRCARCH),arm64)
|
||||||
|
syscall-y := $(uapi-asm)/unistd_64.h
|
||||||
|
endif
|
||||||
|
uapi-asm-generic:
|
||||||
|
$(if $(syscall-y),\
|
||||||
|
$(Q)$(MAKE) -f $(srctree)/scripts/Makefile.asm-headers obj=$(uapi-asm) \
|
||||||
|
generic=include/uapi/asm-generic $(syscall-y),)
|
||||||
|
|
||||||
|
$(LIBPERF_IN): uapi-asm-generic FORCE
|
||||||
$(Q)$(MAKE) $(build)=libperf
|
$(Q)$(MAKE) $(build)=libperf
|
||||||
|
|
||||||
$(LIBPERF_A): $(LIBPERF_IN)
|
$(LIBPERF_A): $(LIBPERF_IN)
|
||||||
|
|
|
@ -29,6 +29,7 @@ include $(srctree)/tools/scripts/Makefile.arch
|
||||||
$(call detected_var,SRCARCH)
|
$(call detected_var,SRCARCH)
|
||||||
|
|
||||||
CFLAGS += -I$(OUTPUT)arch/$(SRCARCH)/include/generated
|
CFLAGS += -I$(OUTPUT)arch/$(SRCARCH)/include/generated
|
||||||
|
CFLAGS += -I$(OUTPUT)arch/$(SRCARCH)/include/generated/uapi
|
||||||
|
|
||||||
# Additional ARCH settings for ppc
|
# Additional ARCH settings for ppc
|
||||||
ifeq ($(SRCARCH),powerpc)
|
ifeq ($(SRCARCH),powerpc)
|
||||||
|
|
Loading…
Add table
Reference in a new issue