MIPS: Fix modversions
kernelci.org reports tons of build warnings for linux-next:
35 WARNING: "memcpy" [fs/fat/msdos.ko] has no CRC!
35 WARNING: "__copy_user" [fs/fat/fat.ko] has no CRC!
32 WARNING: EXPORT symbol "memset" [vmlinux] version generation failed, symbol will not be versioned.
32 WARNING: EXPORT symbol "copy_page" [vmlinux] version generation failed, symbol will not be versioned.
32 WARNING: EXPORT symbol "clear_page" [vmlinux] version generation failed, symbol will not be versioned.
32 WARNING: EXPORT symbol "__strncpy_from_user_nocheck_asm" [vmlinux] version generation failed, symbol will not be versioned.
The problem here is mainly the missing asm/asm-prototypes.h header file
that is supposed to include the prototypes for each symbol that is exported
from an assembler file.
A second problem is that the asm/uaccess.h header contains some but not
all the necessary declarations for the user access helpers.
Finally, the vdso build is broken once we add asm/asm-prototypes.h, so
we have to fix this at the same time by changing the vdso header. My
approach here is to just not look for exported symbols in the VDSO
assembler files, as the symbols cannot be exported anyway.
Fixes: 576a2f0c5c
("MIPS: Export memcpy & memset functions alongside their definitions")
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Cc: Al Viro <viro@zeniv.linux.org.uk>
Cc: James Hogan <james.hogan@imgtec.com>
Cc: Maciej W. Rozycki <macro@imgtec.com>
Cc: linux-mips@linux-mips.org
Cc: linux-kernel@vger.kernel.org
Patchwork: https://patchwork.linux-mips.org/patch/15038/
Patchwork: https://patchwork.linux-mips.org/patch/15069/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
This commit is contained in:

committed by
Ralf Baechle

parent
ea58fca184
commit
b668970e61
@@ -28,13 +28,11 @@
|
||||
*/
|
||||
.macro __BUILD_STRNLEN_ASM func
|
||||
LEAF(__strnlen_\func\()_asm)
|
||||
EXPORT_SYMBOL(__strnlen_\func\()_asm)
|
||||
LONG_L v0, TI_ADDR_LIMIT($28) # pointer ok?
|
||||
and v0, a0
|
||||
bnez v0, .Lfault\@
|
||||
|
||||
FEXPORT(__strnlen_\func\()_nocheck_asm)
|
||||
EXPORT_SYMBOL(__strnlen_\func\()_nocheck_asm)
|
||||
move v0, a0
|
||||
PTR_ADDU a1, a0 # stop pointer
|
||||
1:
|
||||
@@ -73,9 +71,13 @@ EXPORT_SYMBOL(__strnlen_\func\()_nocheck_asm)
|
||||
.global __strnlen_user_nocheck_asm
|
||||
.set __strnlen_user_asm, __strnlen_kernel_asm
|
||||
.set __strnlen_user_nocheck_asm, __strnlen_kernel_nocheck_asm
|
||||
EXPORT_SYMBOL(__strnlen_user_asm)
|
||||
EXPORT_SYMBOL(__strnlen_user_nocheck_asm)
|
||||
#endif
|
||||
|
||||
__BUILD_STRNLEN_ASM kernel
|
||||
EXPORT_SYMBOL(__strnlen_kernel_asm)
|
||||
EXPORT_SYMBOL(__strnlen_kernel_nocheck_asm)
|
||||
|
||||
#ifdef CONFIG_EVA
|
||||
|
||||
@@ -83,4 +85,6 @@ __BUILD_STRNLEN_ASM kernel
|
||||
.set eva
|
||||
__BUILD_STRNLEN_ASM user
|
||||
.set pop
|
||||
EXPORT_SYMBOL(__strnlen_user_asm)
|
||||
EXPORT_SYMBOL(__strnlen_user_nocheck_asm)
|
||||
#endif
|
||||
|
Reference in New Issue
Block a user