From: Nathan Chancellor <nathan@kernel.org>
To: Kalle Valo <kvalo@kernel.org>
Cc: Linus Torvalds <torvalds@linux-foundation.org>,
Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
David Airlie <airlied@gmail.com>, Daniel Vetter <daniel@ffwll.ch>,
dri-devel@lists.freedesktop.org,
linux-toolchains@vger.kernel.org, llvm@lists.linux.dev
Subject: Re: Linux 6.3-rc3
Date: Wed, 22 Mar 2023 13:36:00 -0700 [thread overview]
Message-ID: <20230322203600.GA2837284@dev-arch.thelio-3990X> (raw)
In-Reply-To: <20230322163637.GA918620@dev-arch.thelio-3990X>
On Wed, Mar 22, 2023 at 09:36:37AM -0700, Nathan Chancellor wrote:
> On Wed, Mar 22, 2023 at 02:44:47PM +0200, Kalle Valo wrote:
> > Nathan Chancellor <nathan@kernel.org> writes:
> >
> > > On Mon, Mar 20, 2023 at 11:26:17AM -0700, Linus Torvalds wrote:
> > >> On Mon, Mar 20, 2023 at 11:05 AM Nathan Chancellor <nathan@kernel.org> wrote:
> > >> >
> > >> > On the clang front, I am still seeing the following warning turned error
> > >> > for arm64 allmodconfig at least:
> > >> >
> > >> > drivers/gpu/host1x/dev.c:520:6: error: variable 'syncpt_irq' is uninitialized when used here [-Werror,-Wuninitialized]
> > >> > if (syncpt_irq < 0)
> > >> > ^~~~~~~~~~
> > >>
> > >> Hmm. I do my arm64 allmodconfig builds with gcc, and I'm surprised
> > >> that gcc doesn't warn about this.
> > >
> > > Perhaps these would make doing allmodconfig builds with clang more
> > > frequently less painful for you?
> > >
> > > https://lore.kernel.org/llvm/20230319235619.GA18547@dev-arch.thelio-3990X/
> >
> > Thank you, at least for me this is really helpful.
>
> Really glad to hear! I hope this helps make testing and verifying
> changes with clang and LLVM easier for developers and maintainers.
>
> > I tried now clang for the first time but seeing a strange problem.
> >
> > I prefer to define the compiler in GNUmakefile so it's easy to change
> > compilers and I don't need to remember the exact command line. So I have
> > this in the top level GNUmakefile (all the rest commented out):
> >
> > LLVM=/opt/clang/llvm-16.0.0/bin/
> >
> > If I run 'make oldconfig' it seems to use clang but after I run just
> > 'make' it seems to switch back to the host GCC compiler and ask for GCC
> > specific config questions again. Workaround for this seems to be adding
> > 'export LLVM' to GNUmakefile, after that also 'make' uses clang as
> > expected.
>
> Interesting... I just tested with a basic GNUmakefile and everything
> seems to work fine without an export. At the same time, the export
> should not hurt anything, so as long as it works, that is what matters.
Ah, the export is needed so that mixed-build works properly (see lines
324 to 361 in Makefile), as 'make' will be called to process each target
individually; without the export, LLVM is not set for the subsequent
'make' calls, so gcc is called. I just saw the same behavior as you did
while testing with
$ make -j(nproc) clean defconfig all
without the export (GCC was used instead of LLVM).
> $ gcc --version
> fish: Unknown command: gcc
>
>
> $ fd -t x . $CBL_TC_LLVM_STORE/16.0.0/bin -x basename
> clang-16
> llvm-nm
> llvm-objdump
> llvm-objcopy
> llvm-symbolizer
> llvm-strings
> llvm-readobj
> llvm-dwarfdump
> lld
> llvm-ar
>
>
> $ cat GNUmakefile
> LLVM := $(CBL_TC_LLVM_STORE)/16.0.0/bin/
>
> include Makefile
>
>
> $ make -sj(nproc) defconfig
>
>
> $ head -13 .config
> #
> # Automatically generated file; DO NOT EDIT.
> # Linux/x86 6.3.0-rc3 Kernel Configuration
> #
> CONFIG_CC_VERSION_TEXT="ClangBuiltLinux clang version 16.0.0"
> CONFIG_GCC_VERSION=0
> CONFIG_CC_IS_CLANG=y
> CONFIG_CLANG_VERSION=160000
> CONFIG_AS_IS_LLVM=y
> CONFIG_AS_VERSION=160000
> CONFIG_LD_VERSION=0
> CONFIG_LD_IS_LLD=y
> CONFIG_LLD_VERSION=160000
>
>
> $ make -sj(nproc) init/main.o
>
>
> $ $CBL_TC_LLVM_STORE/16.0.0/bin/llvm-readelf -p .comment init/main.o
> String dump of section '.comment':
> [ 1] ClangBuiltLinux clang version 16.0.0
>
>
> I added an informational print and I always saw the correct value:
>
> diff --git a/Makefile b/Makefile
> index a2c310df2145..070394c4cb8c 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -431,6 +431,7 @@ HOST_LFS_LDFLAGS := $(shell getconf LFS_LDFLAGS 2>/dev/null)
> HOST_LFS_LIBS := $(shell getconf LFS_LIBS 2>/dev/null)
>
> ifneq ($(LLVM),)
> +$(info LLVM: $(LLVM))
> ifneq ($(filter %/,$(LLVM)),)
> LLVM_PREFIX := $(LLVM)
> else ifneq ($(filter -%,$(LLVM)),)
>
> If you have any further issues, please do not hesitate to reach out!
>
> Cheers,
> Nathan
>
next prev parent reply other threads:[~2023-03-22 20:43 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <CAHk-=wiPd8R8-zSqTOtJ9KYeZLBByHug7ny3rgP-ZqzpP_KELg@mail.gmail.com>
[not found] ` <20230320180501.GA598084@dev-arch.thelio-3990X>
[not found] ` <CAHk-=wgSqpdkeJBb92M37JNTdRQJRnRUApraHKE8uGHTqQuu2Q@mail.gmail.com>
2023-03-20 18:53 ` Linux 6.3-rc3 Nathan Chancellor
2023-03-20 19:22 ` Nathan Chancellor
2023-03-22 12:44 ` Kalle Valo
2023-03-22 16:36 ` Nathan Chancellor
2023-03-22 20:36 ` Nathan Chancellor [this message]
2023-03-24 10:54 ` Kalle Valo
2023-03-24 15:11 ` Nathan Chancellor
2023-03-24 15:23 ` Kalle Valo
2023-03-28 19:07 ` Nathan Chancellor
2023-03-29 8:39 ` Kalle Valo
2023-03-22 16:40 ` Sedat Dilek
2023-03-22 16:55 ` Linus Torvalds
2023-03-22 18:17 ` Nick Desaulniers
2023-03-24 17:16 ` Masahiro Yamada
2023-03-27 16:12 ` Jani Nikula
2023-03-27 17:03 ` Kalle Valo
[not found] ` <4adbed5a-6f73-42ac-b7be-e12c764ae808@roeck-us.net>
[not found] ` <CAHk-=wgyJREUR1WgfFmie5XVJnBLr1VPVbSibh1+Cq57Bh4Tag@mail.gmail.com>
2023-03-20 22:06 ` Nathan Chancellor
2023-03-20 22:48 ` Segher Boessenkool
2023-03-20 23:41 ` Linus Torvalds
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20230322203600.GA2837284@dev-arch.thelio-3990X \
--to=nathan@kernel.org \
--cc=airlied@gmail.com \
--cc=daniel@ffwll.ch \
--cc=dri-devel@lists.freedesktop.org \
--cc=kvalo@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-toolchains@vger.kernel.org \
--cc=llvm@lists.linux.dev \
--cc=torvalds@linux-foundation.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).