[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <YxDj6v5p+wHop0Wm@dev-arch.thelio-3990X>
Date: Thu, 1 Sep 2022 09:55:06 -0700
From: Nathan Chancellor <nathan@...nel.org>
To: "Chen, Rong A" <rong.a.chen@...el.com>
Cc: Christophe Leroy <christophe.leroy@...roup.eu>,
kernel test robot <lkp@...el.com>,
Kees Cook <keescook@...omium.org>,
"llvm@...ts.linux.dev" <llvm@...ts.linux.dev>,
"kbuild-all@...ts.01.org" <kbuild-all@...ts.01.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
Arnd Bergmann <arnd@...db.de>,
Nick Desaulniers <ndesaulniers@...gle.com>,
Masahiro Yamada <masahiroy@...nel.org>,
Andrew Morton <akpm@...ux-foundation.org>,
Linux Memory Management List <linux-mm@...ck.org>
Subject: Re: [kbuild-all] Re: powerpc-linux-objdump: Warning: Unrecognized
form: 0x23
On Thu, Sep 01, 2022 at 01:52:42PM +0800, Chen, Rong A wrote:
>
>
> On 9/1/2022 1:45 PM, Christophe Leroy wrote:
> >
> >
> > Le 01/09/2022 à 06:59, Chen, Rong A a écrit :
> > >
> > >
> > > On 9/1/2022 10:03 AM, Nathan Chancellor wrote:
> > > > Hi Rong,
> > > >
> > > > On Thu, Sep 01, 2022 at 09:15:58AM +0800, Chen, Rong A wrote:
> > > > >
> > > > >
> > > > > On 8/31/2022 11:40 PM, Nathan Chancellor wrote:
> > > > > > On Wed, Aug 31, 2022 at 02:52:36PM +0800, kernel test robot wrote:
> > > > > > > tree:
> > > > > > > https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
> > > > > > > master
> > > > > > > head: dcf8e5633e2e69ad60b730ab5905608b756a032f
> > > > > > > commit: f9b3cd24578401e7a392974b3353277286e49cee Kconfig.debug:
> > > > > > > make DEBUG_INFO selectable from a choice
> > > > > > > date: 5 months ago
> > > > > > > config: powerpc-buildonly-randconfig-r003-20220830
> > > > > > > (https://download.01.org/0day-ci/archive/20220831/202208311414.4OPuYS9K-lkp@intel.com/config)
> > > > > > > compiler: clang version 16.0.0
> > > > > > > (https://github.com/llvm/llvm-project
> > > > > > > c7df82e4693c19e3fd2e25c83eb04d9deb7b7b59)
> > > > > > > reproduce (this is a W=1 build):
> > > > > > > wget
> > > > > > > https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
> > > > > > > chmod +x ~/bin/make.cross
> > > > > > > # install powerpc cross compiling tool for clang build
> > > > > > > # apt-get install binutils-powerpc-linux-gnu
> > > > > > > #
> > > > > > > https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=f9b3cd24578401e7a392974b3353277286e49cee
> > > > > > > git remote add linus
> > > > > > > https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
> > > > > > > git fetch --no-tags linus master
> > > > > > > git checkout f9b3cd24578401e7a392974b3353277286e49cee
> > > > > > > # save the config file
> > > > > > > mkdir build_dir && cp config build_dir/.config
> > > > > > > COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang
> > > > > > > make.cross W=1 O=build_dir ARCH=powerpc SHELL=/bin/bash
> > > > > > >
> > > > > > > If you fix the issue, kindly add following tag where applicable
> > > > > > > Reported-by: kernel test robot <lkp@...el.com>
> > > > > > >
> > > > > > > All warnings (new ones prefixed by >>):
> > > > > > >
> > > > > > > > > powerpc-linux-objdump: Warning: Unrecognized form: 0x23
> > > > > >
> > > > > > Given this is clang 16.0.0 with
> > > > > > CONFIG_DEBUG_INFO_DWARF_TOOLCHAIN_DEFAULT=y, which uses DWARF5 by
> > > > > > default instead of DWARF4, it looks like older binutils not
> > > > > > understanding DWARF5. What version of binutils is being used by the
> > > > > > bot?
> > > > >
> > > > > Hi Nathan,
> > > > >
> > > > > We're using binutils v2.38.90.20220713-2
> > > > >
> > > > > ||/ Name Version Architecture Description
> > > > > +++-==============-==================-============-==========================================
> > > > > ii binutils 2.38.90.20220713-2 amd64 GNU assembler,
> > > > > linker and binary utilities
> > > >
> > > > Thanks for chiming in! This looks like the output of 'dpkg -l', right? I
> > >
> > > Hi Nathan,
> > >
> > > oh, yes, I misunderstood, it's not related to this package.
> > >
> > > > noticed on second glance that the tuple for the objdump warning above is
> > > > 'powerpc-linux-', which leads me to believe that a kernel.org toolchain
> > > > (or a self compiled one) is being used. I would expect the tuple to be
> > > > 'powerpc-linux-gnu-' if Debian's package was being used. Is that
> > > > possible?
> > >
> > > you are right, we used a self-compiled toolchain, we'll try the binutils
> > > from debian package.
> >
> > Can you first tell us the version you are using ?
> >
> > powerpc-linux-objdump -v
> >
> > That will tell you the version.
>
> Hi Christophe,
>
> the version is v2.38:
>
> $ ./powerpc-linux-objdump -v
> GNU objdump (GNU Binutils) 2.38
> Copyright (C) 2022 Free Software Foundation, Inc.
> This program is free software; you may redistribute it under the terms of
> the GNU General Public License version 3 or (at your option) any later
> version.
> This program has absolutely no warranty.
Thanks! I did some research and it seems like this warning is expected
with binutils older than 2.39. The warning appears to come from
read_and_display_attr_value() in binutils/dwarf.c. 0x22 and 0x23 are
DW_FORM_loclistx and DW_FORM_rnglistx, which were only recently
supported in that function.
https://sourceware.org/bugzilla/show_bug.cgi?id=28981
https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=19c26da69d68d5d863f37c06ad73ab6292d02ffa
That change shipped in binutils 2.39. I am not really sure how we should
work around this in the kernel, other than maybe requiring binutils
2.39+ for CONFIG_DEBUG_INFO_DWARF5. Unfortunately, that will not fix
CONFIG_DEBUG_INFO_DWARF_TOOLCHAIN_DEFAULT when DWARF5 is the default
version... Alternatively, switching to llvm-objdump for clang builds
would help :) I am not aware of any issues that would affect that switch
for PowerPC:
https://github.com/ClangBuiltLinux/linux/labels/%5BTOOL%5D%20llvm-objdump
Cheers,
Nathan
Powered by blists - more mailing lists