From patchwork Tue Dec 6 04:07:30 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Masahiro Yamada X-Patchwork-Id: 13065363 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 647E2C352A1 for ; Tue, 6 Dec 2022 04:07:48 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230450AbiLFEHp (ORCPT ); Mon, 5 Dec 2022 23:07:45 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:59624 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231737AbiLFEHm (ORCPT ); Mon, 5 Dec 2022 23:07:42 -0500 Received: from dfw.source.kernel.org (dfw.source.kernel.org [IPv6:2604:1380:4641:c500::1]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id BEAE825F0; Mon, 5 Dec 2022 20:07:39 -0800 (PST) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id 6206E6154E; Tue, 6 Dec 2022 04:07:39 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 849F2C433C1; Tue, 6 Dec 2022 04:07:37 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1670299658; bh=xMuxZCae0szPGAJBhjSo4T2NR8ZPREZDgVVh/yx9ZQY=; h=From:To:Cc:Subject:Date:From; b=gTgkS23LO53e9ZXwSI8myw+UnXHo138gf3ao7r8gpyPpDn8KGHtIIatSMjBU6SFM1 wcnf8nk53H9p19I3XY/w6KCoeLakXRgXvo5BYzLcRoI+nhJpTUuH/hHOhmo8YVJacu FO9olYX74DbjsL2XuY+Rd0OAOPH7W0wUWx+ZcO1gUiYO8/MDeFufTyLpYBijHiuaTr H2MLBc4wwSqrVI7PPgiyMeEXCRZJCxkolFhhgiv/eSHzatxtva7gDwHX1vH1jFBlXg YMogoNE3RK19Pdl+rIJbgHeGxPmzYvb045iOqE8lvuo5O+9k+bZHQMfWY8buHsQOUR SswN4twsvD0Ew== From: Masahiro Yamada To: linux-kbuild@vger.kernel.org Cc: linux-kernel@vger.kernel.org, Masahiro Yamada , Nick Desaulniers , Nathan Chancellor , Nicolas Schier Subject: [PATCH 1/2] kbuild: move -Werror from KBUILD_CFLAGS to KBUILD_CPPFLAGS Date: Tue, 6 Dec 2022 13:07:30 +0900 Message-Id: <20221206040731.442499-1-masahiroy@kernel.org> X-Mailer: git-send-email 2.34.1 MIME-Version: 1.0 Precedence: bulk List-ID: X-Mailing-List: linux-kbuild@vger.kernel.org CONFIG_WERROR turns warnings into errors, which happens only for *.c files because -Werror is added to KBUILD_CFLAGS. Adding it to KBUILD_CPPFLAGS makes more sense because preprocessors understand the -Werror option. For example, you can put a #warning directive in any preprocessed code. warning: #warning "this is a warning message" [-Wcpp] If -Werror is added, it is promoted to an error. error: #warning "this is a warning message" [-Werror=cpp] This commit moves -Werror to KBUILD_CPPFLAGS so it works in the same way for *.c, *.S, *.lds.S or whatever needs preprocessing. Signed-off-by: Masahiro Yamada Reviewed-by: Nick Desaulniers Reviewed-by: Nathan Chancellor --- Makefile | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Makefile b/Makefile index 53fa1a9fba8a..f84b57910667 100644 --- a/Makefile +++ b/Makefile @@ -869,7 +869,8 @@ stackp-flags-$(CONFIG_STACKPROTECTOR_STRONG) := -fstack-protector-strong KBUILD_CFLAGS += $(stackp-flags-y) -KBUILD_CFLAGS-$(CONFIG_WERROR) += -Werror +KBUILD_CPPFLAGS-$(CONFIG_WERROR) += -Werror +KBUILD_CPPFLAGS += $(KBUILD_CPPFLAGS-y) KBUILD_CFLAGS-$(CONFIG_CC_NO_ARRAY_BOUNDS) += -Wno-array-bounds KBUILD_RUSTFLAGS-$(CONFIG_WERROR) += -Dwarnings From patchwork Tue Dec 6 04:07:31 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Masahiro Yamada X-Patchwork-Id: 13065364 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 193E7C352A1 for ; Tue, 6 Dec 2022 04:07:51 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232724AbiLFEHs (ORCPT ); Mon, 5 Dec 2022 23:07:48 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:59782 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233006AbiLFEHq (ORCPT ); Mon, 5 Dec 2022 23:07:46 -0500 Received: from ams.source.kernel.org (ams.source.kernel.org [145.40.68.75]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id A23206154; Mon, 5 Dec 2022 20:07:43 -0800 (PST) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ams.source.kernel.org (Postfix) with ESMTPS id 27639B8168D; Tue, 6 Dec 2022 04:07:42 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 5E515C433D6; Tue, 6 Dec 2022 04:07:39 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1670299660; bh=ePwjPaI2Z6T7+0xFbhATrAqsXtn51i/sOFs2gwoBkh8=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=Z/+oCTGSagCfjGAIgH9+UYCJW1OKq8vlJaL5kbq/ZnnKXgkfwk9/zQTLXJyZdRKxk eEQmGiUT3lQumFi0ji8UYtKXTQfqjJToSGxnXy6MNC3gHbX3s740fBSbV70tk87Rm4 3O2vK2HGubIzFLj2LwlASkA//z32xHyhQPf3EpepSpkRjZ+7BiM+4mph/qRsThkVhx lnI3ag0+KWG4IolR8lgxBRxV0YjWvnEM0TOMWnmB7+vcCYkhGx9H10xrlVAX1Egig6 nXwkV4kfU1vkWNcLDjzT37GIYGqsM/LkqJnb/rQMzuqEVqJXSnJsJ8LoezJjDe6SRg 6lfBRAZZ5IQ3Q== From: Masahiro Yamada To: linux-kbuild@vger.kernel.org Cc: linux-kernel@vger.kernel.org, Masahiro Yamada , Nathan Chancellor , Nick Desaulniers , Nicolas Schier Subject: [PATCH 2/2] kbuild: add -Wundef to KBUILD_CPPFLAGS for W=1 builds Date: Tue, 6 Dec 2022 13:07:31 +0900 Message-Id: <20221206040731.442499-2-masahiroy@kernel.org> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20221206040731.442499-1-masahiroy@kernel.org> References: <20221206040731.442499-1-masahiroy@kernel.org> MIME-Version: 1.0 Precedence: bulk List-ID: X-Mailing-List: linux-kbuild@vger.kernel.org The use of an undefined macro in an #if directive is warned, but only in *.c files. No warning from other files such as *.S, *.lds.S. Since -Wundef is a preprocessor-related warning, it should be added to KBUILD_CPPFLAGS instead of KBUILD_CFLAGS. My previous attempt [1] uncovered several warnings, and could not finish fixing them all. This commit adds -Wundef to KBUILD_CPPFLAGS for W=1 builds in order to block new breakages. (The kbuild test robot tests with W=1) We can fix the warnings one by one. After we fix all of them, we can make this default in the top Makefile, and remove -Wundef from KBUILD_CFLAGS. [1]: https://lore.kernel.org/all/20221012180118.331005-2-masahiroy@kernel.org/ Signed-off-by: Masahiro Yamada Reviewed-by: Nathan Chancellor Reviewed-by: Nick Desaulniers --- scripts/Makefile.extrawarn | 1 + 1 file changed, 1 insertion(+) diff --git a/scripts/Makefile.extrawarn b/scripts/Makefile.extrawarn index 6bbba36c5969..40cd13eca82e 100644 --- a/scripts/Makefile.extrawarn +++ b/scripts/Makefile.extrawarn @@ -38,6 +38,7 @@ KBUILD_CFLAGS += -Wno-sign-compare KBUILD_CFLAGS += -Wno-type-limits KBUILD_CFLAGS += -Wno-shift-negative-value +KBUILD_CPPFLAGS += -Wundef KBUILD_CPPFLAGS += -DKBUILD_EXTRA_WARN1 else