mirror of
				https://github.com/torvalds/linux.git
				synced 2025-11-04 10:40:15 +02: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)
 | 
			
		||||
 | 
			
		||||
INCLUDES = \
 | 
			
		||||
-I$(OUTPUT)/../arch/$(SRCARCH)/include/generated/uapi \
 | 
			
		||||
-I$(srctree)/tools/lib/perf/include \
 | 
			
		||||
-I$(srctree)/tools/lib/ \
 | 
			
		||||
-I$(srctree)/tools/include \
 | 
			
		||||
| 
						 | 
				
			
			@ -99,7 +100,16 @@ $(LIBAPI)-clean:
 | 
			
		|||
	$(call QUIET_CLEAN, libapi)
 | 
			
		||||
	$(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
 | 
			
		||||
 | 
			
		||||
$(LIBPERF_A): $(LIBPERF_IN)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -29,6 +29,7 @@ include $(srctree)/tools/scripts/Makefile.arch
 | 
			
		|||
$(call detected_var,SRCARCH)
 | 
			
		||||
 | 
			
		||||
CFLAGS += -I$(OUTPUT)arch/$(SRCARCH)/include/generated
 | 
			
		||||
CFLAGS += -I$(OUTPUT)arch/$(SRCARCH)/include/generated/uapi
 | 
			
		||||
 | 
			
		||||
# Additional ARCH settings for ppc
 | 
			
		||||
ifeq ($(SRCARCH),powerpc)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in a new issue