提交 4d211093 编写于 作者: A Al Viro 提交者: Richard Weinberger

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: NAl Viro <viro@zeniv.linux.org.uk>
Signed-off-by: NRichard Weinberger <richard@nod.at>
上级 c32324e3
...@@ -7,18 +7,3 @@ ...@@ -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) ...@@ -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
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册