jump_label, x86: Fix section mismatch
authorPeter Zijlstra <a.p.zijlstra@chello.nl>
Tue, 6 Dec 2011 16:27:29 +0000 (17:27 +0100)
committerIngo Molnar <mingo@elte.hu>
Tue, 6 Dec 2011 19:41:02 +0000 (20:41 +0100)
WARNING: arch/x86/kernel/built-in.o(.text+0x4c71): Section mismatch in
reference from the function arch_jump_label_transform_static() to the
function .init.text:text_poke_early()
The function arch_jump_label_transform_static() references
the function __init text_poke_early().
This is often because arch_jump_label_transform_static lacks a __init
annotation or the annotation of text_poke_early is wrong.

Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
Cc: Jason Baron <jbaron@redhat.com>
Link: http://lkml.kernel.org/n/tip-9lefe89mrvurrwpqw5h8xm8z@git.kernel.org
Signed-off-by: Ingo Molnar <mingo@elte.hu>
arch/x86/kernel/jump_label.c
kernel/jump_label.c

index ea9d5f2f13efec411a79a0b43f003b29c06654d3..2889b3d438823ea58d6796355e08fb081c1896f7 100644 (file)
@@ -50,7 +50,7 @@ void arch_jump_label_transform(struct jump_entry *entry,
        put_online_cpus();
 }
 
-void arch_jump_label_transform_static(struct jump_entry *entry,
+__init_or_module void arch_jump_label_transform_static(struct jump_entry *entry,
                                      enum jump_label_type type)
 {
        __jump_label_transform(entry, type, text_poke_early);
index 51a175ab0a03cbad6bed7cee9723ec2df7898199..3fb7b79c86fd51dbb15abbafed954dc8f7b979c7 100644 (file)
@@ -142,7 +142,7 @@ static int __jump_label_text_reserved(struct jump_entry *iter_start,
  * running code can override this to make the non-live update case
  * cheaper.
  */
-void __weak arch_jump_label_transform_static(struct jump_entry *entry,
+void __weak __init_or_module arch_jump_label_transform_static(struct jump_entry *entry,
                                            enum jump_label_type type)
 {
        arch_jump_label_transform(entry, type);