diff options
author | Al Viro <viro@ftp.linux.org.uk> | 2011-08-18 20:11:49 +0100 |
---|---|---|
committer | Richard Weinberger <richard@nod.at> | 2011-11-02 14:15:26 +0100 |
commit | 4d211093e838ddd049b5cf4f0773aa5ac67f9976 (patch) | |
tree | 812dbda87c5ff94eb926cc6ee7410a323e5b2cc1 /arch | |
parent | c32324e31270514638d6d2df38436590862e0d8f (diff) | |
download | linux-3.10-4d211093e838ddd049b5cf4f0773aa5ac67f9976.tar.gz linux-3.10-4d211093e838ddd049b5cf4f0773aa5ac67f9976.tar.bz2 linux-3.10-4d211093e838ddd049b5cf4f0773aa5ac67f9976.zip |
um: fix gcov build breakage
a) exports in gmon_syms.c duplicate kernel/gcov/* ones
b) excluding -pg in vdso compile is not enough - -fprofile-arcs
and -ftest-coverage also needs to be excluded
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Richard Weinberger <richard@nod.at>
Diffstat (limited to 'arch')
-rw-r--r-- | arch/um/kernel/gmon_syms.c | 15 | ||||
-rw-r--r-- | arch/x86/um/vdso/Makefile | 4 |
2 files changed, 2 insertions, 17 deletions
diff --git a/arch/um/kernel/gmon_syms.c b/arch/um/kernel/gmon_syms.c index 72eccd2a411..e9bcf247bce 100644 --- a/arch/um/kernel/gmon_syms.c +++ b/arch/um/kernel/gmon_syms.c @@ -7,18 +7,3 @@ extern void __bb_init_func(void *) __attribute__((weak)); EXPORT_SYMBOL(__bb_init_func); - -/* - * This is defined (and referred to in profiling stub code) only by some GCC - * versions in libgcov. - * - * Since SuSE backported the fix, we cannot handle it depending on GCC version. - * So, unconditionally export it. But also give it a weak declaration, which - * will be overridden by any other one. - */ - -extern void __gcov_init(void *) __attribute__((weak)); -EXPORT_SYMBOL(__gcov_init); - -extern void __gcov_merge_add(void *) __attribute__((weak)); -EXPORT_SYMBOL(__gcov_merge_add); diff --git a/arch/x86/um/vdso/Makefile b/arch/x86/um/vdso/Makefile index 5dffe6d4668..6c803ca49b5 100644 --- a/arch/x86/um/vdso/Makefile +++ b/arch/x86/um/vdso/Makefile @@ -46,8 +46,8 @@ $(vobjs): KBUILD_CFLAGS += $(CFL) # # vDSO code runs in userspace and -pg doesn't help with profiling anyway. # -CFLAGS_REMOVE_vdso-note.o = -pg -CFLAGS_REMOVE_um_vdso.o = -pg +CFLAGS_REMOVE_vdso-note.o = -pg -fprofile-arcs -ftest-coverage +CFLAGS_REMOVE_um_vdso.o = -pg -fprofile-arcs -ftest-coverage targets += vdso-syms.lds obj-$(VDSO64-y) += vdso-syms.lds |