[PATCH] x86_64 linkage error on UP_IOAPIC

Linux Kernel Mailing List <[email protected]> Fri, 13 May 2005 13:19:23 +0000
Newsgroups gmane.linux.kernel.commits.2-4
Message-ID <[email protected]>
ChangeSet 1.1517, 2005/05/13 10:19:23-03:00, [email protected]

	[PATCH] x86_64 linkage error on UP_IOAPIC
	
	When 2.4.31-pre2 is configured for X86_64 && !SMP && UP_IOAPIC
	it fails to link:
	
	arch/x86_64/kernel/kernel.o(.text+0x4591): In function `enable_irq':
	: undefined reference to `send_IPI_self'
	make: *** [vmlinux] Error 1
	
	A broken change in 2.4.31-pre{1,2} made the UP kernel reference
	a symbol which is only defined in the SMP kernel.
	
	The patch below fixes this by reverting that change.
	
	Signed-off-by: Mikael Pettersson <[email protected]>



 hw_irq.h |    2 +-
 1 files changed, 1 insertion(+), 1 deletion(-)


diff -Nru a/include/asm-x86_64/hw_irq.h b/include/asm-x86_64/hw_irq.h
--- a/include/asm-x86_64/hw_irq.h	2005-05-13 12:02:35 -07:00
+++ b/include/asm-x86_64/hw_irq.h	2005-05-13 12:02:35 -07:00
@@ -156,7 +156,7 @@
 	atomic_inc((atomic_t *)&prof_buffer[eip]);
 }
 
-#ifdef CONFIG_X86_IO_APIC
+#ifdef CONFIG_SMP /*more of this file should probably be ifdefed SMP */
 static inline void hw_resend_irq(struct hw_interrupt_type *h, unsigned int i) {
 	if (IO_APIC_IRQ(i))
 		send_IPI_self(IO_APIC_VECTOR(i));