Re: linux-2.6.17.1: undefined reference to `online_page'

From: Yasunori Goto
Date: Mon Jun 26 2006 - 03:39:07 EST


> In-Reply-To: <200606231001.33766.toralf.foerster@xxxxxx>
>
> On Fri, 23 Jun 2006 10:01:33 +0200, Toralf Foerster wrote:
>
> > I got the compile error :
> >
> > ...
> > UPD include/linux/compile.h
> > CC init/version.o
> > LD init/built-in.o
> > LD .tmp_vmlinux1
> > mm/built-in.o: In function `online_pages':
> > : undefined reference to `online_page'
> > make: *** [.tmp_vmlinux1] Error 1
> >
> > with this config:
>
> > CONFIG_X86_32=y
>
> > CONFIG_NOHIGHMEM=y
>
> > CONFIG_SPARSEMEM_MANUAL=y
> > CONFIG_SPARSEMEM=y
> > CONFIG_HAVE_MEMORY_PRESENT=y
> > CONFIG_SPARSEMEM_STATIC=y
> > CONFIG_MEMORY_HOTPLUG=y
>
> Yes, that config is broken. mm/memory_hotplug.c::online_pages() calls
> online_page() but without HIGHMEM that doesn't get built and no dummy
> function gets defined.

Toralf-san. How is this patch?
Or do you want to use memory hotplug without highmem?

Bye.

---

add_memory() for i386 add memory to highmem. So, if CONFIG_HIGHMEM
is not set, CONFIG_MEMORY_HOTPLUG shouldn't be set.


Signed-off-by: Yasunori Goto <y-goto@xxxxxxxxxxxxxx>

---
mm/Kconfig | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

Index: linux-2.6.17/mm/Kconfig
===================================================================
--- linux-2.6.17.orig/mm/Kconfig 2006-06-26 14:19:11.000000000 +0900
+++ linux-2.6.17/mm/Kconfig 2006-06-26 14:19:53.000000000 +0900
@@ -115,7 +115,7 @@ config SPARSEMEM_EXTREME
# eventually, we can have this option just 'select SPARSEMEM'
config MEMORY_HOTPLUG
bool "Allow for memory hot-add"
- depends on SPARSEMEM && HOTPLUG && !SOFTWARE_SUSPEND
+ depends on SPARSEMEM && HOTPLUG && !SOFTWARE_SUSPEND && !(X86_32 && !HIGHMEM)

comment "Memory hotplug is currently incompatible with Software Suspend"
depends on SPARSEMEM && HOTPLUG && SOFTWARE_SUSPEND

--
Yasunori Goto


-
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/