]> git.proxmox.com Git - mirror_ubuntu-hirsute-kernel.git/commitdiff
um: Disable CONFIG_GCOV with MODULES
authorJohannes Berg <johannes.berg@intel.com>
Mon, 15 Mar 2021 22:47:31 +0000 (23:47 +0100)
committerStefan Bader <stefan.bader@canonical.com>
Wed, 30 Jun 2021 06:26:49 +0000 (08:26 +0200)
BugLink: https://bugs.launchpad.net/bugs/1931896
[ Upstream commit ad3d19911632debc886ef4a992d41d6de7927006 ]

CONFIG_GCOV doesn't work with modules, and for various reasons
it cannot work, see also
https://lore.kernel.org/r/d36ea54d8c0a8dd706826ba844a6f27691f45d55.camel@sipsolutions.net

Make CONFIG_GCOV depend on !MODULES to avoid anyone
running into issues there. This also means we need
not export the gcov symbols.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Richard Weinberger <richard@nod.at>
Signed-off-by: Sasha Levin <sashal@kernel.org>
Signed-off-by: Kamal Mostafa <kamal@canonical.com>
Signed-off-by: Kelsey Skunberg <kelsey.skunberg@canonical.com>
arch/um/Kconfig.debug
arch/um/kernel/Makefile
arch/um/kernel/gmon_syms.c [deleted file]

index 315d368e63adc0584edf9fb002b5cba430729795..1dfb2959c73b86bc9e696d19259821eb7218559e 100644 (file)
@@ -17,6 +17,7 @@ config GCOV
        bool "Enable gcov support"
        depends on DEBUG_INFO
        depends on !KCOV
+       depends on !MODULES
        help
          This option allows developers to retrieve coverage data from a UML
          session.
index 5aa882011e041c8f32a6fcfd44e762ad2061730b..e698e0c7dbdca166f2592df5060638af2401a5f5 100644 (file)
@@ -21,7 +21,6 @@ obj-y = config.o exec.o exitcode.o irq.o ksyms.o mem.o \
 
 obj-$(CONFIG_BLK_DEV_INITRD) += initrd.o
 obj-$(CONFIG_GPROF)    += gprof_syms.o
-obj-$(CONFIG_GCOV)     += gmon_syms.o
 obj-$(CONFIG_EARLY_PRINTK) += early_printk.o
 obj-$(CONFIG_STACKTRACE) += stacktrace.o
 
diff --git a/arch/um/kernel/gmon_syms.c b/arch/um/kernel/gmon_syms.c
deleted file mode 100644 (file)
index 9361a8e..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-// SPDX-License-Identifier: GPL-2.0
-/*
- * Copyright (C) 2001 - 2007 Jeff Dike (jdike@{addtoit,linux.intel}.com)
- */
-
-#include <linux/module.h>
-
-extern void __bb_init_func(void *)  __attribute__((weak));
-EXPORT_SYMBOL(__bb_init_func);
-
-extern void __gcov_init(void *)  __attribute__((weak));
-EXPORT_SYMBOL(__gcov_init);
-extern void __gcov_merge_add(void *, unsigned int)  __attribute__((weak));
-EXPORT_SYMBOL(__gcov_merge_add);
-extern void __gcov_exit(void)  __attribute__((weak));
-EXPORT_SYMBOL(__gcov_exit);