summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPetr Štetiar <ynezz@true.cz>2023-05-24 09:46:45 +0200
committerChristian Marangi <ansuelsmth@gmail.com>2024-04-18 11:52:22 +0200
commit33612fdb924f8adab3523cf9388ed969f6f5f77e (patch)
tree94aa5f9582252cf4fad546a6ad4ce9e462d3650b
parent677ecd09d28ab8c34c3fc3cfcadea88dee94fdf5 (diff)
downloadopenwrt-33612fdb924f8adab3523cf9388ed969f6f5f77e.tar.gz
openwrt-33612fdb924f8adab3523cf9388ed969f6f5f77e.tar.bz2
openwrt-33612fdb924f8adab3523cf9388ed969f6f5f77e.zip
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@true.cz> (cherry picked from commit ce8c639a6c539534be14a540e7c3e9933d3a34ef)
-rw-r--r--config/Config-kernel.in16
-rw-r--r--target/linux/generic/config-5.152
2 files changed, 17 insertions, 1 deletions
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