From nobody Sat Feb 7 09:35:08 2026 Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 2FB4A2D2490; Mon, 22 Dec 2025 18:07:12 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=217.140.110.172 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1766426834; cv=none; b=bpYt1Q00w5DATIqn9pHA4Q+WZzjFKw0jb8LT2CTUnhi0m/WwYVZS/Hlet1kTx0OHMTUzdI0gFRwJ5ltjyJWKFKmEhLB5oOwHGZuD1FIVVqacSOVrJe0ghzhlF4Z9mcGT3kAk78BU1Y7DNVCWnri2kTSeK3nTJTrTkMKj+af4UcM= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1766426834; c=relaxed/simple; bh=nXnG7k5Zaz0I0X/x3m53iHeMEFKI92DwooDSckcZXCM=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=BaRMuaQPLDv5dHm5FCYvmVM5vlb6fOGwwQLmG4V4ygxsnbHnZTF7MBgV7U39yMZgulpx5ckOfrbDpsEnKPkOEs1/lEtlFHZrM6FxkETbF2XnB6MFxvGp+CGUVWSbU4dpO7MsYYmOBjEDSYCGycpP3gCiZ1bpmKC+Q7l9RDehdQI= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=arm.com; spf=pass smtp.mailfrom=arm.com; arc=none smtp.client-ip=217.140.110.172 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=arm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=arm.com Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 2E214FEC; Mon, 22 Dec 2025 10:07:04 -0800 (PST) Received: from e132581.arm.com (e132581.arm.com [10.1.196.87]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id D33D63F73F; Mon, 22 Dec 2025 10:07:09 -0800 (PST) From: Leo Yan Date: Mon, 22 Dec 2025 18:06:46 +0000 Subject: [PATCH v3 1/3] tools headers: Go back to include asm-generic/unistd.h for arm64 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20251222-perf_fix_syscall_header-v3-1-eb4a8b9dfe66@arm.com> References: <20251222-perf_fix_syscall_header-v3-0-eb4a8b9dfe66@arm.com> In-Reply-To: <20251222-perf_fix_syscall_header-v3-0-eb4a8b9dfe66@arm.com> To: Arnaldo Carvalho de Melo , Namhyung Kim , Jiri Olsa , Ian Rogers , Adrian Hunter , James Clark , Arnd Bergmann Cc: linux-kernel@vger.kernel.org, linux-perf-users@vger.kernel.org, Leo Yan X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1766426828; l=2774; i=leo.yan@arm.com; s=20250604; h=from:subject:message-id; bh=nXnG7k5Zaz0I0X/x3m53iHeMEFKI92DwooDSckcZXCM=; b=lz6syXqe69RtFm++hX5Xmj9yTWjg4kqDXlCktmLwbkewbJngJFIQKsKhrwdbQZuJKJUUdBbvf GUH+KdG90CkCCMzIItd732mDuRiudv3OSxIEv90WuEi7CKfWmo7tMFy X-Developer-Key: i=leo.yan@arm.com; a=ed25519; pk=k4BaDbvkCXzBFA7Nw184KHGP5thju8lKqJYIrOWxDhI= 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. To fix the issue, it restores to include asm-generic/unistd.h. This is consistent with other architectures and ensures the header is available from the start. Fixes: 22f72088ffe6 ("tools headers: Update the syscall table with the kern= el sources") Signed-off-by: Leo Yan --- tools/arch/arm64/include/uapi/asm/unistd.h | 24 +++++++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) diff --git a/tools/arch/arm64/include/uapi/asm/unistd.h b/tools/arch/arm64/= include/uapi/asm/unistd.h index df36f23876e863ff0a9e88473d5339f7ab69516d..9306726337fe005e3cf3e1ffd38= dc6356191fa95 100644 --- a/tools/arch/arm64/include/uapi/asm/unistd.h +++ b/tools/arch/arm64/include/uapi/asm/unistd.h @@ -1,2 +1,24 @@ /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ -#include +/* + * Copyright (C) 2012 ARM Ltd. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#define __ARCH_WANT_RENAMEAT +#define __ARCH_WANT_NEW_STAT +#define __ARCH_WANT_SET_GET_RLIMIT +#define __ARCH_WANT_TIME32_SYSCALLS +#define __ARCH_WANT_MEMFD_SECRET + +#include --=20 2.34.1 From nobody Sat Feb 7 09:35:08 2026 Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 71A2E33291D; Mon, 22 Dec 2025 18:07:13 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=217.140.110.172 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1766426835; cv=none; b=Vqjsr2tEkSqLKMAo961By9oxlZ4IOY8l1Oow90o5Nm14rRcoqpCTa+amAth1Q9nBEU6n49WpJhdz7CTjw97n1Whilt0F4PX4X/pXXmZiQDE6KN5KRUredvklW31fnQrvcykeJKF9OziLZxCjvQZzqf5aS01NR7Nn4t3ey9uB0E4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1766426835; c=relaxed/simple; bh=rFUtwguG5/wwZfFnpFmopp4L9YEp1dSeOPOmek71TRY=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=c/uUo756jXWLeZrtM8FsbPj4Ox+KdGID4eBRWM6WCJZlQdM1QJpoI8oX9azGzGfkZjfsQyrk7QYNNoF+49zko+Xcv00kMDaS0KOQI1X4Enx4kTTZb5Zq3t2jiWn041IJGD06Vd8wiLTIDG2Ergd7OivZMjQH8Mr8mdYxa4w0FiQ= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=arm.com; spf=pass smtp.mailfrom=arm.com; arc=none smtp.client-ip=217.140.110.172 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=arm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=arm.com Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id CDCED1515; Mon, 22 Dec 2025 10:07:05 -0800 (PST) Received: from e132581.arm.com (e132581.arm.com [10.1.196.87]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 821583F73F; Mon, 22 Dec 2025 10:07:11 -0800 (PST) From: Leo Yan Date: Mon, 22 Dec 2025 18:06:47 +0000 Subject: [PATCH v3 2/3] Revert "perf tools: Fix arm64 build by generating unistd_64.h" Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20251222-perf_fix_syscall_header-v3-2-eb4a8b9dfe66@arm.com> References: <20251222-perf_fix_syscall_header-v3-0-eb4a8b9dfe66@arm.com> In-Reply-To: <20251222-perf_fix_syscall_header-v3-0-eb4a8b9dfe66@arm.com> To: Arnaldo Carvalho de Melo , Namhyung Kim , Jiri Olsa , Ian Rogers , Adrian Hunter , James Clark , Arnd Bergmann Cc: linux-kernel@vger.kernel.org, linux-perf-users@vger.kernel.org, Leo Yan X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1766426828; l=2519; i=leo.yan@arm.com; s=20250604; h=from:subject:message-id; bh=rFUtwguG5/wwZfFnpFmopp4L9YEp1dSeOPOmek71TRY=; b=Kz3V3KwO5XtMSpSsCGAsB89Ci63hM1fPUxgMacUi8RgPSOACytRwp/NvI1Jwfk9CoiPCCwnoW 6k2Dt3csJvDCR8QXi3GakkzAEZlh6OxF66jXi+QUOxop7nn/FpIvlCc X-Developer-Key: i=leo.yan@arm.com; a=ed25519; pk=k4BaDbvkCXzBFA7Nw184KHGP5thju8lKqJYIrOWxDhI= This reverts: commit 8988c4b91945 ("perf tools: Fix in-source libperf build") commit bfb713ea53c7 ("perf tools: Fix arm64 build by generating unistd_64.h= ") Since we now have a static unistd_64.h for the arm64 build, there is no need to generate unistd_64.h in libperf. Revert all patches related to generating unistd_64.h. Signed-off-by: Leo Yan --- tools/lib/perf/Makefile | 14 ++------------ tools/perf/Makefile.config | 1 - 2 files changed, 2 insertions(+), 13 deletions(-) diff --git a/tools/lib/perf/Makefile b/tools/lib/perf/Makefile index 7fbb50b74c00b3b99ac538821124e04bfbc6da6a..ffcfd777c45181960afc7505ef8= f85d0b7ea7e8d 100644 --- a/tools/lib/perf/Makefile +++ b/tools/lib/perf/Makefile @@ -42,7 +42,6 @@ libdir_relative_SQ =3D $(subst ','\'',$(libdir_relative)) TEST_ARGS :=3D $(if $(V),-v) =20 INCLUDES =3D \ --I$(OUTPUT)arch/$(SRCARCH)/include/generated/uapi \ -I$(srctree)/tools/lib/perf/include \ -I$(srctree)/tools/lib/ \ -I$(srctree)/tools/include \ @@ -100,16 +99,7 @@ $(LIBAPI)-clean: $(call QUIET_CLEAN, libapi) $(Q)$(MAKE) -C $(LIB_DIR) O=3D$(OUTPUT) clean >/dev/null =20 -uapi-asm :=3D $(OUTPUT)arch/$(SRCARCH)/include/generated/uapi/asm -ifeq ($(SRCARCH),arm64) - syscall-y :=3D $(uapi-asm)/unistd_64.h -endif -uapi-asm-generic: - $(if $(syscall-y),\ - $(Q)$(MAKE) -f $(srctree)/scripts/Makefile.asm-headers obj=3D$(uapi-asm)= \ - generic=3Dinclude/uapi/asm-generic $(syscall-y),) - -$(LIBPERF_IN): uapi-asm-generic FORCE +$(LIBPERF_IN): FORCE $(Q)$(MAKE) $(build)=3Dlibperf =20 $(LIBPERF_A): $(LIBPERF_IN) @@ -130,7 +120,7 @@ all: fixdep clean: $(LIBAPI)-clean $(call QUIET_CLEAN, libperf) $(RM) $(LIBPERF_A) \ *.o *~ *.a *.so *.so.$(VERSION) *.so.$(LIBPERF_VERSION) .*= .d .*.cmd tests/*.o LIBPERF-CFLAGS $(LIBPERF_PC) \ - $(TESTS_STATIC) $(TESTS_SHARED) $(syscall-y) + $(TESTS_STATIC) $(TESTS_SHARED) =20 TESTS_IN =3D tests-in.o =20 diff --git a/tools/perf/Makefile.config b/tools/perf/Makefile.config index bd9f4804d56babeeefd0c02758bebf1ff0c040dd..c97ed1190ea097c41ca83f2ace0= 6c008cd7f0ca9 100644 --- a/tools/perf/Makefile.config +++ b/tools/perf/Makefile.config @@ -64,7 +64,6 @@ include $(srctree)/tools/scripts/Makefile.arch $(call detected_var,SRCARCH) =20 CFLAGS +=3D -I$(OUTPUT)arch/$(SRCARCH)/include/generated -CFLAGS +=3D -I$(OUTPUT)libperf/arch/$(SRCARCH)/include/generated/uapi =20 # Additional ARCH settings for ppc ifeq ($(SRCARCH),powerpc) --=20 2.34.1 From nobody Sat Feb 7 09:35:08 2026 Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 9B78233A9D6; Mon, 22 Dec 2025 18:07:15 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=217.140.110.172 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1766426837; cv=none; b=NQ+TUVfEZhItIDzExqy9ajfkSgUw4OHrf6doQISlJYHezA+C1m4TLgE0Y7C/zUzslw9qqtLXo7P55etV5naYJYRLLbuubuI4jDpG2PHgdeuWG4U/24GuJSRWLiXEqS4fgBX8YY/BfudsLrtWBGW374EkqdKznWJX9I8h6C1lntk= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1766426837; c=relaxed/simple; bh=MA3lT13EKH4mpSeSWkRjDanYzOL7mdIDaGB4+pCUzO4=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=rrgeIYYrDgS75rwZnUI9sduMwWtv2+2FXC3nNJA0kkzActQw0nf5b3QCozJkUWtKytqU7tAkz86kDVhCQeffB9v4Pe5dzEjQ7gBltpQ4XcuS7z9yaAskiBQuiD6IfYQ9Ya56br67GrJeyU3TpTH1luke32SeNs0Dp01sPMXBdW0= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=arm.com; spf=pass smtp.mailfrom=arm.com; arc=none smtp.client-ip=217.140.110.172 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=arm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=arm.com Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id D1C86FEC; Mon, 22 Dec 2025 10:07:07 -0800 (PST) Received: from e132581.arm.com (e132581.arm.com [10.1.196.87]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 320AB3F73F; Mon, 22 Dec 2025 10:07:13 -0800 (PST) From: Leo Yan Date: Mon, 22 Dec 2025 18:06:48 +0000 Subject: [PATCH v3 3/3] tools headers: Don't check arm64's unistd.h Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20251222-perf_fix_syscall_header-v3-3-eb4a8b9dfe66@arm.com> References: <20251222-perf_fix_syscall_header-v3-0-eb4a8b9dfe66@arm.com> In-Reply-To: <20251222-perf_fix_syscall_header-v3-0-eb4a8b9dfe66@arm.com> To: Arnaldo Carvalho de Melo , Namhyung Kim , Jiri Olsa , Ian Rogers , Adrian Hunter , James Clark , Arnd Bergmann Cc: linux-kernel@vger.kernel.org, linux-perf-users@vger.kernel.org, Leo Yan X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1766426828; l=816; i=leo.yan@arm.com; s=20250604; h=from:subject:message-id; bh=MA3lT13EKH4mpSeSWkRjDanYzOL7mdIDaGB4+pCUzO4=; b=DAHDBO+U3zeZiL7jC32n2JGKborZPo5mYy2AxUcpEuai6Ay+0Rkwfsyhk7Ucsv8v/OJe1My7x 1/Q9K+TeugIDepz0f5NenXVAAdCDtOTbrWchlZzZV/kMZmZX073R5X6 X-Developer-Key: i=leo.yan@arm.com; a=ed25519; pk=k4BaDbvkCXzBFA7Nw184KHGP5thju8lKqJYIrOWxDhI= The arm64 unistd.h in tools now diverges from the kernel header. Comparing the two headers is pointless, remove the check. Signed-off-by: Leo Yan --- tools/perf/check-headers.sh | 1 - 1 file changed, 1 deletion(-) diff --git a/tools/perf/check-headers.sh b/tools/perf/check-headers.sh index e0537f275da2f79ea9e05b91300aa1e2f996e9f1..da3aca87457fdc56c96d4184f2d= ee88dab026d98 100755 --- a/tools/perf/check-headers.sh +++ b/tools/perf/check-headers.sh @@ -54,7 +54,6 @@ declare -a FILES=3D( "arch/s390/include/uapi/asm/kvm.h" "arch/s390/include/uapi/asm/sie.h" "arch/arm64/include/uapi/asm/kvm.h" - "arch/arm64/include/uapi/asm/unistd.h" "arch/alpha/include/uapi/asm/errno.h" "arch/mips/include/asm/errno.h" "arch/mips/include/uapi/asm/errno.h" --=20 2.34.1