Re: [uml-devel] [PATCH 4/9] UML - Export gcov symbol based on gcc version

From: Blaisorblade
Date: Fri Mar 11 2005 - 14:59:27 EST


On Thursday 10 March 2005 03:16, Jeff Dike wrote:
> The init function called by gcc when gcov is enabled is __gcov_init or
> __bb_init_func, depending on the gcc version. Anton is using 3.3.4 and
> seeing __gcov_init. I'm using 3.3.2 and seeing __bb_init_func, so we need
> to close that gap a bit.

I'll have to undo this patch... I said that you must export both symbols when
GCC version is the right one.

And I can say this version is > 3.3.4, since my good Gentoo's 3.3.4 does not
include this symbol.

We rediscussed this with Jeff, and I'll post a better patch:
EXPORT_SYMBOL(__gcov_init), and weakly define it to an empty function. I'll
do it tomorrow.

> Signed-off-by: Jeff Dike <jdike@xxxxxxxxxxx>
>
> Index: linux-2.6.11/arch/um/kernel/gmon_syms.c
> ===================================================================
> --- linux-2.6.11.orig/arch/um/kernel/gmon_syms.c 2005-03-07
> 10:53:03.000000000 -0500 +++
> linux-2.6.11/arch/um/kernel/gmon_syms.c 2005-03-07 16:29:37.000000000 -0500
> @@ -5,8 +5,14 @@
>
> #include "linux/module.h"
>
> +#if __GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ > 3) || \
> + (__GNUC__ == 3 && __GNUC_MINOR__ == 3 && __GNUC_PATCHLEVEL__ >= 4)
> +extern void __gcov_init(void *);
> +EXPORT_SYMBOL(__gcov_init);
> +#else
> extern void __bb_init_func(void *);
> EXPORT_SYMBOL(__bb_init_func);
> +#endif
>
> /*
> * Overrides for Emacs so that we follow Linus's tabbing style.


--
Paolo Giarrusso, aka Blaisorblade
Linux registered user n. 292729
http://www.user-mode-linux.org/~blaisorblade

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/