]> git.neil.brown.name Git - history.git/commitdiff
[SPARC64]: Kill bogus __strlen symbol and strncmp inline cruft.
authorDavid S. Miller <davem@nuts.davemloft.net>
Mon, 23 Aug 2004 07:35:39 +0000 (00:35 -0700)
committerDavid S. Miller <davem@nuts.davemloft.net>
Mon, 23 Aug 2004 07:35:39 +0000 (00:35 -0700)
Signed-off-by: David S. Miller <davem@redhat.com>
arch/sparc64/kernel/sparc64_ksyms.c
arch/sparc64/lib/strlen.S
arch/sparc64/lib/strncmp.S
include/asm-sparc64/string.h

index c5f29fc79d9bbaebcd9f2a5653e14165e0348821..b3d456e47290c0233730bf6ca7d5a1675973dcfb 100644 (file)
@@ -74,8 +74,6 @@ extern void *__bzero(void *, size_t);
 extern void *__memscan_zero(void *, size_t);
 extern void *__memscan_generic(void *, int, size_t);
 extern int __memcmp(const void *, const void *, __kernel_size_t);
-extern int __strncmp(const char *, const char *, __kernel_size_t);
-extern __kernel_size_t __strlen(const char *);
 extern __kernel_size_t strlen(const char *);
 extern void linux_sparc_syscall(void);
 extern void rtrap(void);
@@ -295,7 +293,6 @@ EXPORT_SYMBOL(__prom_getchild);
 EXPORT_SYMBOL(__prom_getsibling);
 
 /* sparc library symbols */
-EXPORT_SYMBOL(__strlen);
 EXPORT_SYMBOL(strlen);
 EXPORT_SYMBOL(strnlen);
 EXPORT_SYMBOL(__strlen_user);
@@ -341,7 +338,6 @@ EXPORT_SYMBOL(__bzero);
 EXPORT_SYMBOL(__memscan_zero);
 EXPORT_SYMBOL(__memscan_generic);
 EXPORT_SYMBOL(__memcmp);
-EXPORT_SYMBOL(__strncmp);
 EXPORT_SYMBOL(__memset);
 EXPORT_SYMBOL(memchr);
 
@@ -376,6 +372,7 @@ EXPORT_SYMBOL_NOVERS(memcmp);
 EXPORT_SYMBOL_NOVERS(memcpy);
 EXPORT_SYMBOL_NOVERS(memset);
 EXPORT_SYMBOL_NOVERS(memmove);
+EXPORT_SYMBOL_NOVERS(strncmp);
 
 void VISenter(void);
 /* RAID code needs this */
index 55527f6393848f400f791b6b291aade8a1cd8be4..d05cf45ce5c883f1cb067a79d48d1cf14440539e 100644 (file)
@@ -9,9 +9,8 @@
 #define HI_MAGIC 0x80808080
 
        .align  32
-       .global strlen, __strlen
+       .global strlen
 strlen:
-__strlen:
        mov     %o0, %o1
        andcc   %o0, 3, %g0
        be,pt   %icc, 9f
index 474ba72964c9f617b3d5a122f11e4911ab00b870..fa059d09306de22357ff4cff3da2bf6305472bd4 100644 (file)
@@ -8,8 +8,7 @@
 
        .text
        .align 4
-       .global __strncmp, strncmp
-__strncmp:
+       .global strncmp
 strncmp:
        brlez,pn %o2, 3f
         lduba  [%o0] (ASI_PNF), %o3
index 03daf05ad7a0dd9e1bbb9df176ada7c3e20e4256..c7d88622cb27776d5ba77dcb59061bcd267cfc98 100644 (file)
@@ -71,73 +71,10 @@ extern int memcmp(const void *,const void *,__kernel_size_t);
 
 /* Now the str*() stuff... */
 #define __HAVE_ARCH_STRLEN
-
-extern __kernel_size_t __strlen(const char *);
 extern __kernel_size_t strlen(const char *);
 
 #define __HAVE_ARCH_STRNCMP
-
-extern int __strncmp(const char *, const char *, __kernel_size_t);
-
-static inline int __constant_strncmp(const char *src, const char *dest, __kernel_size_t count)
-{
-       register int retval;
-       switch(count) {
-       case 0: return 0;
-       case 1: return (src[0] - dest[0]);
-       case 2: retval = (src[0] - dest[0]);
-               if(!retval && src[0])
-                 retval = (src[1] - dest[1]);
-               return retval;
-       case 3: retval = (src[0] - dest[0]);
-               if(!retval && src[0]) {
-                 retval = (src[1] - dest[1]);
-                 if(!retval && src[1])
-                   retval = (src[2] - dest[2]);
-               }
-               return retval;
-       case 4: retval = (src[0] - dest[0]);
-               if(!retval && src[0]) {
-                 retval = (src[1] - dest[1]);
-                 if(!retval && src[1]) {
-                   retval = (src[2] - dest[2]);
-                   if (!retval && src[2])
-                     retval = (src[3] - dest[3]);
-                 }
-               }
-               return retval;
-       case 5: retval = (src[0] - dest[0]);
-               if(!retval && src[0]) {
-                 retval = (src[1] - dest[1]);
-                 if(!retval && src[1]) {
-                   retval = (src[2] - dest[2]);
-                   if (!retval && src[2]) {
-                     retval = (src[3] - dest[3]);
-                     if (!retval && src[3])
-                       retval = (src[4] - dest[4]);
-                   }
-                 }
-               }
-               return retval;
-       default:
-               retval = (src[0] - dest[0]);
-               if(!retval && src[0]) {
-                 retval = (src[1] - dest[1]);
-                 if(!retval && src[1]) {
-                   retval = (src[2] - dest[2]);
-                   if(!retval && src[2])
-                     retval = __strncmp(src+3,dest+3,count-3);
-                 }
-               }
-               return retval;
-       }
-}
-
-#undef strncmp
-#define strncmp(__arg0, __arg1, __arg2)        \
-(__builtin_constant_p(__arg2) ?        \
- __constant_strncmp(__arg0, __arg1, __arg2) : \
- __strncmp(__arg0, __arg1, __arg2))
+extern int strncmp(const char *, const char *, __kernel_size_t);
 
 #endif /* !EXPORT_SYMTAB_STROPS */