Re: Partial fix! - Was: Re: [BUG report] UML linux-2.6 latest BK doesn't compile

Jeff Dike
2005-03-05T17:20:02Z

aia21@cam.ac.uk said:
> Yes. I finally found a way to get it to compile. Compiling without
> TT mode and WITHOUT static build it still fails with the same problem
> (__bb_init_func problem I already reported). But compiling without TT
> but WITH static build the __bb_init_func problem goes away but instead
> I get a __gcov_init missing symbol in my modules.
>
> Note I have gcc-3.3.4-11 (SuSE 9.2) and it defines __gcov_init. So I
> added this as an export symbol and lo and behold the kernel and
> modules compiled and I am now up an running with UML and NTFS as a
> module. (-:

Can you try this patch? It exports either __gcov_init or __bb_init_func
depending on your gcc version.

Jeff

Index: linux-2.6.10/arch/um/kernel/gmon_syms.c
===================================================================
--- linux-2.6.10.orig/arch/um/kernel/gmon_syms.c 2005-02-28 17:22:29.000000000 -0500
+++ linux-2.6.10/arch/um/kernel/gmon_syms.c 2005-03-02 12:19:14.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.