[PATCH][2.6-mm] __kunmap/oprofile final link failure

From: Zwane Mwaikambo
Date: Fri Nov 21 2003 - 18:20:20 EST


arch/i386/kernel/built-in.o(.text+0x927): In function `__switch_to':
arch/i386/kernel/process.c:564: undefined reference to
`__kunmap_atomic_type'
arch/i386/kernel/built-in.o(.text+0x92e):arch/i386/kernel/process.c:565:
undefined reference to `__kunmap_atomic_type'
arch/i386/kernel/built-in.o(.text+0x939):arch/i386/kernel/process.c:566:
undefined reference to `__kmap_atomic'
arch/i386/kernel/built-in.o(.text+0x944):arch/i386/kernel/process.c:567:
undefined reference to `__kmap_atomic'
arch/i386/kernel/built-in.o(.text+0x94e):arch/i386/kernel/process.c:572:
undefined reference to `__kmap_atomic_vaddr'
arch/i386/oprofile/built-in.o(.text+0x171a): In function
`oprofile_reset_stats':
include/asm/bitops.h:251: undefined reference to `cpu_possible_map'
arch/i386/oprofile/built-in.o(.text+0x179e): In function
`oprofile_create_stats_files':
include/asm/bitops.h:251: undefined reference to `cpu_possible_map'

Test compiled with NR_CPUS = 4, 64 and !CONFIG_SMP on i386

Index: linux-2.6.0-test9-mm5/arch/i386/kernel/process.c
===================================================================
RCS file: /build/cvsroot/linux-2.6.0-test9-mm5/arch/i386/kernel/process.c,v
retrieving revision 1.1.1.1
diff -u -p -B -r1.1.1.1 process.c
--- linux-2.6.0-test9-mm5/arch/i386/kernel/process.c 21 Nov 2003 20:59:15 -0000 1.1.1.1
+++ linux-2.6.0-test9-mm5/arch/i386/kernel/process.c 21 Nov 2003 22:20:00 -0000
@@ -50,6 +50,7 @@
#include <asm/desc.h>
#include <asm/tlbflush.h>
#include <asm/cpu.h>
+#include <asm/atomic_kmap.h>
#ifdef CONFIG_MATH_EMULATION
#include <asm/math_emu.h>
#endif
Index: linux-2.6.0-test9-mm5/drivers/oprofile/oprofile_stats.c
===================================================================
RCS file: /build/cvsroot/linux-2.6.0-test9-mm5/drivers/oprofile/oprofile_stats.c,v
retrieving revision 1.1.1.1
diff -u -p -B -r1.1.1.1 oprofile_stats.c
--- linux-2.6.0-test9-mm5/drivers/oprofile/oprofile_stats.c 21 Nov 2003 20:59:40 -0000 1.1.1.1
+++ linux-2.6.0-test9-mm5/drivers/oprofile/oprofile_stats.c 21 Nov 2003 21:27:44 -0000
@@ -10,7 +10,8 @@
#include <linux/oprofile.h>
#include <linux/cpumask.h>
#include <linux/threads.h>
-
+#include <linux/smp.h>
+
#include "oprofile_stats.h"
#include "cpu_buffer.h"

Index: linux-2.6.0-test9-mm5/include/linux/cpumask.h
===================================================================
RCS file: /build/cvsroot/linux-2.6.0-test9-mm5/include/linux/cpumask.h,v
retrieving revision 1.1.1.1
diff -u -p -B -r1.1.1.1 cpumask.h
--- linux-2.6.0-test9-mm5/include/linux/cpumask.h 21 Nov 2003 20:59:57 -0000 1.1.1.1
+++ linux-2.6.0-test9-mm5/include/linux/cpumask.h 21 Nov 2003 21:52:39 -0000
@@ -39,9 +39,8 @@ typedef unsigned long cpumask_t;


#ifdef CONFIG_SMP
-
+#include <asm/smp.h>
extern cpumask_t cpu_online_map;
-extern cpumask_t cpu_possible_map;

#define num_online_cpus() cpus_weight(cpu_online_map)
#define cpu_online(cpu) cpu_isset(cpu, cpu_online_map)
-
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/