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>
This commit is contained in:
committed by
Richard Weinberger
parent
c32324e312
commit
4d211093e8
@@ -7,18 +7,3 @@
|
|||||||
|
|
||||||
extern void __bb_init_func(void *) __attribute__((weak));
|
extern void __bb_init_func(void *) __attribute__((weak));
|
||||||
EXPORT_SYMBOL(__bb_init_func);
|
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);
|
|
||||||
|
@@ -46,8 +46,8 @@ $(vobjs): KBUILD_CFLAGS += $(CFL)
|
|||||||
#
|
#
|
||||||
# vDSO code runs in userspace and -pg doesn't help with profiling anyway.
|
# vDSO code runs in userspace and -pg doesn't help with profiling anyway.
|
||||||
#
|
#
|
||||||
CFLAGS_REMOVE_vdso-note.o = -pg
|
CFLAGS_REMOVE_vdso-note.o = -pg -fprofile-arcs -ftest-coverage
|
||||||
CFLAGS_REMOVE_um_vdso.o = -pg
|
CFLAGS_REMOVE_um_vdso.o = -pg -fprofile-arcs -ftest-coverage
|
||||||
|
|
||||||
targets += vdso-syms.lds
|
targets += vdso-syms.lds
|
||||||
obj-$(VDSO64-y) += vdso-syms.lds
|
obj-$(VDSO64-y) += vdso-syms.lds
|
||||||
|
Reference in New Issue
Block a user