lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CA+icZUXCgOjx6WH=ZKLpowqimeQDu4MfWLCTaAYcJpCQx=ekYA@mail.gmail.com>
Date:   Wed, 3 Feb 2021 09:55:47 +0100
From:   Sedat Dilek <sedat.dilek@...il.com>
To:     Masahiro Yamada <masahiroy@...nel.org>
Cc:     Linux Kbuild mailing list <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 Mailing List <linux-kernel@...r.kernel.org>
Subject: Re: [PATCH] kbuild: fix duplicated flags in DEBUG_CFLAGS

On Wed, Feb 3, 2021 at 9:39 AM Masahiro Yamada <masahiroy@...nel.org> wrote:
>
> On Wed, Feb 3, 2021 at 5:32 PM Sedat Dilek <sedat.dilek@...il.com> wrote:
> >
> > 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
>
>
> Ah, OK.
> You use bindeb-pkg for building the kernel.
>
> That's why this happens only for you,
> but Nick did not observe this issue.
>

I guess so.

- sed@ -

>
> > 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
> > >
>
>
>
> --
> Best Regards
> Masahiro Yamada

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