Received: by 2002:a05:6a10:144:0:0:0:0 with SMTP id 4csp134549pxw; Fri, 8 Apr 2022 03:29:45 -0700 (PDT) X-Google-Smtp-Source: ABdhPJyQkc3RMSXNcVoAC6dbk9EmQNbamC6d6A4G0xSQL2a0jyM83BvJ93zB0ezuugg96tirtu5K X-Received: by 2002:a05:6402:458:b0:418:78a4:ac3f with SMTP id p24-20020a056402045800b0041878a4ac3fmr18474040edw.196.1649413785482; Fri, 08 Apr 2022 03:29:45 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1649413785; cv=none; d=google.com; s=arc-20160816; b=H4CvoC+TvrkXq89N2cSB8hzCIFJ+HhfGqDNrEl4kd4kKJ0fc6lP1sD0oabsxdbpx4A gvWswyKvfJw0FV4fsaQoJg00vrXhzgtYJGHg8rAbIFzW/AQ0vY0Ys/W4rvlG/x/XD4ec 0ykId4tJ5k+7F2I3W/kA8r9q9y3RaMKvw4VlPrAZolaIdWptvpf+cPijpmmbxQZuIBCJ jAYFaz1UdM9mMco8zS9cmh73fofjCO0keyNeiXSGxHO3r7cACw7GZeTtsS3q/wAdJLHm o5hm3KKu4Ob3NqZaIoR1w2AUK8xUi+TKYPvzVvLDJf3Di5W2kxpUDMPBdtgZTXF6USm/ zOWw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from; bh=EHjUYzv5uJw979zAGQKQEDH6VfL5L71P3bUU/uqEGDg=; b=dGmF4HcWK27rwkJmkGwa0WACj4nyVRA5mDL8ZmW4wfGuw4n0N2hCpDwVsGFCvRCwVJ rClDpfV1/ttyelqL5mttyA85erAS8Ut0pSkw/vTGaQFleR5IbN63xml9EhvRL8d2u2GE akORyPPiF0UGB4gOx/gVKQ/3turY/MDeIVJ7o01HS3mcbEPoKUHOEkBQJI5L/lRNSMek aF7ARaIi5yJR2KI8PJTi5gajcv4JldSpKX8h1xMK+Ic8v4T2ADOY+bB2bT3rSWxenyfe 8M6agE29x6NSfmzVUBfjWB6uDNlHaGvFdUuIUdvxcr9rOsax7kC9YObpjpYoVLmkoCPO GabA== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id k22-20020aa7c396000000b00418c2b5be6asi487077edq.332.2022.04.08.03.29.20; Fri, 08 Apr 2022 03:29:45 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232220AbiDHIsa (ORCPT + 99 others); Fri, 8 Apr 2022 04:48:30 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:41850 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231408AbiDHIs3 (ORCPT ); Fri, 8 Apr 2022 04:48:29 -0400 Received: from smtp1-g21.free.fr (smtp1-g21.free.fr [212.27.42.1]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 78A1F31C0A0; Fri, 8 Apr 2022 01:46:25 -0700 (PDT) Received: from localhost (unknown [IPv6:2a01:e35:39f2:1220:bf15:70c6:368e:e3ba]) by smtp1-g21.free.fr (Postfix) with ESMTPS id E9B6FB004B6; Fri, 8 Apr 2022 10:46:17 +0200 (CEST) From: Yann Droneaud To: Masahiro Yamada , Michal Marek , Nick Desaulniers Cc: linux-kbuild@vger.kernel.org, linux-kernel@vger.kernel.org, Linus Torvalds , Yann Droneaud Subject: [PATCHv1] kbuild: support W=e to make build abort in case of warning Date: Fri, 8 Apr 2022 10:46:07 +0200 Message-Id: <20220408084607.106468-1-ydroneaud@opteya.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <1422803720-14723-1-git-send-email-ydroneaud@opteya.com> References: <1422803720-14723-1-git-send-email-ydroneaud@opteya.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-1.2 required=5.0 tests=BAYES_00,RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H3,RCVD_IN_MSPIKE_WL,SPF_HELO_NONE,SPF_SOFTFAIL, T_SCC_BODY_TEXT_LINE autolearn=no autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org When developing new code/feature, CONFIG_WERROR is most often turned off, especially for people using make W=12 to get more warnings. In such case, turning on -Werror temporarily would require switching on CONFIG_WERROR in the configuration, building, then switching off CONFIG_WERROR. For this use case, this patch introduces a new 'e' modifier to W= as a short hand for KCFLAGS+=-Werror" so that -Werror got added to the kernel (built-in) and modules' CFLAGS. Signed-off-by: Yann Droneaud --- Makefile | 1 + scripts/Makefile.extrawarn | 13 +++++++++++-- 2 files changed, 12 insertions(+), 2 deletions(-) Changes since v0[0]: - rebase on top of commit 64a91907c896 ("kbuild: refactor scripts/Makefile.extrawarn") - document use case after commit 3fe617ccafd6 ("Enable '-Werror' by default for all kernel builds") [0] https://lore.kernel.org/all/1422803720-14723-1-git-send-email-ydroneaud@opteya.com/ diff --git a/Makefile b/Makefile index 8c7de9a72ea2..6dc621af18d1 100644 --- a/Makefile +++ b/Makefile @@ -1649,6 +1649,7 @@ help: @echo ' 1: warnings which may be relevant and do not occur too often' @echo ' 2: warnings which occur quite often but may still be relevant' @echo ' 3: more obscure warnings, can most likely be ignored' + @echo ' e: warnings are being treated as errors' @echo ' Multiple levels can be combined with W=12 or W=123' @echo '' @echo 'Execute "make" or "make all" to build all targets marked with [*] ' diff --git a/scripts/Makefile.extrawarn b/scripts/Makefile.extrawarn index 650d0b8ceec3..f5f0d6f09053 100644 --- a/scripts/Makefile.extrawarn +++ b/scripts/Makefile.extrawarn @@ -2,8 +2,8 @@ # ========================================================================== # make W=... settings # -# There are three warning groups enabled by W=1, W=2, W=3. -# They are independent, and can be combined like W=12 or W=123. +# There are four warning groups enabled by W=1, W=2, W=3, and W=e +# They are independent, and can be combined like W=12 or W=123e. # ========================================================================== KBUILD_CFLAGS += $(call cc-disable-warning, packed-not-aligned) @@ -94,3 +94,12 @@ KBUILD_CFLAGS += $(call cc-option, -Wpacked-bitfield-compat) KBUILD_CPPFLAGS += -DKBUILD_EXTRA_WARN3 endif + +# +# W=e - error out on warnings +# +ifneq ($(findstring e, $(KBUILD_EXTRA_WARN)),) + +KBUILD_CFLAGS += -Werror + +endif -- 2.32.0