2022-09-02 06:02:22

by kernel test robot

[permalink] [raw]
Subject: [jpoimboe:s390 2/2] Unsupported relocation type: 26

tree: https://git.kernel.org/pub/scm/linux/kernel/git/jpoimboe/linux.git s390
head: fa09ffb73e4d64424faef5988a1e993317db77c5
commit: fa09ffb73e4d64424faef5988a1e993317db77c5 [2/2] s390: Compile relocatable kernel without -fPIE
config: s390-randconfig-r044-20220901
compiler: clang version 16.0.0 (https://github.com/llvm/llvm-project c55b41d5199d2394dd6cdb8f52180d8b81d809d4)
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 s390 cross compiling tool for clang build
# apt-get install binutils-s390x-linux-gnu
# https://git.kernel.org/pub/scm/linux/kernel/git/jpoimboe/linux.git/commit/?id=fa09ffb73e4d64424faef5988a1e993317db77c5
git remote add jpoimboe https://git.kernel.org/pub/scm/linux/kernel/git/jpoimboe/linux.git
git fetch --no-tags jpoimboe s390
git checkout fa09ffb73e4d64424faef5988a1e993317db77c5
# 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=s390 SHELL=/bin/bash

If you fix the issue, kindly add following tag where applicable
Reported-by: kernel test robot <[email protected]>

All errors (new ones prefixed by >>):

>> Unsupported relocation type: 26

--
0-DAY CI Kernel Test Service
https://01.org/lkp


Attachments:
(No filename) (1.42 kB)
config (134.73 kB)
Download all attachments

2022-09-02 15:43:38

by Nathan Chancellor

[permalink] [raw]
Subject: Re: [jpoimboe:s390 2/2] Unsupported relocation type: 26

On Fri, Sep 02, 2022 at 01:51:11PM +0800, kernel test robot wrote:
> tree: https://git.kernel.org/pub/scm/linux/kernel/git/jpoimboe/linux.git s390
> head: fa09ffb73e4d64424faef5988a1e993317db77c5
> commit: fa09ffb73e4d64424faef5988a1e993317db77c5 [2/2] s390: Compile relocatable kernel without -fPIE
> config: s390-randconfig-r044-20220901
> compiler: clang version 16.0.0 (https://github.com/llvm/llvm-project c55b41d5199d2394dd6cdb8f52180d8b81d809d4)
> 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 s390 cross compiling tool for clang build
> # apt-get install binutils-s390x-linux-gnu
> # https://git.kernel.org/pub/scm/linux/kernel/git/jpoimboe/linux.git/commit/?id=fa09ffb73e4d64424faef5988a1e993317db77c5
> git remote add jpoimboe https://git.kernel.org/pub/scm/linux/kernel/git/jpoimboe/linux.git
> git fetch --no-tags jpoimboe s390
> git checkout fa09ffb73e4d64424faef5988a1e993317db77c5
> # 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=s390 SHELL=/bin/bash
>
> If you fix the issue, kindly add following tag where applicable
> Reported-by: kernel test robot <[email protected]>
>
> All errors (new ones prefixed by >>):
>
> >> Unsupported relocation type: 26

Looks like 26 is R_390_GOTENT according to
https://github.com/llvm/llvm-project/blob/ee761374f797a47919ec8f9f49f9b8b1b20573e8/llvm/include/llvm/BinaryFormat/ELFRelocs/SystemZ.def.

Cheers,
Nathan

2022-09-02 15:58:24

by Josh Poimboeuf

[permalink] [raw]
Subject: Re: [jpoimboe:s390 2/2] Unsupported relocation type: 26

On Fri, Sep 02, 2022 at 08:12:30AM -0700, Nathan Chancellor wrote:
> On Fri, Sep 02, 2022 at 01:51:11PM +0800, kernel test robot wrote:
> > tree: https://git.kernel.org/pub/scm/linux/kernel/git/jpoimboe/linux.git s390
> > head: fa09ffb73e4d64424faef5988a1e993317db77c5
> > commit: fa09ffb73e4d64424faef5988a1e993317db77c5 [2/2] s390: Compile relocatable kernel without -fPIE
> > config: s390-randconfig-r044-20220901
> > compiler: clang version 16.0.0 (https://github.com/llvm/llvm-project c55b41d5199d2394dd6cdb8f52180d8b81d809d4)
> > 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 s390 cross compiling tool for clang build
> > # apt-get install binutils-s390x-linux-gnu
> > # https://git.kernel.org/pub/scm/linux/kernel/git/jpoimboe/linux.git/commit/?id=fa09ffb73e4d64424faef5988a1e993317db77c5
> > git remote add jpoimboe https://git.kernel.org/pub/scm/linux/kernel/git/jpoimboe/linux.git
> > git fetch --no-tags jpoimboe s390
> > git checkout fa09ffb73e4d64424faef5988a1e993317db77c5
> > # 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=s390 SHELL=/bin/bash
> >
> > If you fix the issue, kindly add following tag where applicable
> > Reported-by: kernel test robot <[email protected]>
> >
> > All errors (new ones prefixed by >>):
> >
> > >> Unsupported relocation type: 26
>
> Looks like 26 is R_390_GOTENT according to
> https://github.com/llvm/llvm-project/blob/ee761374f797a47919ec8f9f49f9b8b1b20573e8/llvm/include/llvm/BinaryFormat/ELFRelocs/SystemZ.def.

Indeed. BTW, that define can also be found in /usr/include/elf.h.

I guess I need to test this feature with clang ;-) Without -fPIE, I'm
not sure why it would be using a GOT relocation for vmlinux.

--
Josh