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: Chen, Rong A
Date: Mon Feb 14 2022 - 01:28:50 EST




On 2/13/2022 8:19 PM, 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.

Hi Matthew,

Sorry for the inconvenience, it's a false positive, the problem is
ARCH=parisc was used to build the 64 bit kernel.

the actual command should be:
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross O=build_dir ARCH=parisc64 prepare

Best Regards,
Rong Chen


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.

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