diff options
| author | "Steven J. Hill" <sjhill@realitydiluted.com> | 2006-08-18 03:29:53 +0000 | 
|---|---|---|
| committer | "Steven J. Hill" <sjhill@realitydiluted.com> | 2006-08-18 03:29:53 +0000 | 
| commit | c2759552726a64bc739bda6aa25ebc631c153805 (patch) | |
| tree | 9f1abf4e49d6bd9e3b5174a220f43f20b6758d44 /libc/string/sparc | |
| parent | 86875334fe99f65094df97edd8d6812c3dcebfef (diff) | |
| download | uClibc-alpine-c2759552726a64bc739bda6aa25ebc631c153805.tar.bz2 uClibc-alpine-c2759552726a64bc739bda6aa25ebc631c153805.tar.xz  | |
Merge from trunk.
Diffstat (limited to 'libc/string/sparc')
| -rw-r--r-- | libc/string/sparc/sparc32/memcpy.S | 4 | ||||
| -rw-r--r-- | libc/string/sparc/sparc32/memset.S | 6 | ||||
| -rw-r--r-- | libc/string/sparc/sparc32/strchr.S | 6 | ||||
| -rw-r--r-- | libc/string/sparc/sparc64/memcpy.S | 3 | ||||
| -rw-r--r-- | libc/string/sparc/sparc64/memset.S | 5 | ||||
| -rw-r--r-- | libc/string/sparc/sparc64/sparcv9b/memcpy.S | 4 | ||||
| -rw-r--r-- | libc/string/sparc/sparc64/strchr.S | 5 | 
7 files changed, 33 insertions, 0 deletions
diff --git a/libc/string/sparc/sparc32/memcpy.S b/libc/string/sparc/sparc32/memcpy.S index fb79a601a..25a48844d 100644 --- a/libc/string/sparc/sparc32/memcpy.S +++ b/libc/string/sparc/sparc32/memcpy.S @@ -21,6 +21,8 @@     Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA     02111-1307 USA.  */ +#include <features.h> +  /* Both these macros have to start with exactly the same insn */  #define MOVE_BIGCHUNK(src, dst, offset, t0, t1, t2, t3, t4, t5, t6, t7) 				\  	ldd	[%src + offset + 0x00], %t0; 								\ @@ -161,11 +163,13 @@  	b		3f  	 sub		%o0, 2, %o0 +#ifdef __UCLIBC_SUSV3_LEGACY__  ENTRY(bcopy)  	mov		%o0, %o3  	mov		%o1, %o0  	mov		%o3, %o1  END(bcopy) +#endif  ENTRY(memmove)  	cmp		%o0, %o1 diff --git a/libc/string/sparc/sparc32/memset.S b/libc/string/sparc/sparc32/memset.S index d5e1350f2..6c6424cf8 100644 --- a/libc/string/sparc/sparc32/memset.S +++ b/libc/string/sparc/sparc32/memset.S @@ -20,6 +20,8 @@     Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA     02111-1307 USA.  */ +#include <features.h> +  	/* Store 64 bytes at (BASE + OFFSET) using value SOURCE. */  #define ZERO_BIG_BLOCK(base, offset, source)    	\  	std		source, [base + offset + 0x00]; \ @@ -43,9 +45,11 @@  	.text  	.align 4 +#ifdef __UCLIBC_SUSV3_LEGACY__  ENTRY(bzero)  	b		1f  	 mov		%g0, %g3 +#endif  3:	cmp		%o2, 3  	be		2f @@ -60,7 +64,9 @@ ENTRY(bzero)  	add		%o1, %o2, %o1  	b		4f  	 sub		%o0, %o2, %o0 +#ifdef __UCLIBC_SUSV3_LEGACY__  END(bzero) +#endif  ENTRY(memset)  	and		%o1, 0xff, %g3 diff --git a/libc/string/sparc/sparc32/strchr.S b/libc/string/sparc/sparc32/strchr.S index d06bbe3cc..16710d4e8 100644 --- a/libc/string/sparc/sparc32/strchr.S +++ b/libc/string/sparc/sparc32/strchr.S @@ -35,6 +35,8 @@  	   in these days for an average user.  	 */ +#include <features.h> +  	.text  	.align		4  10:	ldub		[%o0], %g4 @@ -217,7 +219,9 @@ ENTRY(strchr)  	 ld		[%o0], %g4  END(strchr)  libc_hidden_def(strchr) +#ifdef __UCLIBC_SUSV3_LEGACY__  strong_alias(strchr,index) +#endif  ENTRY(strrchr)  	andcc		%o1, 0xff, %o1 @@ -278,4 +282,6 @@ ENTRY(strrchr)  	 mov		%o5, %o0  END(strrchr)  libc_hidden_def(strrchr) +#ifdef __UCLIBC_SUSV3_LEGACY__  strong_alias(strrchr,rindex) +#endif diff --git a/libc/string/sparc/sparc64/memcpy.S b/libc/string/sparc/sparc64/memcpy.S index 2fdff7b52..db63d1da2 100644 --- a/libc/string/sparc/sparc64/memcpy.S +++ b/libc/string/sparc/sparc64/memcpy.S @@ -20,6 +20,7 @@     Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA     02111-1307 USA.  */ +#include <features.h>  #include <asm/asi.h>  #ifndef XCC  #define USE_BPR @@ -191,6 +192,7 @@  	.text  	.align		32 +#ifdef __UCLIBC_SUSV3_LEGACY__  ENTRY(bcopy)  	sub		%o1, %o0, %o4			/* IEU0		Group		*/  	mov		%o0, %g3			/* IEU1				*/ @@ -206,6 +208,7 @@ ENTRY(bcopy)  	retl  	 nop  END(bcopy) +#endif  	.align		32  200:	be,pt		%xcc, 201f			/* CTI				*/ diff --git a/libc/string/sparc/sparc64/memset.S b/libc/string/sparc/sparc64/memset.S index 284713556..50e404bcc 100644 --- a/libc/string/sparc/sparc64/memset.S +++ b/libc/string/sparc/sparc64/memset.S @@ -20,6 +20,7 @@     Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA     02111-1307 USA.  */ +#include <features.h>  #include <asm/asi.h>  #ifndef XCC  #define XCC xcc @@ -191,11 +192,13 @@ libc_hidden_def(memset)  	.text  	.align		32 +#ifdef __UCLIBC_SUSV3_LEGACY__  ENTRY(bzero)  #ifndef USE_BPR  	srl		%o1, 0, %o1  #endif  	mov		%o0, %o5 +#endif  50:	cmp		%o1, 7  	bleu,pn		%xcc, 17f  	 andcc		%o0, 3, %o2 @@ -309,4 +312,6 @@ ENTRY(bzero)  	 stb		%g0, [%o0 - 1]  0:	retl  	 mov		%o5, %o0 +#ifdef __UCLIBC_SUSV3_LEGACY__  END(bzero) +#endif diff --git a/libc/string/sparc/sparc64/sparcv9b/memcpy.S b/libc/string/sparc/sparc64/sparcv9b/memcpy.S index b49c9cde9..64f6a92e0 100644 --- a/libc/string/sparc/sparc64/sparcv9b/memcpy.S +++ b/libc/string/sparc/sparc64/sparcv9b/memcpy.S @@ -19,6 +19,8 @@     Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA     02111-1307 USA.  */ +#include <features.h> +  #define ASI_BLK_P 0xf0  #define FPRS_FEF  0x04  #define VISEntryHalf rd %fprs, %o5; wr %g0, FPRS_FEF, %fprs @@ -36,6 +38,7 @@  	.text  	.align	32 +#ifdef __UCLIBC_SUSV3_LEGACY__  ENTRY(bcopy)  	sub		%o1, %o0, %o4  	mov		%o0, %g4 @@ -51,6 +54,7 @@ ENTRY(bcopy)  	retl  	 nop  END(bcopy) +#endif  	/* Special/non-trivial issues of this code:  	 * diff --git a/libc/string/sparc/sparc64/strchr.S b/libc/string/sparc/sparc64/strchr.S index 6a371352a..da26d1f9c 100644 --- a/libc/string/sparc/sparc64/strchr.S +++ b/libc/string/sparc/sparc64/strchr.S @@ -20,6 +20,7 @@     Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA     02111-1307 USA.  */ +#include <features.h>  #include <asm/asi.h>  #ifndef XCC  #define XCC xcc @@ -329,7 +330,9 @@ ENTRY(strchr)  	 add		%o0, -1, %o0			/* IEU0				*/  END(strchr)  libc_hidden_def(strchr) +#ifdef __UCLIBC_SUSV3_LEGACY__  strong_alias(strchr,index) +#endif  	.align		32  ENTRY(strrchr) @@ -478,4 +481,6 @@ ENTRY(strrchr)  	 ldx		[%o0], %o3			/* Load				*/  END(strrchr)  libc_hidden_def(strrchr) +#ifdef __UCLIBC_SUSV3_LEGACY__  strong_alias(strrchr,rindex) +#endif  | 
