Make index/rindex weak aliases of strchr/strrchr since they are not
authormillert <millert@openbsd.org>
Fri, 15 May 2015 22:29:37 +0000 (22:29 +0000)
committermillert <millert@openbsd.org>
Fri, 15 May 2015 22:29:37 +0000 (22:29 +0000)
part of the ISO C standard and have also been dropped from POSIX.
OK guenther@ kettenis@

21 files changed:
lib/libc/arch/alpha/string/Makefile.inc
lib/libc/arch/amd64/string/strchr.S
lib/libc/arch/amd64/string/strrchr.S
lib/libc/arch/arm/string/Makefile.inc
lib/libc/arch/hppa/string/Makefile.inc
lib/libc/arch/hppa64/string/Makefile.inc
lib/libc/arch/i386/string/strchr.S
lib/libc/arch/i386/string/strrchr.S
lib/libc/arch/m88k/string/Makefile.inc
lib/libc/arch/mips64/string/strchr.S
lib/libc/arch/mips64/string/strrchr.S
lib/libc/arch/powerpc/string/Makefile.inc
lib/libc/arch/sh/string/Makefile.inc
lib/libc/arch/sparc/string/Makefile.inc
lib/libc/arch/sparc64/string/Makefile.inc
lib/libc/arch/vax/string/Makefile.inc
lib/libc/arch/vax/string/strchr.S
lib/libc/string/index.c [deleted file]
lib/libc/string/rindex.c [deleted file]
lib/libc/string/strchr.c
lib/libc/string/strrchr.c

index ddb3d1c..c925a37 100644 (file)
@@ -1,7 +1,7 @@
-#      $OpenBSD: Makefile.inc,v 1.8 2014/11/30 19:43:54 deraadt Exp $
+#      $OpenBSD: Makefile.inc,v 1.9 2015/05/15 22:29:37 millert Exp $
 
 SRCS+= bcopy.S memcpy.c memmove.S \
-       index.c rindex.c strchr.c strrchr.c \
+       strchr.c strrchr.c \
        bzero.S ffs.S \
        memchr.c memcmp.c memset.c strcat.c bcmp.c \
        strcmp.c strcpy.c strcspn.c strlen.c strlcat.c strlcpy.c \
