Re: [Patch] Fix section mismatch of memory hotplug related code.

From: Andrew Morton
Date: Fri May 04 2007 - 20:04:54 EST


On Thu, 05 Apr 2007 17:01:02 +0900
Yasunori Goto <y-goto@xxxxxxxxxxxxxx> wrote:

> Hello.
>
> This is to fix many section mismatches of code related to memory hotplug.
> I checked compile with memory hotplug on/off on ia64 and x86-64 box.
>
> ..
>
> ===================================================================
> --- meminit.orig/drivers/acpi/numa.c 2007-04-04 20:15:58.000000000 +0900
> +++ meminit/drivers/acpi/numa.c 2007-04-04 20:56:34.000000000 +0900
> @@ -228,7 +228,7 @@ int __init acpi_numa_init(void)
> return 0;
> }
>
> -int acpi_get_pxm(acpi_handle h)
> +int __meminit acpi_get_pxm(acpi_handle h)
> {
> unsigned long pxm;
> acpi_status status;
> @@ -246,7 +246,7 @@ int acpi_get_pxm(acpi_handle h)
> }
> EXPORT_SYMBOL(acpi_get_pxm);
>
> -int acpi_get_node(acpi_handle *handle)
> +int __meminit acpi_get_node(acpi_handle *handle)
> {
> int pxm, node = -1;

It doesn't make a lot of sense to export an __init symbol to modules. I
guess it's OK in this case, but we get warnings:

WARNING: drivers/built-in.o - Section mismatch: reference to .init.text:acpi_get_node from __ksymtab between '__ksymtab_acpi_get_node' (at offset 0x1040) and '__ksymtab_acpi_get_pxm'
WARNING: drivers/built-in.o - Section mismatch: reference to .init.text:acpi_get_pxm from __ksymtab between '__ksymtab_acpi_get_pxm' (at offset 0x1050) and '__ksymtab_acpi_unlock_battery_dir'

One fix would be to statically link them again. Another fix would be to
wrap the exports in #ifdef CONFIG_ACPI_HOTPLUG_MEMORY_MODULE. Neither is
very attractive.

Coold you have a think about it please? The config is at
http://userweb.kernel.org/~akpm/config-akpm2.txt

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