From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 3CCCE2F26 for ; Tue, 1 Feb 2022 23:22:43 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 2C362C340EB; Tue, 1 Feb 2022 23:22:40 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1643757762; bh=GSyiEuas7X9TQ7vDaHSUeqwVJQqlDVvyGfSkTQnLBio=; h=From:To:Cc:Subject:Date:From; b=dbhOgBUEGWKCkicvuYk46wyz6gA2IbEw1DPEzUaVbxPf6+7QmcKfSlWPRbJgGcPkm +iXtJjZVgJFBRTtGekgcnK3Rf1Wo5z+QVHCJ8pidqYJx+IaBrTgQ0Q3/TGB+43qt/3 iztUZM2xSAGG0fwYfHjtlGerDmjjYfOh6qVSLqy8fJdSsHyGiRta+59uAeXxhkCfyo c+Ko9mjML8HGLsJgB0z8vH+ZpsdWazaq/suYpbh5z8s3NF9K6q2Au9slwapOPGQQJ5 UsPG5zUOYysW3lCvtj6Q5Q4fSzD7vrYrHaJvkJHr+TuQvQFMHPnnCu0qoHogZgCv4n LLLaNmT6CqCyg== From: Nathan Chancellor To: Masahiro Yamada , Nick Desaulniers Cc: Arnd Bergmann , linux-kbuild@vger.kernel.org, linux-kernel@vger.kernel.org, llvm@lists.linux.dev, Nathan Chancellor , stable@vger.kernel.org Subject: [PATCH] Makefile.extrawarn: Move -Wunaligned-access to W=2 Date: Tue, 1 Feb 2022 16:22:29 -0700 Message-Id: <20220201232229.2992968-1-nathan@kernel.org> X-Mailer: git-send-email 2.35.1 Precedence: bulk X-Mailing-List: llvm@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit -Wunaligned-access is a new warning in clang that is default enabled for arm and arm64 under certain circumstances within the clang frontend (see LLVM commit below). Under an ARCH=arm allmodconfig, there are 1284 total/70 unique instances of this warning (most of the instances are in header files), which is quite noisy. To keep the build green through CONFIG_WERROR, only allow this warning with W=2, which seems appropriate according to its description: "warnings which occur quite often but may still be relevant". This intentionally does not use the -Wno-... + -W... pattern that the rest of the Makefile does because this warning is not enabled for anything other than certain arm and arm64 configurations within clang so it should only be "not disabled", rather than explicitly enabled, so that other architectures are not disturbed by the warning. Cc: stable@vger.kernel.org Link: https://github.com/llvm/llvm-project/commit/35737df4dcd28534bd3090157c224c19b501278a Signed-off-by: Nathan Chancellor --- scripts/Makefile.extrawarn | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/scripts/Makefile.extrawarn b/scripts/Makefile.extrawarn index d53825503874..5f75fec4d5ac 100644 --- a/scripts/Makefile.extrawarn +++ b/scripts/Makefile.extrawarn @@ -70,6 +70,20 @@ KBUILD_CFLAGS += $(call cc-option, -Wunused-macros) KBUILD_CPPFLAGS += -DKBUILD_EXTRA_WARN2 +else + +ifdef CONFIG_CC_IS_CLANG +# While this warning is architecture agnostic, it is only default enabled for +# 32-bit and 64-bit ARM under certain conditions within clang: +# +# https://github.com/llvm/llvm-project/commit/35737df4dcd28534bd3090157c224c19b501278a +# +# To allow it to be disabled under a normal build or W=1 but show up under W=2 +# for those configurations, disable it when W=2 is not set, rather than enable +# -Wunaligned-access in the above block explicitly. +KBUILD_CFLAGS += $(call cc-disable-warning, unaligned-access) +endif + endif # base-commit: 26291c54e111ff6ba87a164d85d4a4e134b7315c -- 2.35.1