From patchwork Fri Mar 6 16:33:07 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Arnd Bergmann X-Patchwork-Id: 131236 Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from vm01.sourceware.org (localhost [127.0.0.1]) by sourceware.org (Postfix) with ESMTP id 68CE94BA2E1D for ; Fri, 6 Mar 2026 16:33:36 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 68CE94BA2E1D Authentication-Results: sourceware.org; dkim=pass (2048-bit key, unprotected) header.d=kernel.org header.i=@kernel.org header.a=rsa-sha256 header.s=k20201202 header.b=KcJnLIkQ X-Original-To: libabigail@sourceware.org Delivered-To: libabigail@sourceware.org Received: from tor.source.kernel.org (tor.source.kernel.org [IPv6:2600:3c04:e001:324:0:1991:8:25]) by sourceware.org (Postfix) with ESMTPS id 86E614BA2E1D for ; Fri, 6 Mar 2026 16:33:24 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 86E614BA2E1D Authentication-Results: sourceware.org; dmarc=pass (p=quarantine dis=none) header.from=kernel.org Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=kernel.org ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 86E614BA2E1D Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=2600:3c04:e001:324:0:1991:8:25 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1772814804; cv=none; b=xY6/iPhncvu/a6RWpxZ5Cs8tELhQPJHPvRn/4+Wrg8aWUAT0DTiLwBe/l8VDwYUP2j8NBXdvIjMA5te48P6fKPiXImR7jjrKh2onh8LHGv4N4QNomqIxEIQuN8JrUAz45p7vaj1pOjXq1vLPTzopTD0r6MV4JO8dSByPdjDFOvs= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1772814804; c=relaxed/simple; bh=5DC8x9M4HvTzU9/g1k76jDOL3YSsKgNelTLy7lmqsMU=; h=DKIM-Signature:From:To:Subject:Date:Message-Id:MIME-Version; b=C5vM3b+X0V1Jj/dWMUoNx5Ty+76hzbufLQckqXYsf14yJJC3y+MWSF4zUsW6Ntwh6S/r2hapzu9QFdUdA0a7aWMoFLY600oi2RFigdvu3sJTMDxAFlxVGDU42JLWCw8AmHErEgxx7nkVtvly/se4BQx2WpVPlCm8eW03Lq0/H4E= ARC-Authentication-Results: i=1; server2.sourceware.org DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 86E614BA2E1D Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by tor.source.kernel.org (Postfix) with ESMTP id 0D08F60127; Fri, 6 Mar 2026 16:33:23 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id B7F3CC2BC87; Fri, 6 Mar 2026 16:33:20 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1772814802; bh=5DC8x9M4HvTzU9/g1k76jDOL3YSsKgNelTLy7lmqsMU=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=KcJnLIkQ7Cdo6hVBgWA/5A6k8FbAq4HOHaHHAfyRMGwB0PiVbvF2ChxqccbUe5AQ9 P2Y7tmvH1gN8KU4qYDA6IE1hnevfHJkTl/I4JUrDZqKryNteKZS4XOMX5Z/0ArA3Lg RO+/wSON1S/E2Zj2K4mkfs3zWHreVnwclGTbOKp+Dflg5XJoZbM3x9sQ9tJ/wZNHMy OKP2pHDa2ceYaIKKjFszG8QtVOmIB6735OUhOG3gmhHsMv4I7Qp9ZFWCFz3VMm2MsR P9tg854wL5r+8ssUxkCLn6bS2brhvCGp11itUENaPTMGavTzu9KoFdAH6vf9sRgX1F 1SCrcDqbv7p8g== From: Arnd Bergmann To: linux-kbuild@vger.kernel.org Cc: Arnd Bergmann , Dodji Seketeli , John Moon , Nathan Chancellor , Nicolas Schier , =?utf-8?q?Thomas_Wei=C3=9Fschuh?= , libabigail@sourceware.org, stable@vger.kernel.org Subject: [PATCH 1/3] check-uapi: link into shared objects Date: Fri, 6 Mar 2026 17:33:07 +0100 Message-Id: <20260306163309.2015837-2-arnd@kernel.org> X-Mailer: git-send-email 2.39.5 In-Reply-To: <20260306163309.2015837-1-arnd@kernel.org> References: <20260306163309.2015837-1-arnd@kernel.org> MIME-Version: 1.0 X-Spam-Status: No, score=-11.3 required=5.0 tests=BAYES_00, DKIMWL_WL_HIGH, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, RCVD_IN_DNSWL_BLOCKED, SPF_HELO_NONE, SPF_PASS, TXREP, URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on sourceware.org X-BeenThere: libabigail@sourceware.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: Mailing list of the Libabigail project List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: libabigail-bounces~patchwork=sourceware.org@sourceware.org From: Arnd Bergmann While testing ABI changes across all architectures, I found that abidiff sometimes produces nonsensical output. Further debugging identified missing or broken libelf support for architecture specific relocations in ET_REL binaries as the source of the problem[1]. Change the script to no longer produce a relocatable object file but instead create a shared library for each header. This makes abidiff work for all of the architectures in upstream linux kernels. Link: https://sourceware.org/bugzilla/show_bug.cgi?id=33869 Cc: stable@vger.kernel.org Signed-off-by: Arnd Bergmann --- scripts/check-uapi.sh | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/scripts/check-uapi.sh b/scripts/check-uapi.sh index 955581735cb3..9fa45cbdecc2 100755 --- a/scripts/check-uapi.sh +++ b/scripts/check-uapi.sh @@ -178,8 +178,11 @@ do_compile() { local -r inc_dir="$1" local -r header="$2" local -r out="$3" - printf "int main(void) { return 0; }\n" | \ - "$CC" -c \ + printf "int f(void) { return 0; }\n" | \ + "$CC" \ + -shared \ + -nostdlib \ + -fPIC \ -o "$out" \ -x c \ -O0 \ From patchwork Fri Mar 6 16:33:08 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Arnd Bergmann X-Patchwork-Id: 131237 Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from vm01.sourceware.org (localhost [127.0.0.1]) by sourceware.org (Postfix) with ESMTP id 596314BA2E1D for ; Fri, 6 Mar 2026 16:33:41 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 596314BA2E1D Authentication-Results: sourceware.org; dkim=pass (2048-bit key, unprotected) header.d=kernel.org header.i=@kernel.org header.a=rsa-sha256 header.s=k20201202 header.b=E8tY8Nxr X-Original-To: libabigail@sourceware.org Delivered-To: libabigail@sourceware.org Received: from sea.source.kernel.org (sea.source.kernel.org [172.234.252.31]) by sourceware.org (Postfix) with ESMTPS id CC4574BA23E4 for ; Fri, 6 Mar 2026 16:33:25 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org CC4574BA23E4 Authentication-Results: sourceware.org; dmarc=pass (p=quarantine dis=none) header.from=kernel.org Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=kernel.org ARC-Filter: OpenARC Filter v1.0.0 sourceware.org CC4574BA23E4 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=172.234.252.31 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1772814805; cv=none; b=b/f/sciUaI+/5sGndT9YnWeSDfJapZrzyAksHNRs4HLH86ftl2dCpqYjhuRGTeTg6RA88X+69llpw5VgvUv3TlbcFQdZpZAMFbNGmeh9eGCemGIH0mfkmsJ3Nc7MfEql++c2843ABmn+Lp/EJu3zgHZq9RS7sMUulYMvD4c6puE= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1772814805; c=relaxed/simple; bh=ZI0O09pwHqrPFtmEavAOA2eKkiwpAFpEzW3UPFLThsc=; h=DKIM-Signature:From:To:Subject:Date:Message-Id:MIME-Version; b=FN5+/OfRaa5tUVRA1tuCD65wA5MU0KhVKP6kJ9JCgmrhIlL76Be1C5tMNaHufvwlEaXgdLSyS1de+qnFMp8zcPD0WEgBBNHNI9QqHAadZGj0IDDyX3dc9avGSFBeIIOpPIV6znQmn9AHnFMoHUWEFxFXhRRz1JZba29vPHmvxe8= ARC-Authentication-Results: i=1; server2.sourceware.org DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org CC4574BA23E4 Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by sea.source.kernel.org (Postfix) with ESMTP id 26D58404CB; Fri, 6 Mar 2026 16:33:25 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 348ADC2BC86; Fri, 6 Mar 2026 16:33:23 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1772814805; bh=ZI0O09pwHqrPFtmEavAOA2eKkiwpAFpEzW3UPFLThsc=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=E8tY8Nxr9xvwvHx2xuk7SXt6CWtRjWpNd4rSI7fvlrL33ijs/E2q3seUWvVr77Ng2 BRdzPVpqKFszwAEj+8YnPUfTC9Rt6ybjc7oPl7CI3dKjhGMAwQV+swTFmovxOf6dT7 7LT2fAgw8wEVdnaY7JxYVgoV/cljP7MWPGbqtbNd34rmtm+vDKSFE5VojteuqoM9jh GK4bvbOTM189tC3VYWmZejXAotIizSW/6K2ucvge5aku5otg+HL4E+88hm1/xfrDIM eHBBRd0Bti3eKEHzX8PaoFaet88q7pOnEKW+RAafOXO1dr6S8A6WzTnJKq4x/DCjJu Nb96A7nFBZOuw== From: Arnd Bergmann To: linux-kbuild@vger.kernel.org Cc: Arnd Bergmann , Dodji Seketeli , John Moon , Nathan Chancellor , Nicolas Schier , =?utf-8?q?Thomas_Wei=C3=9Fschuh?= , libabigail@sourceware.org Subject: [PATCH 2/3] check-uapi: honor ${CROSS_COMPILE} setting Date: Fri, 6 Mar 2026 17:33:08 +0100 Message-Id: <20260306163309.2015837-3-arnd@kernel.org> X-Mailer: git-send-email 2.39.5 In-Reply-To: <20260306163309.2015837-1-arnd@kernel.org> References: <20260306163309.2015837-1-arnd@kernel.org> MIME-Version: 1.0 X-Spam-Status: No, score=-10.9 required=5.0 tests=BAYES_00, DKIMWL_WL_HIGH, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, RCVD_IN_DNSWL_BLOCKED, RCVD_IN_VALIDITY_RPBL_BLOCKED, RCVD_IN_VALIDITY_SAFE_BLOCKED, SPF_HELO_NONE, SPF_PASS, TXREP, URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on sourceware.org X-BeenThere: libabigail@sourceware.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: Mailing list of the Libabigail project List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: libabigail-bounces~patchwork=sourceware.org@sourceware.org From: Arnd Bergmann When ${CROSS_COMPILE} is set, but ${CC} is not set, the logic in check-uapi.sh is different from the top-level Makefile, which defaults to using the cross gcc. This leads to using the native gcc instead of the cross version, resulting in unexpected false-positive and false-negative output. Use the same logic here that we use in Kbuild for consistency. Signed-off-by: Arnd Bergmann --- scripts/check-uapi.sh | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/scripts/check-uapi.sh b/scripts/check-uapi.sh index 9fa45cbdecc2..e4d120eb09e3 100755 --- a/scripts/check-uapi.sh +++ b/scripts/check-uapi.sh @@ -33,9 +33,10 @@ Options: -v Verbose operation (print more information about each header being checked). Environmental args: - ABIDIFF Custom path to abidiff binary - CC C compiler (default is "gcc") - ARCH Target architecture for the UAPI check (default is host arch) + ABIDIFF Custom path to abidiff binary + CROSS_COMPILE Toolchain prefix for compiler + CC C compiler (default is "\${CROSS_COMPILE}gcc") + ARCH Target architecture for the UAPI check (default is host arch) Exit codes: $SUCCESS) Success @@ -198,7 +199,7 @@ do_compile() { run_make_headers_install() { local -r ref="$1" local -r install_dir="$(get_header_tree "$ref")" - make -j "$MAX_THREADS" ARCH="$ARCH" INSTALL_HDR_PATH="$install_dir" \ + make -j "$MAX_THREADS" CROSS_COMPILE="${CROSS_COMPILE}" ARCH="$ARCH" INSTALL_HDR_PATH="$install_dir" \ headers_install > /dev/null } @@ -407,7 +408,7 @@ min_version_is_satisfied() { # Make sure we have the tools we need and the arguments make sense check_deps() { ABIDIFF="${ABIDIFF:-abidiff}" - CC="${CC:-gcc}" + CC="${CC:-${CROSS_COMPILE}gcc}" ARCH="${ARCH:-$(uname -m)}" if [ "$ARCH" = "x86_64" ]; then ARCH="x86" From patchwork Fri Mar 6 16:33:09 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Arnd Bergmann X-Patchwork-Id: 131235 Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from vm01.sourceware.org (localhost [127.0.0.1]) by sourceware.org (Postfix) with ESMTP id D834E4B9DB40 for ; Fri, 6 Mar 2026 16:33:34 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org D834E4B9DB40 Authentication-Results: sourceware.org; dkim=pass (2048-bit key, unprotected) header.d=kernel.org header.i=@kernel.org header.a=rsa-sha256 header.s=k20201202 header.b=UL2TgpIJ X-Original-To: libabigail@sourceware.org Delivered-To: libabigail@sourceware.org Received: from sea.source.kernel.org (sea.source.kernel.org [172.234.252.31]) by sourceware.org (Postfix) with ESMTPS id 188D64BA23FC for ; Fri, 6 Mar 2026 16:33:28 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 188D64BA23FC Authentication-Results: sourceware.org; dmarc=pass (p=quarantine dis=none) header.from=kernel.org Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=kernel.org ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 188D64BA23FC Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=172.234.252.31 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1772814808; cv=none; b=bVV3/Mf0OXkuBd0ImHJ/KOZ5ai/I9EePv293oZGkBADtmxzUwi1VRvom98UDcZHUVcZ8TG5iN5sEEip1+b04iUe7IqI2++OPJ3fql3ni5o4Ztz+z0Xqd8BhZCXDgpsHrnJlPDWDpWZLsSZpUnFE6VlCo0rPTaQazWkNYnYRYYr8= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1772814808; c=relaxed/simple; bh=OsGIverTqbfLboR3Rb0dxLX69WlmezNlUPs+M/gaqTw=; h=DKIM-Signature:From:To:Subject:Date:Message-Id:MIME-Version; b=CrX6Xtkeiu+CunNkohGggRc2l80TaW53sdOt7nS4cm0iBzJhuX6A0XxTiEvGwqnYPhRn0suU+6Sosa+Y+4bZTzEWugqKxBwZllTnhqRGl1johFvnrOylMOPj1NwEC+9ayvnebUrniXxFNathUn9AF6SKEm6ssVOBzyIUVzSa8DY= ARC-Authentication-Results: i=1; server2.sourceware.org DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 188D64BA23FC Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by sea.source.kernel.org (Postfix) with ESMTP id 6596D44368; Fri, 6 Mar 2026 16:33:27 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 761D9C2BC86; Fri, 6 Mar 2026 16:33:25 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1772814807; bh=OsGIverTqbfLboR3Rb0dxLX69WlmezNlUPs+M/gaqTw=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=UL2TgpIJCnuAHQ2ATmAKjs+sBFvYX+X8n86mKjtYnYnJPFh6OK3vVgeE4ZxwRyKjM hBU0hEd4MW82Rq2W9VhJrRwg82zkBkVwc7dsGL6Alhvd7LDvJ5XX1+T8crZF7s2cF/ SZMdjOOzrb2tI9rTm+uMkh8LgXklFn0YLkYZV0pxH1lwAsm+zq438rUIewc9LtHJe9 ADpaYdrNqr7/Z3iPIct21lJocC2xRJ9dT/T/XSozo6UNxWudL8hDI/jvgVdpIYLQgR jfFK6kmx0krFoXTJjKnz3Y4Tz5DUp81qYcNhkGSg/aGjRsPkBU1h0as58C4jksnwnj nozB/jCav55PA== From: Arnd Bergmann To: linux-kbuild@vger.kernel.org Cc: Arnd Bergmann , Dodji Seketeli , John Moon , Nathan Chancellor , Nicolas Schier , =?utf-8?q?Thomas_Wei=C3=9Fschuh?= , libabigail@sourceware.org Subject: [PATCH 3/3] check-uapi: use dummy libc includes Date: Fri, 6 Mar 2026 17:33:09 +0100 Message-Id: <20260306163309.2015837-4-arnd@kernel.org> X-Mailer: git-send-email 2.39.5 In-Reply-To: <20260306163309.2015837-1-arnd@kernel.org> References: <20260306163309.2015837-1-arnd@kernel.org> MIME-Version: 1.0 X-Spam-Status: No, score=-10.9 required=5.0 tests=BAYES_00, DKIMWL_WL_HIGH, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, RCVD_IN_DNSWL_BLOCKED, RCVD_IN_VALIDITY_RPBL_BLOCKED, RCVD_IN_VALIDITY_SAFE_BLOCKED, SPF_HELO_NONE, SPF_PASS, TXREP, URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on sourceware.org X-BeenThere: libabigail@sourceware.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: Mailing list of the Libabigail project List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: libabigail-bounces~patchwork=sourceware.org@sourceware.org From: Arnd Bergmann Based on Thomas Weißschuh's series to kernel headers to no longer require an installed libc when build testing the uapi headers, the same can now be done for the scripts/check-uapi.sh script. The only required change here is to add the usr/dummy-include include path. Link: https://lore.kernel.org/lkml/20260227-kbuild-uapi-libc-v1-0-c17de0d19776@weissschuh.net/ [1] Signed-off-by: Arnd Bergmann Reviewed-by: Thomas Weißschuh --- scripts/check-uapi.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/scripts/check-uapi.sh b/scripts/check-uapi.sh index e4d120eb09e3..c8beec58871c 100755 --- a/scripts/check-uapi.sh +++ b/scripts/check-uapi.sh @@ -191,6 +191,7 @@ do_compile() { -fno-eliminate-unused-debug-types \ -g \ "-I${inc_dir}" \ + "-Iusr/dummy-include" \ -include "$header" \ - }