On Fri, Feb 16, 2018 at 7:21 PM, kbuild test robot fengguang.wu@intel.com wrote:
Hi Andrey,
It's probably a bug fix that unveils the link errors.
tree: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git linux-3.16.y head: 0b9f4cdd4d75131d8886b919bbf6e0c98906d36e commit: 3cb0dc19883f0c69225311d4f76aa8128d3681a4 [2872/3488] module: fix types of device tables aliases config: x86_64-allmodconfig (attached as .config) compiler: gcc-7 (Debian 7.3.0-1) 7.3.0 reproduce: git checkout 3cb0dc19883f0c69225311d4f76aa8128d3681a4 # save the attached .config to linux build tree make ARCH=x86_64
All errors (new ones prefixed by >>):
arch/x86/kernel/head64.o: In function `_GLOBAL__sub_D_00100_1_early_pmd_flags':
head64.c:(.text.exit+0x5): undefined reference to `__gcov_exit'
arch/x86/kernel/head.o: In function `_GLOBAL__sub_D_00100_1_reserve_ebda_region': head.c:(.text.exit+0x5): undefined reference to `__gcov_exit' init/built-in.o: In function `_GLOBAL__sub_D_00100_1___ksymtab_system_state': main.c:(.text.exit+0x5): undefined reference to `__gcov_exit' init/built-in.o: In function `_GLOBAL__sub_D_00100_1_root_mountflags': do_mounts.c:(.text.exit+0x10): undefined reference to `__gcov_exit' init/built-in.o: In function `_GLOBAL__sub_D_00100_1_initrd_load': do_mounts_initrd.c:(.text.exit+0x1b): undefined reference to `__gcov_exit' init/built-in.o:initramfs.c:(.text.exit+0x26): more undefined references to `__gcov_exit' follow
I think this is a result of using a too new compiler with the old 3.16 kernel. In order to build with gcc-7.3, you need to backport
05384213436a ("gcov: support GCC 7.1")
It's already part of stable-3.18 and later, but not 3.2 and 3.16.
Arnd
On Fri, 2018-02-16 at 21:28 +0100, Arnd Bergmann wrote:
On Fri, Feb 16, 2018 at 7:21 PM, kbuild test robot fengguang.wu@intel.com wrote:
[...]
All errors (new ones prefixed by >>):
arch/x86/kernel/head64.o: In function `_GLOBAL__sub_D_00100_1_early_pmd_flags':
head64.c:(.text.exit+0x5): undefined reference to `__gcov_exit'
arch/x86/kernel/head.o: In function `_GLOBAL__sub_D_00100_1_reserve_ebda_region': head.c:(.text.exit+0x5): undefined reference to `__gcov_exit' init/built-in.o: In function `_GLOBAL__sub_D_00100_1___ksymtab_system_state': main.c:(.text.exit+0x5): undefined reference to `__gcov_exit' init/built-in.o: In function `_GLOBAL__sub_D_00100_1_root_mountflags': do_mounts.c:(.text.exit+0x10): undefined reference to `__gcov_exit' init/built-in.o: In function `_GLOBAL__sub_D_00100_1_initrd_load': do_mounts_initrd.c:(.text.exit+0x1b): undefined reference to `__gcov_exit' init/built-in.o:initramfs.c:(.text.exit+0x26): more undefined references to `__gcov_exit' follow
I think this is a result of using a too new compiler with the old 3.16 kernel. In order to build with gcc-7.3, you need to backport
05384213436a ("gcov: support GCC 7.1")
It's already part of stable-3.18 and later, but not 3.2 and 3.16.
Thanks. I've queued up the following for 3.16:
3e44c471a2da gcov: add support for GCC 5.1 d02038f97253 gcov: add support for gcc version >= 6 05384213436a gcov: support GCC 7.1
Ben.
linux-stable-mirror@lists.linaro.org