Re: [linux-next:master 5983/6048] h8300-linux-ld: section .data VMA overlaps section __kcrctab VMA

From: Feng Tang
Date: Mon Mar 01 2021 - 01:10:46 EST


Hi Paul,

On Wed, Feb 10, 2021 at 02:21:41AM +0800, Paul Moore wrote:
> On Tue, Feb 9, 2021 at 1:09 PM kernel test robot <lkp@xxxxxxxxx> wrote:
> > tree: https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master
> > head: 59fa6a163ffabc1bf25c5e0e33899e268a96d3cc
> > commit: 77d8143a5290b38e3331f61f55c0b682699884bc [5983/6048] Merge remote-tracking branch 'selinux/next'
> > config: h8300-randconfig-r005-20210209 (attached as .config)
> > compiler: h8300-linux-gcc (GCC) 9.3.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/next/linux-next.git/commit/?id=77d8143a5290b38e3331f61f55c0b682699884bc
> > git remote add linux-next https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
> > git fetch --no-tags linux-next master
> > git checkout 77d8143a5290b38e3331f61f55c0b682699884bc
> > # save the attached .config to linux build tree
> > COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=h8300
> >
> > If you fix the issue, kindly add following tag as appropriate
> > Reported-by: kernel test robot <lkp@xxxxxxxxx>
> >
> > All errors (new ones prefixed by >>):
> >
> > h8300-linux-ld: section .init.text LMA [0000000000430360,00000000004479a1] overlaps section .data LMA [000000000041868c,00000000004489eb]
> > >> h8300-linux-ld: section .data VMA [0000000000400000,000000000043035f] overlaps section __kcrctab VMA [00000000003fdd74,000000000040007b]
> > >> h8300-linux-ld: section __kcrctab_gpl VMA [000000000040007c,00000000004025a7] overlaps section .data VMA [0000000000400000,000000000043035f]
> > h8300-linux-ld: arch/h8300/kernel/entry.o: in function `resume_kernel':
> > (.text+0x29a): undefined reference to `TI_PRE_COUNT'
>
> This really doesn't look like something caused by SELinux ...

No, this is not related with SELinux, sorry for the false alarm.

Further check shows it is related with the kernel config and the
built-out kernel size. With the kernel config, the ROM size is 4MB
large, and when the config selects many components, its .text and
.rodata may exceeds the 4MB size limit, causes the "overlaps section"
errors.

If we trim the kernel config and enable the "CONFIG_TRIM_UNUSED_KSYMS",
then the compilation can succeed.

For testing kbuild on platforms which has special size limits, one
thought is the kernel config may need to be chosen specifically.

Thanks,
Feng

> --
> paul moore
> www.paul-moore.com
>