Re: [s390:features 97/98] Unsupported relocation type: 21

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, Feb 22, 2024 at 02:42:01PM +0800, kernel test robot wrote:
> tree:   https://git.kernel.org/pub/scm/linux/kernel/git/s390/linux.git features
> head:   4a5993287467d2d0401503256dc9d2690c7f2020
> commit: 778666df60f0d96f215e33e27448de47a2207fb3 [97/98] s390: compile relocatable kernel without -fPIE
> config: s390-randconfig-002-20231016 (https://download.01.org/0day-ci/archive/20240222/202402221404.T2TGs8El-lkp@xxxxxxxxx/config)
> compiler: s390-linux-gcc (GCC) 13.2.0
> reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240222/202402221404.T2TGs8El-lkp@xxxxxxxxx/reproduce)
> 
> If you fix the issue in a separate patch/commit (i.e. not just a new version of
> the same patch/commit), kindly add following tags
> | Reported-by: kernel test robot <lkp@xxxxxxxxx>
> | Closes: https://lore.kernel.org/oe-kbuild-all/202402221404.T2TGs8El-lkp@xxxxxxxxx/
> 
> All errors (new ones prefixed by >>):
> 
> >> Unsupported relocation type: 21
> 
> -- 
> 0-DAY CI Kernel Test Service
> https://github.com/intel/lkp-tests/wiki
>

In the random config generated by lkp test robot

 CONFIG_TI_CPSW=m
 CONFIG_TI_DAVINCI_EMAC=y

In drivers/net/ethernet/ti/Makefile:
 11 obj-$(CONFIG_TI_DAVINCI_EMAC) += ti_davinci_emac.o
 12 ti_davinci_emac-y := davinci_emac.o davinci_cpdma.o
 ...
 16 obj-$(CONFIG_TI_CPSW) += ti_cpsw.o
 17 ti_cpsw-y := cpsw.o davinci_cpdma.o cpsw_ale.o cpsw_priv.o cpsw_sl.o cpsw_ethtool.o

Here davinci_cpdma.o is used in both   obj-$(CONFIG_TI_DAVINCI_EMAC) and
obj-$(CONFIG_TI_CPSW), one built as inbuilt and one built as module
correspondingly (randconfig)

This leads to conflict in Kbuild and results in linking  davinci_cpdma.o
in vmlinux.
* However, davinci_cpdma.o is built with -DMODULE -fPIC.
* vmlinux is built with -fno-PIE.

This leads to R_390_GOTENT and R_390_GOTDBL entries in vmlinux, which is
not expected when building kernel with -fno-PIE.

Debug data:
==========
1.
  CALL    ../scripts/checksyscalls.sh
  AR      drivers/phy/ti/built-in.a
  CC [M]  drivers/phy/ti/phy-gmii-sel.o
../scripts/Makefile.build:243: ../drivers/net/ethernet/ti/Makefile:
davinci_cpdma.o is added to multiple modules: ti_cpsw ti_davinci_emac <<<<<<<<
  CC [M]  drivers/net/ethernet/ti/davinci_cpdma.o
...
  CC [M]  drivers/net/ethernet/ti/cpsw.o
  CC [M]  drivers/net/ethernet/ti/cpsw_ale.o
  CC [M]  drivers/net/ethernet/ti/cpsw_priv.o
  CC [M]  drivers/net/ethernet/ti/cpsw_sl.o
  CC [M]  drivers/net/ethernet/ti/cpsw_ethtool.o
  AR      drivers/phy/built-in.a
  AR      drivers/net/ethernet/ti/built-in.a
  LD [M]  drivers/net/ethernet/ti/ti_cpsw.o
  AR      drivers/net/ethernet/built-in.a
  AR      drivers/net/built-in.a
  AR      drivers/built-in.a
  AR      built-in.a


2.
ti/.davinci_cpdma.o.cmd:savedcmd_drivers/net/ethernet/ti/davinci_cpdma.o
:= This uses -DMODULE -fPIC  <<<<<<

built-in.a:ti/davinci_cpdma.o/ <<<<<


Hence, the error by lkp robot. No fix should be necessary in
s390/tools/relocs.c

I think it should be either fixed in ti driver or in the kbuild.

Thank you,
Sumanth




[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Kernel Development]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite Info]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Linux Media]     [Device Mapper]

  Powered by Linux