Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

[POWERPC] vdso_do_func_patch{32,64}() must be __init

This fixes the following section mismatches:

<-- snip -->

...
WARNING: vmlinux.o(.text+0xe49c): Section mismatch in reference from the function .vdso_do_func_patch64() to the function .init.text:.find_symbol64()
WARNING: vmlinux.o(.text+0xe4d0): Section mismatch in reference from the function .vdso_do_func_patch64() to the function .init.text:.find_symbol64()
WARNING: vmlinux.o(.text+0xe56c): Section mismatch in reference from the function .vdso_do_func_patch32() to the function .init.text:.find_symbol32()
WARNING: vmlinux.o(.text+0xe5a0): Section mismatch in reference from the function .vdso_do_func_patch32() to the function .init.text:.find_symbol32()
...

<-- snip -->

Signed-off-by: Adrian Bunk <bunk@kernel.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>

authored by

Adrian Bunk and committed by
Paul Mackerras
cf8918fe e4ccde02

+6 -6
+6 -6
arch/powerpc/kernel/vdso.c
··· 336 336 return sym->st_value - VDSO32_LBASE; 337 337 } 338 338 339 - static int vdso_do_func_patch32(struct lib32_elfinfo *v32, 340 - struct lib64_elfinfo *v64, 341 - const char *orig, const char *fix) 339 + static int __init vdso_do_func_patch32(struct lib32_elfinfo *v32, 340 + struct lib64_elfinfo *v64, 341 + const char *orig, const char *fix) 342 342 { 343 343 Elf32_Sym *sym32_gen, *sym32_fix; 344 344 ··· 433 433 #endif 434 434 } 435 435 436 - static int vdso_do_func_patch64(struct lib32_elfinfo *v32, 437 - struct lib64_elfinfo *v64, 438 - const char *orig, const char *fix) 436 + static int __init vdso_do_func_patch64(struct lib32_elfinfo *v32, 437 + struct lib64_elfinfo *v64, 438 + const char *orig, const char *fix) 439 439 { 440 440 Elf64_Sym *sym64_gen, *sym64_fix; 441 441