Re: [kbuild-all] Re: include/linux/build_bug.h:78:41: error: static assertion failed: "offsetof(struct page, compound_head) == offsetof(struct folio, lru)"

From: Philip Li
Date: Sun Feb 13 2022 - 08:23:08 EST


On Sun, Feb 13, 2022 at 12:19:38PM +0000, Matthew Wilcox wrote:
> On Sun, Feb 13, 2022 at 07:00:16PM +0800, kernel test robot wrote:
> > config: parisc-randconfig-r004-20220213 (https://download.01.org/0day-ci/archive/20220213/202202131828.VxAopBqR-lkp@xxxxxxxxx/config)
> > compiler: hppa64-linux-gcc (GCC) 11.2.0
> > 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
> > # https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=7b230db3b8d373219f88a3d25c8fbbf12cc7f233
> > git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
> > git fetch --no-tags linus master
> > git checkout 7b230db3b8d373219f88a3d25c8fbbf12cc7f233
> > # save the config file to linux build tree
> > mkdir build_dir
> > COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross O=build_dir ARCH=parisc prepare
>
> There's something weird going on here.
>
> If I just download & install gcc-11-hppa64-linux-gnu from Debian, this
> config file builds just fine.
>
> If I invoke make.cross as you have it here, I see the same error you
> report.

Sorry for the confusion here, we recently updated the way to build parisc
64 bit in the right way. But the change to make.cross (for reproducer) is
still under review.

We will double check this report and update make.cross to provide update
to you.

>
> Adding 'V=1' to this, shows:
> sh ../scripts/atomic/check-atomics.sh
> /home/willy/0day/gcc-9.3.0-nolibc/hppa-linux/bin/hppa-linux-gcc [...]
>
> which is weird, right? It's not hppa64, and it's not gcc-11.2. So my
> suspicion here is that there's some bug in your tooling which is reporting
> a bogus error. You're probably better situated to debug this further
> than I am.
>
> Oh, and I checked, in case the filename was confusing me:
> $ /home/willy/0day/gcc-9.3.0-nolibc/hppa-linux/bin/hppa-linux-gcc -v
> Using built-in specs.
> COLLECT_GCC=/home/willy/0day/gcc-9.3.0-nolibc/hppa-linux/bin/hppa-linux-gcc
> COLLECT_LTO_WRAPPER=/home/willy/0day/gcc-9.3.0-nolibc/hppa-linux/bin/../libexec/gcc/hppa-linux/9.3.0/lto-wrapper
> Target: hppa-linux
> Configured with: /tmp/build-crosstools-xh/gcc/gcc-9.3.0/configure --target=hppa-linux --enable-targets=all --prefix=/tmp/build-crosstools-xh/cross --enable-languages=c --without-headers --disable-bootstrap --disable-nls --disable-threads --disable-shared --disable-libmudflap --disable-libssp --disable-libgomp --disable-decimal-float --disable-libquadmath --disable-libatomic --disable-libcc1 --disable-libmpx --enable-checking=release
> Thread model: single
> gcc version 9.3.0 (GCC)
>
> So it really is a 32-bit hppa build, and it really is gcc 9.3, not 11.2.
> _______________________________________________
> kbuild-all mailing list -- kbuild-all@xxxxxxxxxxxx
> To unsubscribe send an email to kbuild-all-leave@xxxxxxxxxxxx