[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CA+icZUW-uObu=7xpqUqKTASmBfEgLKMrKgmR_uhmHBN-EwpBVA@mail.gmail.com>
Date: Wed, 3 Feb 2021 09:31:54 +0100
From: Sedat Dilek <sedat.dilek@...il.com>
To: Masahiro Yamada <masahiroy@...nel.org>
Cc: linux-kbuild@...r.kernel.org,
Nick Desaulniers <ndesaulniers@...gle.com>,
Andi Kleen <andi@...stfloor.org>,
Ian Rogers <irogers@...gle.com>,
Mark Wielaard <mark@...mp.org>,
Michal Marek <michal.lkml@...kovi.net>,
Nathan Chancellor <natechancellor@...il.com>,
Clang-Built-Linux ML <clang-built-linux@...glegroups.com>,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH] kbuild: fix duplicated flags in DEBUG_CFLAGS
On Wed, Feb 3, 2021 at 8:53 AM Masahiro Yamada <masahiroy@...nel.org> wrote:
>
> Sedat Dilek noticed duplicated debug flags passed when building C
> files with CONFIG_DEBUG_INFO.
>
> I do not know much about his build environment, but yes, Kbuild
> recurses to the top Makefile with some build targets. For example,
> 'make CC=clang bindeb-pkg' reproduces the issue.
>
> With commit 121c5d08d53c ("kbuild: Only add -fno-var-tracking-assignments
> for old GCC versions") applied, DEBUG_CFLAGS is now reset only when
> CONFIG_CC_IS_GCC=y.
>
> Fix it to reset DEBUG_CFLAGS also when using Clang.
>
> Fixes: 121c5d08d53c ("kbuild: Only add -fno-var-tracking-assignments for old GCC versions")
> Reported-by: Sedat Dilek <sedat.dilek@...il.com>
> Signed-off-by: Masahiro Yamada <masahiroy@...nel.org>
That fixes the issue for me:
Without patch:
... -Wno-unused-const-variable -g -gdwarf-5 -gz=zlib -g -gdwarf-5
-gz=zlib -pg -mfentry ...
With this patch:
... -Wno-unused-const-variable -g -gdwarf-5 -gz=zlib -pg -mfentry ...
The relevant Kconfigs:
$ grep DEBUG_INFO .config | grep ^CONFIG
CONFIG_DEBUG_INFO=y
CONFIG_DEBUG_INFO_COMPRESSED=y
CONFIG_DEBUG_INFO_DWARF5=y
Latest make-line:
$ /usr/bin/perf_5.10 stat make V=1 -j4 LLVM=1 LLVM_IAS=1
PAHOLE=/opt/pahole/bin/pahole LOCALVERSION=-4-amd64-clang12-
cfi-pgo KBUILD_VERBOSE=1 KBUILD_BUILD_HOST=iniza
KBUILD_BUILD_USER=sedat.dilek@...il.com
KBUILD_BUILD_TIMESTAMP=2021-02-03 bindeb-pkg
KDEB_PKGVERSION=5.11.0~rc6-4~bull
seye+dileks1
Feel free to add my...
Tested-by: Sedat Dilek <sedat.dilek@...il.com>
Thanks again Masahiro.
- Sedat -
> ---
>
> Makefile | 4 +++-
> 1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/Makefile b/Makefile
> index 3d3f67b98ca2..769a38ee81b9 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -811,10 +811,12 @@ KBUILD_CFLAGS += -ftrivial-auto-var-init=zero
> KBUILD_CFLAGS += -enable-trivial-auto-var-init-zero-knowing-it-will-be-removed-from-clang
> endif
>
> +DEBUG_CFLAGS :=
> +
> # Workaround for GCC versions < 5.0
> # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61801
> ifdef CONFIG_CC_IS_GCC
> -DEBUG_CFLAGS := $(call cc-ifversion, -lt, 0500, $(call cc-option, -fno-var-tracking-assignments))
> +DEBUG_CFLAGS += $(call cc-ifversion, -lt, 0500, $(call cc-option, -fno-var-tracking-assignments))
> endif
>
> ifdef CONFIG_DEBUG_INFO
> --
> 2.27.0
>
Powered by blists - more mailing lists