Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit d6cb6715 authored by Paul Burton's avatar Paul Burton Committed by Ralf Baechle
Browse files

MIPS: Export string functions alongside their definitions



Now that EXPORT_SYMBOL can be used from assembly source, move the
EXPORT_SYMBOL invocations for the strlen*, strnlen* & strncpy* functions
to be alongside their definitions.

Signed-off-by: default avatarPaul Burton <paul.burton@imgtec.com>
Cc: linux-mips@linux-mips.org
Patchwork: https://patchwork.linux-mips.org/patch/14513/


Signed-off-by: default avatarRalf Baechle <ralf@linux-mips.org>
parent 23130042
Loading
Loading
Loading
Loading
+0 −24
Original line number Diff line number Diff line
@@ -19,20 +19,6 @@

extern void *__bzero_kernel(void *__s, size_t __count);
extern void *__bzero(void *__s, size_t __count);
extern long __strncpy_from_kernel_nocheck_asm(char *__to,
					      const char *__from, long __len);
extern long __strncpy_from_kernel_asm(char *__to, const char *__from,
				      long __len);
extern long __strncpy_from_user_nocheck_asm(char *__to,
					    const char *__from, long __len);
extern long __strncpy_from_user_asm(char *__to, const char *__from,
				    long __len);
extern long __strlen_kernel_asm(const char *s);
extern long __strlen_user_asm(const char *s);
extern long __strnlen_kernel_nocheck_asm(const char *s);
extern long __strnlen_kernel_asm(const char *s);
extern long __strnlen_user_nocheck_asm(const char *s);
extern long __strnlen_user_asm(const char *s);

/*
 * String functions
@@ -60,13 +46,3 @@ EXPORT_SYMBOL(__copy_user_inatomic_eva);
EXPORT_SYMBOL(__bzero_kernel);
#endif
EXPORT_SYMBOL(__bzero);
EXPORT_SYMBOL(__strncpy_from_kernel_nocheck_asm);
EXPORT_SYMBOL(__strncpy_from_kernel_asm);
EXPORT_SYMBOL(__strncpy_from_user_nocheck_asm);
EXPORT_SYMBOL(__strncpy_from_user_asm);
EXPORT_SYMBOL(__strlen_kernel_asm);
EXPORT_SYMBOL(__strlen_user_asm);
EXPORT_SYMBOL(__strnlen_kernel_nocheck_asm);
EXPORT_SYMBOL(__strnlen_kernel_asm);
EXPORT_SYMBOL(__strnlen_user_nocheck_asm);
EXPORT_SYMBOL(__strnlen_user_asm);
+2 −0
Original line number Diff line number Diff line
@@ -9,6 +9,7 @@
 */
#include <asm/asm.h>
#include <asm/asm-offsets.h>
#include <asm/export.h>
#include <asm/regdef.h>

#define EX(insn,reg,addr,handler)			\
@@ -24,6 +25,7 @@
 */
	.macro __BUILD_STRLEN_ASM func
LEAF(__strlen_\func\()_asm)
EXPORT_SYMBOL(__strlen_\func\()_asm)
	LONG_L		v0, TI_ADDR_LIMIT($28)	# pointer ok?
	and		v0, a0
	bnez		v0, .Lfault\@
+5 −0
Original line number Diff line number Diff line
@@ -9,6 +9,7 @@
#include <linux/errno.h>
#include <asm/asm.h>
#include <asm/asm-offsets.h>
#include <asm/export.h>
#include <asm/regdef.h>

#define EX(insn,reg,addr,handler)			\
@@ -30,11 +31,13 @@

	.macro __BUILD_STRNCPY_ASM func
LEAF(__strncpy_from_\func\()_asm)
EXPORT_SYMBOL(__strncpy_from_\func\()_asm)
	LONG_L		v0, TI_ADDR_LIMIT($28)	# pointer ok?
	and		v0, a1
	bnez		v0, .Lfault\@

FEXPORT(__strncpy_from_\func\()_nocheck_asm)
EXPORT_SYMBOL(__strncpy_from_\func\()_nocheck_asm)
	move		t0, zero
	move		v1, a1
.ifeqs "\func","kernel"
@@ -72,6 +75,8 @@ FEXPORT(__strncpy_from_\func\()_nocheck_asm)
	.global __strncpy_from_user_nocheck_asm
	.set __strncpy_from_user_asm, __strncpy_from_kernel_asm
	.set __strncpy_from_user_nocheck_asm, __strncpy_from_kernel_nocheck_asm
	EXPORT_SYMBOL(__strncpy_from_user_asm)
	EXPORT_SYMBOL(__strncpy_from_user_nocheck_asm)
#endif

__BUILD_STRNCPY_ASM kernel
+3 −0
Original line number Diff line number Diff line
@@ -8,6 +8,7 @@
 */
#include <asm/asm.h>
#include <asm/asm-offsets.h>
#include <asm/export.h>
#include <asm/regdef.h>

#define EX(insn,reg,addr,handler)			\
@@ -27,11 +28,13 @@
 */
	.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: