Re: [patch] voluntary-preempt-2.6.8.1-P2

Peter Zijlstra
2004-08-16T18:29:51Z

[-- Attachment #1: Type: text/plain, Size: 917 bytes --]

On Mon, 2004-08-16 at 14:52 +0200, jjluza wrote:
> It fails here at compile time with :
>
> arch/i386/kernel/built-in.o(.text+0x2fc5): In function `do_nmi':
> : undefined reference to `__trace'
> arch/i386/kernel/built-in.o(.text+0x3723): In function `do_IRQ':
> : undefined reference to `__trace'
> arch/i386/mm/built-in.o(.text+0x7ba): In function `do_page_fault':
> : undefined reference to `__trace'
> make[1]: *** [vmlinux] Erreur 1
> make[1]: Leaving directory `/usr/src/linux-2.6.8'
> make: *** [stamp-build] Erreur 2
>
>
> I also got offset when applying the patch. (P1 hadn't this problem)
>
>
> Regards.
> -
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at http://www.tux.org/lkml/
--
Peter Zijlstra <a.p.zijlstra@chello.nl>

[-- Attachment #2: compile-fix-P2 --]
[-- Type: text/plain, Size: 1023 bytes --]

--- arch/i386/kernel/irq.c~ 2004-08-16 20:01:58.835999719 +0200
+++ arch/i386/kernel/irq.c 2004-08-16 20:26:24.974943041 +0200
@@ -219,7 +219,9 @@
unsigned int status;

irq_enter();
+#ifdef CONFIG_LATENCY_TRACE
__trace((unsigned long)do_IRQ, regs.eip);
+#endif

#ifdef CONFIG_DEBUG_STACKOVERFLOW
/* Debugging check for stack overflow: is there less than 1KB free? */
--- arch/i386/kernel/traps.c~ 2004-08-16 20:01:58.836999745 +0200
+++ arch/i386/kernel/traps.c 2004-08-16 20:26:48.156378051 +0200
@@ -537,7 +537,9 @@
int cpu;

nmi_enter();
+#ifdef CONFIG_LATENCY_TRACE
__trace((unsigned long)do_nmi, regs->eip);
+#endif

cpu = smp_processor_id();
++nmi_count(cpu);
--- arch/i386/mm/fault.c~ 2004-08-16 20:01:58.837999771 +0200
+++ arch/i386/mm/fault.c 2004-08-16 20:27:08.181753770 +0200
@@ -223,7 +223,9 @@
int write;
siginfo_t info;

+#ifdef CONFIG_LATENCY_TRACE
__trace((unsigned long)do_page_fault, regs->eip);
+#endif

/* get the address */
__asm__("movl %%cr2,%0":"=r" (address));