[openwrt/openwrt] kernel: introduce KERNEL_WERROR config option

LEDE Commits lede-commits at lists.infradead.org
Thu Apr 18 02:53:08 PDT 2024


ansuel pushed a commit to openwrt/openwrt.git, branch openwrt-23.05:
https://git.openwrt.org/33612fdb924f8adab3523cf9388ed969f6f5f77e

commit 33612fdb924f8adab3523cf9388ed969f6f5f77e
Author: Petr Štetiar <ynezz at true.cz>
AuthorDate: Wed May 24 09:46:45 2023 +0200

    kernel: introduce KERNEL_WERROR config option
    
    In commit b2d1eb717b65 ("generic: 5.15: enable Werror by default for
    kernel compile") CONFIG_WERROR=y was enabled and all warnings/errors
    reported with GCC 12 were fixed.
    
    Keeping this in sync with past/future GCC versions is going to be uphill
    battle, so lets introduce new KERNEL_WERROR config option, enable it by
    default only for tested/known working combinations and on buildbots.
    
    References: #12687
    Signed-off-by: Petr Štetiar <ynezz at true.cz>
    (cherry picked from commit ce8c639a6c539534be14a540e7c3e9933d3a34ef)
---
 config/Config-kernel.in          | 16 ++++++++++++++++
 target/linux/generic/config-5.15 |  2 +-
 2 files changed, 17 insertions(+), 1 deletion(-)

diff --git a/config/Config-kernel.in b/config/Config-kernel.in
index c1bc7984f7..bbda247cd7 100644
--- a/config/Config-kernel.in
+++ b/config/Config-kernel.in
@@ -1340,3 +1340,19 @@ config KERNEL_UBIFS_FS_SECURITY
 
 config KERNEL_JFFS2_FS_SECURITY
 	bool "JFFS2 Security Labels"
+
+config KERNEL_WERROR
+	bool "Compile the kernel with warnings as errors"
+	default BUILDBOT
+	default y if GCC_USE_VERSION_12
+	help
+	  A kernel build should not cause any compiler warnings, and this
+	  enables the '-Werror' (for C) and '-Dwarnings' (for Rust) flags
+	  to enforce that rule by default. Certain warnings from other tools
+	  such as the linker may be upgraded to errors with this option as
+	  well.
+
+	  However, if you have a new (or very old) compiler or linker with odd
+	  and unusual warnings, or you have some architecture with problems,
+	  you may need to disable this config option in order to
+	  successfully build the kernel.
diff --git a/target/linux/generic/config-5.15 b/target/linux/generic/config-5.15
index e9b8fc42cd..f527a6fb51 100644
--- a/target/linux/generic/config-5.15
+++ b/target/linux/generic/config-5.15
@@ -7476,7 +7476,7 @@ CONFIG_WATCHDOG_OPEN_TIMEOUT=0
 # CONFIG_WD80x3 is not set
 # CONFIG_WDAT_WDT is not set
 # CONFIG_WDTPCI is not set
-CONFIG_WERROR=y
+# CONFIG_WERROR is not set
 # CONFIG_WEXT_CORE is not set
 # CONFIG_WEXT_PRIV is not set
 # CONFIG_WEXT_PROC is not set




More information about the lede-commits mailing list