index 0415b03..1abef2e 100644 (file)
@@ -1,4 +1,4 @@
-/*     $OpenBSD: strchr.S,v 1.4 2014/12/09 15:10:39 reyk Exp $ */
+/*     $OpenBSD: strchr.S,v 1.5 2015/05/15 22:29:37 millert Exp $      */
 /*     $NetBSD: strchr.S,v 1.7 2014/03/22 19:16:34 jakllsch Exp $      */
 
 /*-
@@ -34,7 +34,7 @@
 
 #include <machine/asm.h>
 
-STRONG_ALIAS(index, strchr)
+WEAK_ALIAS(index, strchr)
 
 /*
  * On entry %rdi is the buffer and the low byte of %rsi (%sil) the
index 342ab89..6aa8041 100644 (file)
@@ -1,4 +1,4 @@
-/*     $OpenBSD: strrchr.S,v 1.4 2014/12/09 15:10:39 reyk Exp $        */
+/*     $OpenBSD: strrchr.S,v 1.5 2015/05/15 22:29:37 millert Exp $     */
 /*     $NetBSD: strrchr.S,v 1.3 2014/03/22 19:16:34 jakllsch Exp $     */
 
 /*
@@ -8,7 +8,7 @@
 
 #include <machine/asm.h>
 
-STRONG_ALIAS(rindex, strrchr)
+WEAK_ALIAS(rindex, strrchr)
 
 ENTRY(strrchr)
        movzbq  %sil,%rcx
index 62bf85c..31d00db 100644 (file)
@@ -1,7 +1,7 @@
-#      $OpenBSD: Makefile.inc,v 1.7 2014/11/30 19:43:56 deraadt Exp $
+#      $OpenBSD: Makefile.inc,v 1.8 2015/05/15 22:29:37 millert Exp $
 
 SRCS+= bcopy.S memcpy.c memmove.S _memcpy.S \
-       index.c rindex.c strchr.c strrchr.c \
+       strchr.c strrchr.c \
        bcmp.c bzero.S ffs.S memchr.c memcmp.S memset.S \
        strcmp.S strncmp.S \
        strcat.c strcpy.c strcspn.c strlen.c strlcat.c strlcpy.c \
index 7dc5311..4106465 100644 (file)
@@ -1,7 +1,7 @@
-#      $OpenBSD: Makefile.inc,v 1.9 2014/12/05 01:30:44 deraadt Exp $
+#      $OpenBSD: Makefile.inc,v 1.10 2015/05/15 22:29:37 millert Exp $
 
 SRCS+= memmove.S memcpy.c \
-       index.c rindex.c strchr.c strrchr.c \
+       strchr.c strrchr.c \
        bcmp.c bzero.c ffs.c memchr.c memcmp.c \
        memset.c strcat.c strcmp.c strcpy.c strcspn.c strlen.c \
        strlcat.c strlcpy.c strncat.c strncmp.c strncpy.c \
index c15d3a9..8789464 100644 (file)
@@ -1,7 +1,7 @@
-#      $OpenBSD: Makefile.inc,v 1.3 2014/11/30 19:43:56 deraadt Exp $
+#      $OpenBSD: Makefile.inc,v 1.4 2015/05/15 22:29:37 millert Exp $
 
 SRCS+= bcopy.c memcpy.c memmove.c \
-       index.c rindex.c strchr.c strrchr.c \
+       strchr.c strrchr.c \
        bcmp.c bzero.c ffs.c memchr.c memcmp.c \
        memset.c strcat.c strcmp.c strcpy.c strcspn.c strlen.c \
        strlcat.c strlcpy.c strncat.c strncmp.c strncpy.c \
index 6d36a58..f8cd8e6 100644 (file)
@@ -1,4 +1,4 @@
-/*     $OpenBSD: strchr.S,v 1.5 2015/05/14 21:40:37 kettenis Exp $ */
+/*     $OpenBSD: strchr.S,v 1.6 2015/05/15 22:29:37 millert Exp $ */
 /*
  * Written by J.T. Conklin <jtc@netbsd.org>.
  * Public domain.
@@ -6,7 +6,7 @@
 
 #include <machine/asm.h>
 
-STRONG_ALIAS(index, strchr)
+WEAK_ALIAS(index, strchr)
 
 ENTRY(strchr)
        movl    4(%esp),%eax
index 8507e6c..738c369 100644 (file)
@@ -1,4 +1,4 @@
-/*     $OpenBSD: strrchr.S,v 1.5 2015/05/14 21:40:37 kettenis Exp $ */
+/*     $OpenBSD: strrchr.S,v 1.6 2015/05/15 22:29:37 millert Exp $ */
 /*
  * Written by J.T. Conklin <jtc@netbsd.org>.
  * Public domain.
@@ -6,7 +6,7 @@
 
 #include <machine/asm.h>
 
-STRONG_ALIAS(rindex, strrchr)
+WEAK_ALIAS(rindex, strrchr)
 
 ENTRY(strrchr)
        pushl   %ebx
index 7b625a4..e04f156 100644 (file)
@@ -1,7 +1,7 @@
-#      $OpenBSD: Makefile.inc,v 1.6 2014/11/30 19:43:56 deraadt Exp $
+#      $OpenBSD: Makefile.inc,v 1.7 2015/05/15 22:29:37 millert Exp $
 
 SRCS+= bcopy.c memcpy.c memmove.c \
-       index.c rindex.c strchr.c strrchr.c \
+       strchr.c strrchr.c \
        bcmp.c  bzero.c ffs.c memchr.c memcmp.c \
        memset.c strcat.c strcmp.c strcpy.c strcspn.c \
        strlen.c strlcat.c strlcpy.c strncat.c strncmp.c \
index 7add0c9..a5a12c5 100644 (file)
@@ -1,4 +1,4 @@
-/*     $OpenBSD: strchr.S,v 1.1 2014/11/30 19:43:56 deraadt Exp $ */
+/*     $OpenBSD: strchr.S,v 1.2 2015/05/15 22:29:37 millert Exp $ */
 /*-
  * Copyright (c) 1991, 1993
  *     The Regents of the University of California.  All rights reserved.
@@ -33,8 +33,9 @@
 
 #include <machine/asm.h>
 
+WEAK_ALIAS(index, strchr)
+
 LEAF(strchr, 0)
-ALEAF(index)
        .set    reorder
 0:
        lbu     a2, 0(a0)               # get a byte
index 7797d3a..a7f5b74 100644 (file)
@@ -1,4 +1,4 @@
-/*     $OpenBSD: strrchr.S,v 1.1 2014/11/30 19:43:56 deraadt Exp $ */
+/*     $OpenBSD: strrchr.S,v 1.2 2015/05/15 22:29:37 millert Exp $ */
 /*-
  * Copyright (c) 1991, 1993
  *     The Regents of the University of California.  All rights reserved.
@@ -33,8 +33,9 @@
 
 #include <machine/asm.h>
 
+WEAK_ALIAS(rindex, strrchr)
+
 LEAF(strrchr, 0)
-ALEAF(rindex)
        .set    reorder
        move    v0, zero                # default if not found
 1:
index 2ebd39e..4a97429 100644 (file)
@@ -1,7 +1,7 @@
-#      $OpenBSD: Makefile.inc,v 1.5 2014/12/04 12:10:26 deraadt Exp $
+#      $OpenBSD: Makefile.inc,v 1.6 2015/05/15 22:29:37 millert Exp $
 
 SRCS+= memcpy.c memmove.S \
-       index.c rindex.c strchr.c strrchr.c \
+       strchr.c strrchr.c \
        bcmp.c bzero.c ffs.c memchr.c memcmp.c memset.c strcat.c \
        strcmp.c strcpy.c strcspn.c strlen.c strlcat.c strlcpy.c \
        strncat.c strncmp.c strncpy.c strpbrk.c strsep.c \
index 92fb923..e18591f 100644 (file)
@@ -1,8 +1,8 @@
-#      $OpenBSD: Makefile.inc,v 1.4 2014/11/30 19:43:56 deraadt Exp $
+#      $OpenBSD: Makefile.inc,v 1.5 2015/05/15 22:29:37 millert Exp $
 
 SRCS+= bcopy.S memcpy.c memmove.S \
        bzero.S ffs.S memset.S \
-       index.c rindex.c strchr.c strrchr.c \
+       strchr.c strrchr.c \
        bcmp.c memcmp.c memchr.c strcat.c strcmp.c strcpy.c strcspn.c \
        strlen.c strlcat.c strlcpy.c strncat.c strncmp.c strncpy.c \
        strpbrk.c strsep.c strspn.c strstr.c swab.c
index 7210c95..93aac24 100644 (file)
@@ -1,9 +1,9 @@
-#      $OpenBSD: Makefile.inc,v 1.6 2014/11/30 19:43:56 deraadt Exp $
+#      $OpenBSD: Makefile.inc,v 1.7 2015/05/15 22:29:37 millert Exp $
 
 SRCS+= bcopy.c memcpy.c memmove.c \
        ffs.S strlen.S bzero.S \
-       bcmp.c index.c memchr.c memcmp.c \
-       memset.c rindex.c strcat.c strchr.c \
+       bcmp.c memchr.c memcmp.c \
+       memset.c strcat.c strchr.c \
        strcmp.c strcpy.c strcspn.c strlcat.c strlcpy.c \
        strncat.c strncmp.c strncpy.c strpbrk.c strrchr.c strsep.c \
        strspn.c strstr.c swab.c
index ede646f..58341fe 100644 (file)
@@ -1,10 +1,10 @@
-#      $OpenBSD: Makefile.inc,v 1.4 2014/11/30 19:43:56 deraadt Exp $
+#      $OpenBSD: Makefile.inc,v 1.5 2015/05/15 22:29:37 millert Exp $
 
 SRCS+= bcopy.c memcpy.c memmove.c \
        ffs.S \
        strlen.S \
-       bcmp.c bzero.c index.c memchr.c memcmp.c \
-       memset.c rindex.c strcat.c strchr.c \
+       bcmp.c bzero.c memchr.c memcmp.c \
+       memset.c strcat.c strchr.c \
        strcmp.c strcpy.c strcspn.c strlcat.c strlcpy.c \
        strncat.c strncmp.c strncpy.c strpbrk.c strrchr.c strsep.c \
        strspn.c strstr.c swab.c
index 2203538..a246341 100644 (file)
@@ -1,9 +1,9 @@
-#      $OpenBSD: Makefile.inc,v 1.9 2014/11/30 19:43:56 deraadt Exp $
+#      $OpenBSD: Makefile.inc,v 1.10 2015/05/15 22:29:37 millert Exp $
 
 SRCS+= bcopy.S memcpy.c memmove.S \
        bcmp.S bzero.S ffs.S memchr.c memcmp.S \
        memset.S \
-       strchr.S rindex.c strrchr.c \
+       strchr.S strrchr.c \
        strcat.c strcmp.c strcpy.c strcspn.c strlen.c strlcat.c \
        strlcpy.c strncat.c strncmp.c strncpy.c strpbrk.c \
        strsep.c strspn.c strstr.c swab.c
index c4be097..9d1b754 100644 (file)
@@ -1,4 +1,4 @@
-/*     $OpenBSD: strchr.S,v 1.1 2014/11/30 19:43:56 deraadt Exp $ */
+/*     $OpenBSD: strchr.S,v 1.2 2015/05/15 22:29:37 millert Exp $ */
 /*
  * Copyright (c) 1980, 1993
  *     The Regents of the University of California.  All rights reserved.
@@ -38,7 +38,7 @@
 
 /* Alas not quite twice as fast as the generic C version on a uvax2 */
 
