Re: [patch] Latency Tracer, voluntary-preempt-2.6.8-rc4-O6

Lee Revell
2004-08-13T04:22:45Z

On Thu, 2004-08-12 at 23:54, Lee Revell wrote:
> On Thu, 2004-08-12 at 22:39, Lee Revell wrote:
> > On Thu, 2004-08-12 at 21:31, Lee Revell wrote:
> > > On Thu, 2004-08-12 at 21:25, Lee Revell wrote:
> > > > Does not compile. For each module I get:
> > > >
> > >
> > > Never mind, stupid mistake on my part.
> > >
> >
> > Argh, this is actually a fatal bug, and not a mistake on my part.
> > mcount is an unknown symbol, and make modules_install does not like
> > that.
> >
> > I checked Module.symvers and it is not in there, but this seems to be a
> > generated file, and I have no idea why mcount does not appear.
> >
>
> I think appending this to i386_ksyms.c fixes the problem:
>
> #ifdef CONFIG_PREEMPT_TIMING
> EXPORT_SYMBOL(mcount);
> #endif
>
> Possibly that should be CONFIG_LATENCY_TRACE.

I believe this is the correct patch, based on
arch/sparc64/kernel/sparc64_ksyms.c. Ingo, are you using a sparc64 for
your testing?

--- arch/i386/kernel/i386_ksyms.c.orig 2004-08-13 00:18:51.000000000 -0400
+++ arch/i386/kernel/i386_ksyms.c 2004-08-13 00:19:46.000000000 -0400
@@ -59,6 +59,11 @@
extern unsigned long cpu_khz;
extern unsigned long get_cmos_time(void);

+#if defined(CONFIG_MCOUNT)
+extern void mcount(void);
+EXPORT_SYMBOL_NOVERS(mcount);
+#endif
+
/* platform dependent support */
EXPORT_SYMBOL(boot_cpu_data);
EXPORT_SYMBOL(MCA_bus);