From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by smtp.subspace.kernel.org (Postfix) with ESMTP id AD2422BEC3F; Mon, 23 Mar 2026 15:13:48 +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=1774278830; cv=none; b=cgvM5EA1T41pm/cQugS4bBSzTUuTsi/w0HMvBdESvfnqVfJN/S1zNcRszOWeD8cvWtQ65tWHXnHOT/slns51ow2zGQxZuxhiJsXYAj6siPvYq2IQaKuLZCy54DwBiRp93sr35JpRA01ueu/Ny0tTXyrEV3iIcFfdj3DTCxpTjTI= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1774278830; c=relaxed/simple; bh=scm2Teab3DTT7gUR3n9n43GRGxHQ8MDO9eljW4curP4=; h=From:Subject:Date:Message-Id:MIME-Version:Content-Type:To:Cc; b=LnQ21RUzrVRTEQ3AHQ+JWcWXDyJONC8g2Iyk/py8vSsAegxtqquILnWWsCxZHtei/PBLm/lf4eICRLiaXiX5EH1fM5CX6VkFvmm8ik+tD3q4+dv5puCKGQW4MAXG5k9tM6k5p9FMrDl/XM3QbZ90tPU/e+fgrhsjfbxK2FNH8Pk= 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 E9C211516; Mon, 23 Mar 2026 08:13:41 -0700 (PDT) Received: from e132581.arm.com (e132581.arm.com [10.1.196.87]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 302183F694; Mon, 23 Mar 2026 08:13:40 -0700 (PDT) From: Leo Yan Subject: [PATCH v6 00/24] tools build: Append -fzero-init-padding-bits=all option Date: Mon, 23 Mar 2026 15:13:21 +0000 Message-Id: <20260323-tools_build_fix_zero_init-v6-0-235858c51af9@arm.com> 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: 8bit X-B4-Tracking: v=1; b=H4sIAJFYwWkC/43Oz27DIAwG8FepOI8JQ/7ATnuPqYowOKulNkyQR tuqvPtoL20v0Y6f5e9nX0ShzFTE2+4iMi1cOE01dC87EQ5++iTJsWahle6U1o2cUzqWAc98jMP I38Mv5TTwxLOModUdYLRoUdT+V6a6cLM/9jUfuMwp/9xOLfo6/Y+6aAkSwYdgofcK6N3n02tIJ 3E1F3N3jLJbjpFKdk3fW2VBG+yfnebBAdhymuo4Mi1GdC6geXbaR2fzn7Y6iDSO0UYPzt2ddV3 /AOOsrNSYAQAA X-Change-ID: 20260224-tools_build_fix_zero_init-dc5261bd8b8b To: Arnaldo Carvalho de Melo , Ian Rogers , Namhyung Kim , James Clark , Kees Cook , Quentin Monnet , Nathan Chancellor , Nicolas Schier , Nick Desaulniers , Bill Wendling , Justin Stitt , Alexei Starovoitov , Daniel Borkmann , Andrii Nakryiko , Martin KaFai Lau , Eduard Zingerman , Song Liu , Yonghong Song , John Fastabend , KP Singh , Stanislav Fomichev , Hao Luo , Jiri Olsa , "Rafael J. Wysocki" , Daniel Lezcano , Zhang Rui , Lukasz Luba , Peter Zijlstra , Ingo Molnar , Mark Rutland , Alexander Shishkin , Adrian Hunter , Masami Hiramatsu , William Breathitt Gray , Barry Song , Qinxin Xia , Bartosz Golaszewski , Kent Gibson , "K. Y. Srinivasan" , Haiyang Zhang , Wei Liu , Dexuan Cui , Long Li , Jonathan Cameron , David Lechner , =?utf-8?q?Nuno_S=C3=A1?= , Andy Shevchenko , Andrew Morton , Willy Tarreau , =?utf-8?q?Thomas_Wei=C3=9Fschuh?= , Josh Poimboeuf , Robert Moore , Len Brown , Srinivas Pandruvada , Tejun Heo , David Vernet , Andrea Righi , Changwoo Min , Mark Brown , Steven Rostedt , Gabriele Monaco , Shuah Khan , Jiri Kosina , Benjamin Tissoires Cc: linux-kbuild@vger.kernel.org, linux-kernel@vger.kernel.org, linux-perf-users@vger.kernel.org, Leo Yan , Bartosz Golaszewski , Jonathan Cameron X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1774278819; l=5235; i=leo.yan@arm.com; s=20250604; h=from:subject:message-id; bh=scm2Teab3DTT7gUR3n9n43GRGxHQ8MDO9eljW4curP4=; b=mTKQNo0Mq5Wt1iBmXf+Fu7dzHuDzXFBaeabcrMbHlNIalkJpI8DWplr0nSZN2zPwUiorawOQG PX0v+Ibnzj4BCz/3d/PiK4UD+WpKGuWAd0L2w3htQu/0kWFLMfW5xYv X-Developer-Key: i=leo.yan@arm.com; a=ed25519; pk=k4BaDbvkCXzBFA7Nw184KHGP5thju8lKqJYIrOWxDhI= GCC-15 doesn't guarantee that a {0} initializer clears the whole union [1]. This may cause bugs if data is not intialized properly. The kernel enabld the -fzero-init-padding-bits=all option to tackle the issue, which was merged in commit dce4aab8441d ("kbuild: Use -fzero-init-padding-bits=all"). This series propagates the same flag to the tools build. It uses tools/scripts/Makefile.include as the central place to add the option to EXTRA_CFLAGS and HOST_EXTRACFLAGS for the CC and HOSTCC compilers. Each project under tools/ appends the variables as needed. BPF/bpftool related patches will be sent separately, as maintainers prefer them to go via the BPF tree. The changes are organized into three parts: Patches 01 – 04: Fixes for thermal build. Patch 05: Propagate -fzero-init-padding-bits=all to EXTRA_CFLAGS and HOST_EXTRACFLAGS for the CC and HOSTCC compilers, respectively. Patches 06 – 24: Apply EXTRA_CFLAGS and HOST_EXTRACFLAGS in project Makefiles. The change has been verified: Test 1: Cross compiling perf host: gcc 15.2.0 (x86_64), target: aarch64-linux-gnu-gcc make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- LDFLAGS="-static" \ -C tools/perf VF=1 CORESIGHT=1 NO_JEVENTS=1 DEBUG=1 Test 2: Cross compiling selftest bpf and sched_ext host: gcc 15.2.0 (x86_64), target: aarch64-linux-gnu-gcc export ARCH=arm64 export CROSS_COMPILE=aarch64-linux-gnu- make -C tools/testing/selftests/ TARGETS="bpf sched_ext" SKIP_TARGETS="" Test 3: Native compiling selftest bpf and sched_ext host: gcc 15.2.0 (x86_64) make -C tools/testing/selftests/ TARGETS="bpf sched_ext" SKIP_TARGETS="" Test 4: BPF CI test (with BPF patches sent separately) https://github.com/kernel-patches/bpf/actions/runs/23439834394 [1] https://gcc.gnu.org/gcc-15/changes.html Signed-off-by: Leo Yan --- Changes in v6: - Gathered Acked tags (thanks Jonathan!) - Left out bpftool patches and will send together with other BPF patches (Quentin) - Added back complete info in cover (Peter.Z) - Link to v5: https://lore.kernel.org/r/20260318-tools_build_fix_zero_init-v5-0-bbeffd8da199@arm.com Changes in v5: - Gathered Acked tags (thanks Daniel, Namhyung, Benjamin!) - Appended HOST_EXTRACFLAGS after KBUILD_HOSTCFLAGS (Ian) - Appended CFLAGS for libc-test (Thomas) - Left out BPF patches and will send out separately (Alexei) - Rebase on v7.0.0-rc4 - Link to v4: https://lore.kernel.org/r/20260311-tools_build_fix_zero_init-v4-0-9e35bdb99cb3@arm.com --- Leo Yan (24): tools: lib: thermal: Fix typo tools/thermal: Fix typo tools: lib: thermal: Initialize CFLAGS before including Makefile.include tools/thermal: Initialize CFLAGS before including Makefile.include tools build: Append -fzero-init-padding-bits=all to extra cflags perf build: Append extra host flags tools build: Append extra host cflags tools: bootconfig: Append extra cflags tools: counter: Append extra cflags tools: dma: Append extra cflags tools: gpio: Append extra cflags tools: hv: Append extra cflags tools: iio: Append extra cflags tools: mm: Append extra cflags tools: objtool: Append extra host cflags tools: power: acpi: Append extra cflags tools: power: x86/intel-speed-select: Append extra cflags tools: sched_ext: Append extra cflags tools: spi: Append extra cflags tools: tracing: Append extra cflags tools: usb: Append extra cflags selftests/hid: Append extra cflags selftests/nolibc: Append extra cflags selftests/sched_ext: Append extra cflags tools/bootconfig/Makefile | 1 + tools/build/Makefile | 6 ++++-- tools/counter/Makefile | 1 + tools/dma/Makefile | 1 + tools/gpio/Makefile | 1 + tools/hv/Makefile | 1 + tools/iio/Makefile | 1 + tools/lib/thermal/Makefile | 20 ++++++++++--------- tools/mm/Makefile | 1 + tools/objtool/Makefile | 2 ++ tools/perf/Makefile.config | 2 +- tools/power/acpi/Makefile.config | 1 + tools/power/x86/intel-speed-select/Makefile | 1 + tools/sched_ext/Makefile | 1 + tools/scripts/Makefile.include | 30 +++++++++++++++++++++++++++++ tools/spi/Makefile | 1 + tools/testing/selftests/hid/Makefile | 1 + tools/testing/selftests/nolibc/Makefile | 7 +++---- tools/testing/selftests/sched_ext/Makefile | 1 + tools/thermal/lib/Makefile | 20 ++++++++++--------- tools/tracing/latency/Makefile | 1 + tools/usb/Makefile | 1 + 22 files changed, 77 insertions(+), 25 deletions(-) --- base-commit: bfec8e88ff6022b056615ec71506703e7e54de82 change-id: 20260224-tools_build_fix_zero_init-dc5261bd8b8b Best regards, -- Leo Yan