[sparc] unify 32bit and 64bit string.h
Acked-by: David S. Miller <davem@davemloft.net> Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
This commit is contained in:
parent
d3867f0483
commit
70a6fcf328
@ -5,4 +5,38 @@
|
|||||||
#else
|
#else
|
||||||
#include <asm/string_32.h>
|
#include <asm/string_32.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
/* First the mem*() things. */
|
||||||
|
#define __HAVE_ARCH_MEMMOVE
|
||||||
|
void *memmove(void *, const void *, __kernel_size_t);
|
||||||
|
|
||||||
|
#define __HAVE_ARCH_MEMCPY
|
||||||
|
#define memcpy(t, f, n) __builtin_memcpy(t, f, n)
|
||||||
|
|
||||||
|
#define __HAVE_ARCH_MEMSET
|
||||||
|
#define memset(s, c, count) __builtin_memset(s, c, count)
|
||||||
|
|
||||||
|
#define __HAVE_ARCH_MEMSCAN
|
||||||
|
|
||||||
|
#define memscan(__arg0, __char, __arg2) \
|
||||||
|
({ \
|
||||||
|
void *__memscan_zero(void *, size_t); \
|
||||||
|
void *__memscan_generic(void *, int, size_t); \
|
||||||
|
void *__retval, *__addr = (__arg0); \
|
||||||
|
size_t __size = (__arg2); \
|
||||||
|
\
|
||||||
|
if(__builtin_constant_p(__char) && !(__char)) \
|
||||||
|
__retval = __memscan_zero(__addr, __size); \
|
||||||
|
else \
|
||||||
|
__retval = __memscan_generic(__addr, (__char), __size); \
|
||||||
|
\
|
||||||
|
__retval; \
|
||||||
|
})
|
||||||
|
|
||||||
|
#define __HAVE_ARCH_MEMCMP
|
||||||
|
int memcmp(const void *,const void *,__kernel_size_t);
|
||||||
|
|
||||||
|
#define __HAVE_ARCH_STRNCMP
|
||||||
|
int strncmp(const char *, const char *, __kernel_size_t);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@ -11,60 +11,4 @@
|
|||||||
|
|
||||||
#include <asm/page.h>
|
#include <asm/page.h>
|
||||||
|
|
||||||
/* Really, userland/ksyms should not see any of this stuff. */
|
|
||||||
|
|
||||||
#ifdef __KERNEL__
|
|
||||||
|
|
||||||
void __memmove(void *,const void *,__kernel_size_t);
|
|
||||||
|
|
||||||
#ifndef EXPORT_SYMTAB_STROPS
|
|
||||||
|
|
||||||
/* First the mem*() things. */
|
|
||||||
#define __HAVE_ARCH_MEMMOVE
|
|
||||||
#undef memmove
|
|
||||||
#define memmove(_to, _from, _n) \
|
|
||||||
({ \
|
|
||||||
void *_t = (_to); \
|
|
||||||
__memmove(_t, (_from), (_n)); \
|
|
||||||
_t; \
|
|
||||||
})
|
|
||||||
|
|
||||||
#define __HAVE_ARCH_MEMCPY
|
|
||||||
#define memcpy(t, f, n) __builtin_memcpy(t, f, n)
|
|
||||||
|
|
||||||
#define __HAVE_ARCH_MEMSET
|
|
||||||
#define memset(s, c, count) __builtin_memset(s, c, count)
|
|
||||||
|
|
||||||
#define __HAVE_ARCH_MEMSCAN
|
|
||||||
|
|
||||||
#undef memscan
|
|
||||||
#define memscan(__arg0, __char, __arg2) \
|
|
||||||
({ \
|
|
||||||
void *__memscan_zero(void *, size_t); \
|
|
||||||
void *__memscan_generic(void *, int, size_t); \
|
|
||||||
void *__retval, *__addr = (__arg0); \
|
|
||||||
size_t __size = (__arg2); \
|
|
||||||
\
|
|
||||||
if(__builtin_constant_p(__char) && !(__char)) \
|
|
||||||
__retval = __memscan_zero(__addr, __size); \
|
|
||||||
else \
|
|
||||||
__retval = __memscan_generic(__addr, (__char), __size); \
|
|
||||||
\
|
|
||||||
__retval; \
|
|
||||||
})
|
|
||||||
|
|
||||||
#define __HAVE_ARCH_MEMCMP
|
|
||||||
int memcmp(const void *,const void *,__kernel_size_t);
|
|
||||||
|
|
||||||
/* Now the str*() stuff... */
|
|
||||||
#define __HAVE_ARCH_STRLEN
|
|
||||||
__kernel_size_t strlen(const char *);
|
|
||||||
|
|
||||||
#define __HAVE_ARCH_STRNCMP
|
|
||||||
int strncmp(const char *, const char *, __kernel_size_t);
|
|
||||||
|
|
||||||
#endif /* !EXPORT_SYMTAB_STROPS */
|
|
||||||
|
|
||||||
#endif /* __KERNEL__ */
|
|
||||||
|
|
||||||
#endif /* !(__SPARC_STRING_H__) */
|
#endif /* !(__SPARC_STRING_H__) */
|
||||||
|
@ -9,54 +9,10 @@
|
|||||||
#ifndef __SPARC64_STRING_H__
|
#ifndef __SPARC64_STRING_H__
|
||||||
#define __SPARC64_STRING_H__
|
#define __SPARC64_STRING_H__
|
||||||
|
|
||||||
/* Really, userland/ksyms should not see any of this stuff. */
|
|
||||||
|
|
||||||
#ifdef __KERNEL__
|
|
||||||
|
|
||||||
#include <asm/asi.h>
|
#include <asm/asi.h>
|
||||||
|
|
||||||
#ifndef EXPORT_SYMTAB_STROPS
|
|
||||||
|
|
||||||
/* First the mem*() things. */
|
|
||||||
#define __HAVE_ARCH_MEMMOVE
|
|
||||||
void *memmove(void *, const void *, __kernel_size_t);
|
|
||||||
|
|
||||||
#define __HAVE_ARCH_MEMCPY
|
|
||||||
#define memcpy(t, f, n) __builtin_memcpy(t, f, n)
|
|
||||||
|
|
||||||
#define __HAVE_ARCH_MEMSET
|
|
||||||
#define memset(s, c, count) __builtin_memset(s, c, count)
|
|
||||||
|
|
||||||
#define __HAVE_ARCH_MEMSCAN
|
|
||||||
|
|
||||||
#undef memscan
|
|
||||||
#define memscan(__arg0, __char, __arg2) \
|
|
||||||
({ \
|
|
||||||
void *__memscan_zero(void *, size_t); \
|
|
||||||
void *__memscan_generic(void *, int, size_t); \
|
|
||||||
void *__retval, *__addr = (__arg0); \
|
|
||||||
size_t __size = (__arg2); \
|
|
||||||
\
|
|
||||||
if(__builtin_constant_p(__char) && !(__char)) \
|
|
||||||
__retval = __memscan_zero(__addr, __size); \
|
|
||||||
else \
|
|
||||||
__retval = __memscan_generic(__addr, (__char), __size); \
|
|
||||||
\
|
|
||||||
__retval; \
|
|
||||||
})
|
|
||||||
|
|
||||||
#define __HAVE_ARCH_MEMCMP
|
|
||||||
int memcmp(const void *,const void *,__kernel_size_t);
|
|
||||||
|
|
||||||
/* Now the str*() stuff... */
|
/* Now the str*() stuff... */
|
||||||
#define __HAVE_ARCH_STRLEN
|
#define __HAVE_ARCH_STRLEN
|
||||||
__kernel_size_t strlen(const char *);
|
__kernel_size_t strlen(const char *);
|
||||||
|
|
||||||
#define __HAVE_ARCH_STRNCMP
|
|
||||||
int strncmp(const char *, const char *, __kernel_size_t);
|
|
||||||
|
|
||||||
#endif /* !EXPORT_SYMTAB_STROPS */
|
|
||||||
|
|
||||||
#endif /* __KERNEL__ */
|
|
||||||
|
|
||||||
#endif /* !(__SPARC64_STRING_H__) */
|
#endif /* !(__SPARC64_STRING_H__) */
|
||||||
|
@ -141,11 +141,6 @@ x:
|
|||||||
retl
|
retl
|
||||||
nop ! Only bcopy returns here and it retuns void...
|
nop ! Only bcopy returns here and it retuns void...
|
||||||
|
|
||||||
#ifdef __KERNEL__
|
|
||||||
FUNC(amemmove)
|
|
||||||
FUNC(__memmove)
|
|
||||||
EXPORT_SYMBOL(__memmove)
|
|
||||||
#endif
|
|
||||||
FUNC(memmove)
|
FUNC(memmove)
|
||||||
EXPORT_SYMBOL(memmove)
|
EXPORT_SYMBOL(memmove)
|
||||||
cmp %o0, %o1
|
cmp %o0, %o1
|
||||||
|
Loading…
Reference in New Issue
Block a user