[PATCH] x86-64: fix .init section reference warnings

From: Jan Beulich
Date: Mon Dec 10 2007 - 11:03:04 EST


The change in head_64.S is needed because ld -r renames .init.data to
.init.data.<number> for all but the first instance due to mismatching
section attributes.
The change in init_64.c is necessary because find_early_table_space()
is called from a __meminit function, but calls itself an __init one.

Signed-off-by: Jan Beulich <jbeulich@xxxxxxxxxx>

arch/x86/kernel/head_64.S | 2 +-
arch/x86/mm/init_64.c | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)

--- linux-2.6.24-rc4/arch/x86/kernel/head_64.S 2007-12-10 16:11:18.000000000 +0100
+++ 2.6.24-rc4-x86_64-init-warning/arch/x86/kernel/head_64.S 2007-12-06 11:07:59.000000000 +0100
@@ -244,7 +244,7 @@ ENTRY(secondary_startup_64)

/* SMP bootup changes these two */
#ifndef CONFIG_HOTPLUG_CPU
- .pushsection .init.data
+ .pushsection .init.data, "aw"
#endif
.align 8
.globl initial_code
--- linux-2.6.24-rc4/arch/x86/mm/init_64.c 2007-12-10 16:11:19.000000000 +0100
+++ 2.6.24-rc4-x86_64-init-warning/arch/x86/mm/init_64.c 2007-12-04 16:09:33.000000000 +0100
@@ -317,7 +317,7 @@ static void __meminit phys_pud_init(pud_
__flush_tlb();
}

-static void __init find_early_table_space(unsigned long end)
+static noinline void __init_refok find_early_table_space(unsigned long end)
{
unsigned long puds, pmds, tables, start;




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