diff options
author | Peter Zijlstra <a.p.zijlstra@chello.nl> | 2011-12-06 11:27:29 -0500 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2011-12-06 14:41:02 -0500 |
commit | 9cdbe1cbac4ec318037297175587a0080acc9d11 (patch) | |
tree | 3871708eb2f67d628c8ad045a16174db0f80a59e | |
parent | cc991b83b3eb11b253dd932932fa0bfd09c7564a (diff) |
jump_label, x86: Fix section mismatch
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>
-rw-r--r-- | arch/x86/kernel/jump_label.c | 2 | ||||
-rw-r--r-- | kernel/jump_label.c | 2 |
2 files changed, 2 insertions, 2 deletions
diff --git a/arch/x86/kernel/jump_label.c b/arch/x86/kernel/jump_label.c index ea9d5f2f13ef..2889b3d43882 100644 --- a/arch/x86/kernel/jump_label.c +++ b/arch/x86/kernel/jump_label.c | |||
@@ -50,7 +50,7 @@ void arch_jump_label_transform(struct jump_entry *entry, | |||
50 | put_online_cpus(); | 50 | put_online_cpus(); |
51 | } | 51 | } |
52 | 52 | ||
53 | void arch_jump_label_transform_static(struct jump_entry *entry, | 53 | __init_or_module void arch_jump_label_transform_static(struct jump_entry *entry, |
54 | enum jump_label_type type) | 54 | enum jump_label_type type) |
55 | { | 55 | { |
56 | __jump_label_transform(entry, type, text_poke_early); | 56 | __jump_label_transform(entry, type, text_poke_early); |
diff --git a/kernel/jump_label.c b/kernel/jump_label.c index 51a175ab0a03..3fb7b79c86fd 100644 --- a/kernel/jump_label.c +++ b/kernel/jump_label.c | |||
@@ -142,7 +142,7 @@ static int __jump_label_text_reserved(struct jump_entry *iter_start, | |||
142 | * running code can override this to make the non-live update case | 142 | * running code can override this to make the non-live update case |
143 | * cheaper. | 143 | * cheaper. |
144 | */ | 144 | */ |
145 | void __weak arch_jump_label_transform_static(struct jump_entry *entry, | 145 | void __weak __init_or_module arch_jump_label_transform_static(struct jump_entry *entry, |
146 | enum jump_label_type type) | 146 | enum jump_label_type type) |
147 | { | 147 | { |
148 | arch_jump_label_transform(entry, type); | 148 | arch_jump_label_transform(entry, type); |