Re: [PATCH] kbuild: allow modules to link *.a archives

From: kbuild test robot
Date: Mon Jan 06 2020 - 01:13:33 EST


Hi Masahiro,

I love your patch! Yet something to improve:

[auto build test ERROR on kbuild/for-next]
[also build test ERROR on v5.5-rc5 next-20191220]
[if your patch is applied to the wrong git tree, please drop us a note to help
improve the system. BTW, we also suggest to use '--base' option to specify the
base tree in git format-patch, please see https://stackoverflow.com/a/37406982]

url: https://github.com/0day-ci/linux/commits/Masahiro-Yamada/kbuild-allow-modules-to-link-a-archives/20200106-112554
base: https://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild.git for-next
config: x86_64-randconfig-h002-20200106 (attached as .config)
compiler: gcc-7 (Debian 7.5.0-3) 7.5.0
reproduce:
# save the attached .config to linux build tree
make ARCH=x86_64

If you fix the issue, kindly add following tag
Reported-by: kbuild test robot <lkp@xxxxxxxxx>

All errors (new ones prefixed by >>):

>> ld: drivers/video/fbdev/core/fbmem.o:(.data..read_mostly+0x20): multiple definition of `registered_fb'; drivers/video/fbdev/core/fbmem.o:(.data..read_mostly+0x20): first defined here
ld: drivers/video/fbdev/core/fbmem.o: in function `fb_get_color_depth':
>> drivers/video/fbdev/core/fbmem.c:89: multiple definition of `fb_get_color_depth'; drivers/video/fbdev/core/fbmem.o:drivers/video/fbdev/core/fbmem.c:89: first defined here
ld: drivers/video/fbdev/core/fbmem.o: in function `__fb_pad_aligned_buffer':
>> include/linux/fb.h:650: multiple definition of `fb_pad_aligned_buffer'; drivers/video/fbdev/core/fbmem.o:include/linux/fb.h:650: first defined here
ld: drivers/video/fbdev/core/fbmem.o: in function `fb_pad_unaligned_buffer':
>> drivers/video/fbdev/core/fbmem.c:121: multiple definition of `fb_pad_unaligned_buffer'; drivers/video/fbdev/core/fbmem.o:drivers/video/fbdev/core/fbmem.c:121: first defined here
ld: drivers/video/fbdev/core/fbmem.o: in function `fb_get_buffer_offset':
>> drivers/video/fbdev/core/fbmem.c:154: multiple definition of `fb_get_buffer_offset'; drivers/video/fbdev/core/fbmem.o:drivers/video/fbdev/core/fbmem.c:154: first defined here
ld: drivers/video/fbdev/core/fbmem.o: in function `fb_prepare_logo':
>> drivers/video/fbdev/core/fbmem.c:615: multiple definition of `fb_prepare_logo'; drivers/video/fbdev/core/fbmem.o:drivers/video/fbdev/core/fbmem.c:615: first defined here
>> ld: drivers/video/fbdev/core/fbmem.o:(.data..read_mostly+0x18): multiple definition of `fb_center_logo'; drivers/video/fbdev/core/fbmem.o:(.data..read_mostly+0x18): first defined here
ld: drivers/video/fbdev/core/fbmem.o: in function `fb_show_logo':
>> drivers/video/fbdev/core/fbmem.c:688: multiple definition of `fb_show_logo'; drivers/video/fbdev/core/fbmem.o:drivers/video/fbdev/core/fbmem.c:688: first defined here
ld: drivers/video/fbdev/core/fbmem.o: in function `fb_pan_display':
>> drivers/video/fbdev/core/fbmem.c:896: multiple definition of `fb_pan_display'; drivers/video/fbdev/core/fbmem.o:drivers/video/fbdev/core/fbmem.c:896: first defined here
ld: drivers/video/fbdev/core/fbmem.o: in function `fb_set_var':
>> drivers/video/fbdev/core/fbmem.c:954: multiple definition of `fb_set_var'; drivers/video/fbdev/core/fbmem.o:drivers/video/fbdev/core/fbmem.c:954: first defined here
ld: drivers/video/fbdev/core/fbmem.o: in function `fb_blank':
>> drivers/video/fbdev/core/fbmem.c:1059: multiple definition of `fb_blank'; drivers/video/fbdev/core/fbmem.o:drivers/video/fbdev/core/fbmem.c:1059: first defined here
ld: drivers/video/fbdev/core/fbmem.o: in function `unlink_framebuffer':
>> drivers/video/fbdev/core/fbmem.c:1677: multiple definition of `unlink_framebuffer'; drivers/video/fbdev/core/fbmem.o:drivers/video/fbdev/core/fbmem.c:1677: first defined here
>> ld: drivers/video/fbdev/core/fbmem.o:(.bss+0x100): multiple definition of `fb_class'; drivers/video/fbdev/core/fbmem.o:(.bss+0x100): first defined here
>> ld: drivers/video/fbdev/core/fbmem.o:(.data..read_mostly+0x1c): multiple definition of `num_registered_fb'; drivers/video/fbdev/core/fbmem.o:(.data..read_mostly+0x1c): first defined here
ld: drivers/video/fbdev/core/fbmem.o: in function `remove_conflicting_framebuffers':
>> drivers/video/fbdev/core/fbmem.c:1737: multiple definition of `remove_conflicting_framebuffers'; drivers/video/fbdev/core/fbmem.o:drivers/video/fbdev/core/fbmem.c:1737: first defined here
ld: drivers/video/fbdev/core/fbmem.o: in function `remove_conflicting_pci_framebuffers':
>> drivers/video/fbdev/core/fbmem.c:1770: multiple definition of `remove_conflicting_pci_framebuffers'; drivers/video/fbdev/core/fbmem.o:drivers/video/fbdev/core/fbmem.c:1770: first defined here
ld: drivers/video/fbdev/core/fbmem.o: in function `register_framebuffer':
>> drivers/video/fbdev/core/fbmem.c:1817: multiple definition of `register_framebuffer'; drivers/video/fbdev/core/fbmem.o:drivers/video/fbdev/core/fbmem.c:1817: first defined here
ld: drivers/video/fbdev/core/fbmem.o: in function `unregister_framebuffer':
>> drivers/video/fbdev/core/fbmem.c:1846: multiple definition of `unregister_framebuffer'; drivers/video/fbdev/core/fbmem.o:drivers/video/fbdev/core/fbmem.c:1846: first defined here
ld: drivers/video/fbdev/core/fbmem.o: in function `fb_set_suspend':
>> drivers/video/fbdev/core/fbmem.c:1863: multiple definition of `fb_set_suspend'; drivers/video/fbdev/core/fbmem.o:drivers/video/fbdev/core/fbmem.c:1863: first defined here
ld: drivers/video/fbdev/core/fbmem.o: in function `fbmem_init':
>> drivers/video/fbdev/core/fbmem.c:1887: multiple definition of `init_module'; drivers/video/fbdev/core/fbmem.o:drivers/video/fbdev/core/fbmem.c:1887: first defined here
ld: drivers/video/fbdev/core/fbmem.o: in function `fbmem_exit':

---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/hyperkitty/list/kbuild-all@xxxxxxxxxxxx Intel Corporation

Attachment: .config.gz
Description: application/gzip