-STRONG_ALIAS(index, strchr)
+WEAK_ALIAS(index, strchr)
 ENTRY(strchr, 0)
        movq    4(%ap),%r0      # r0 = cp; r1 = c
        tstb    %r1             # special case, looking for '\0'
diff --git a/lib/libc/string/index.c b/lib/libc/string/index.c
deleted file mode 100644 (file)
index ebae15a..0000000
+++ /dev/null
@@ -1,43 +0,0 @@
-/*     $OpenBSD: index.c,v 1.6 2014/11/30 19:43:56 deraadt Exp $ */
-/*-
- * Copyright (c) 1990 The Regents of the University of California.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- * 3. Neither the name of the University nor the names of its contributors
- *    may be used to endorse or promote products derived from this software
- *    without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- */
-
-#include <string.h>
-
-char *
-index(const char *p, int ch)
-{
-       for (;; ++p) {
-               if (*p == ch)
-                       return((char *)p);
-               if (!*p)
-                       return((char *)NULL);
-       }
-       /* NOTREACHED */
-}
diff --git a/lib/libc/string/rindex.c b/lib/libc/string/rindex.c
deleted file mode 100644 (file)
index 23716f6..0000000
+++ /dev/null
@@ -1,45 +0,0 @@
-/*     $OpenBSD: rindex.c,v 1.7 2014/11/30 19:43:56 deraadt Exp $ */
-/*
- * Copyright (c) 1988 Regents of the University of California.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- * 3. Neither the name of the University nor the names of its contributors
- *    may be used to endorse or promote products derived from this software
- *    without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- */
-
-#include <string.h>
-
-char *
-rindex(const char *p, int ch)
-{
-       char *save;
-
-       for (save = NULL;; ++p) {
-               if (*p == ch)
-                       save = (char *)p;
-               if (!*p)
-                       return(save);
-       }
-       /* NOTREACHED */
-}
index 20f2fae..596e407 100644 (file)
@@ -1,4 +1,4 @@
-/*     $OpenBSD: strchr.c,v 1.1 2014/11/30 19:43:57 deraadt Exp $ */
+/*     $OpenBSD: strchr.c,v 1.2 2015/05/15 22:29:37 millert Exp $ */
 /*-
  * Copyright (c) 1990 The Regents of the University of California.
  * All rights reserved.
@@ -30,6 +30,8 @@
 
 #include <string.h>
 
+__weak_alias(index, strchr);
+
 char *
 strchr(const char *p, int ch)
 {
index b2f17fb..181f56e 100644 (file)
@@ -1,4 +1,4 @@
-/*     $OpenBSD: strrchr.c,v 1.1 2014/11/30 19:43:57 deraadt Exp $ */
+/*     $OpenBSD: strrchr.c,v 1.2 2015/05/15 22:29:37 millert Exp $ */
 /*
  * Copyright (c) 1988 Regents of the University of California.
  * All rights reserved.
@@ -30,6 +30,8 @@
 
 #include <string.h>
 
+__weak_alias(rindex, strrchr);
+
 char *
 strrchr(const char *p, int ch)
 {