summaryrefslogtreecommitdiff
path: root/libc/string/sparc/sparc64
diff options
context:
space:
mode:
authorPeter S. Mazinger <ps.m@gmx.net>2006-03-23 17:19:42 +0000
committerPeter S. Mazinger <ps.m@gmx.net>2006-03-23 17:19:42 +0000
commita26ac41c4946e3ebe4fab0ce6677350b644eb158 (patch)
tree2b607eeef3aeffb7dab2815252c2f40c353599e6 /libc/string/sparc/sparc64
parent9f853a2642cc28e982ccf1ba45abd36ff0988e11 (diff)
Add new option for SuSv3 legacy functions and use it for bcopy/bzero/bcmp/index/rindex
Diffstat (limited to 'libc/string/sparc/sparc64')
-rw-r--r--libc/string/sparc/sparc64/memcpy.S3
-rw-r--r--libc/string/sparc/sparc64/memset.S3
-rw-r--r--libc/string/sparc/sparc64/sparcv9b/memcpy.S4
-rw-r--r--libc/string/sparc/sparc64/strchr.S5
4 files changed, 15 insertions, 0 deletions
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..79c1d74b6 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,6 +192,7 @@ libc_hidden_def(memset)
.text
.align 32
+#ifdef __UCLIBC_SUSV3_LEGACY__
ENTRY(bzero)
#ifndef USE_BPR
srl %o1, 0, %o1
@@ -310,3 +312,4 @@ ENTRY(bzero)
0: retl
mov %o5, %o0
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