[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20191213211901.GL32742@smile.fi.intel.com>
Date: Fri, 13 Dec 2019 23:19:01 +0200
From: Andy Shevchenko <andriy.shevchenko@...ux.intel.com>
To: Max Filippov <jcmvbkbc@...il.com>
Cc: kbuild test robot <lkp@...el.com>, kbuild-all@...ts.01.org,
LKML <linux-kernel@...r.kernel.org>,
Andrew Morton <akpm@...ux-foundation.org>,
Linux Memory Management List <linux-mm@...ck.org>
Subject: Re: WARNING: lib/test_bitmap.o(.text.unlikely+0x5c): Section
mismatch in reference from the function bitmap_copy_clear_tail() to the
variable .init.rodata:clump_exp
On Fri, Dec 13, 2019 at 01:08:08PM -0800, Max Filippov wrote:
> On Fri, Dec 13, 2019 at 3:16 AM Andy Shevchenko
> <andriy.shevchenko@...ux.intel.com> wrote:
> > On Tue, Dec 10, 2019 at 04:17:03AM +0800, kbuild test robot wrote:
> >
> > +Cc: Max for xtensa matters, perhaps he has an idea.
> >
> > > tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
> > > head: e42617b825f8073569da76dc4510bfa019b1c35a
> > > commit: 30544ed5de431fe25d3793e4dd5a058d877c4d77 lib/bitmap: introduce bitmap_replace() helper
> > > date: 5 days ago
> > > config: xtensa-randconfig-a001-20191209 (attached as .config)
> > > compiler: xtensa-linux-gcc (GCC) 7.5.0
> > > reproduce:
> > > wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
> > > chmod +x ~/bin/make.cross
> > > git checkout 30544ed5de431fe25d3793e4dd5a058d877c4d77
> > > # save the attached .config to linux build tree
> > > GCC_VERSION=7.5.0 make.cross ARCH=xtensa
> > >
> > > If you fix the issue, kindly add following tag
> > > Reported-by: kbuild test robot <lkp@...el.com>
> > >
> > > All warnings (new ones prefixed by >>):
> >
> > I'm not sure I got this (esp. relation to my patch).
> > The mentioned code definitely compiled for 32-bit (since only then mentioned
> > bitmap API is in use). I have tried to reproduce on i386 compilation (gcc 9.x),
> > but can't.
>
> I was able to reproduce it on xtensa with gcc-9.
> The issue comes from the test "test_replace", specifically
> from the following call:
> bitmap_replace(bmap, &exp2[0], &exp2[1], exp2_to_exp3_mask, nbits);
>
> An invariable part of the call sequence used here is instantiated in
> the section .text.unlikely with a reference to exp2_to_exp3_mask built
> into it and it's called from the test_replace. It looks like a compiler bug
> to me, I'd expect this code to be emitted to the .init.text, i.e the same
> section where the function it was hoisted from resides.
> And why "unlikely"? This code is definitely executed.
>
> I'll file a bug against gcc.
Thanks for an analysis and quick response!
--
With Best Regards,
Andy Shevchenko
Powered by blists - more mailing lists