Re: ld.lld: error: inline assembly requires more registers than available at line 523

From: Nathan Chancellor
Date: Wed May 04 2022 - 14:20:56 EST


On Mon, May 02, 2022 at 06:29:38AM +0800, kernel test robot wrote:
> tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
> head: 672c0c5173427e6b3e2a9bbb7be51ceeec78093a
> commit: ba1f77c546966c12d86220d078e5838dcaeab348 x86/kvm: Fix compilation warning in non-x86_64 builds
> date: 2 months ago
> config: i386-randconfig-a012-20220502 (https://download.01.org/0day-ci/archive/20220502/202205020637.JVJo3blw-lkp@xxxxxxxxx/config)
> compiler: clang version 15.0.0 (https://github.com/llvm/llvm-project 09325d36061e42b495d1f4c7e933e260eac260ed)
> 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=ba1f77c546966c12d86220d078e5838dcaeab348
> git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
> git fetch --no-tags linus master
> git checkout ba1f77c546966c12d86220d078e5838dcaeab348
> # 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=i386 SHELL=/bin/bash
>
> If you fix the issue, kindly add following tag as appropriate
> Reported-by: kernel test robot <lkp@xxxxxxxxx>
>
> All errors (new ones prefixed by >>):
>
> >> ld.lld: error: inline assembly requires more registers than available at line 523
> >> ld.lld: error: inline assembly requires more registers than available at line 523
>

I don't think this bisection result is correct; this error is visible at
v5.17-rc3, which this commit is based on. This is likely the same root
cause as https://github.com/ClangBuiltLinux/linux/issues/1589, just with
LTO. I'll reduce something down and comment there if it turns out to be
different.

Cheers,
Nathan