From cb39b41371628601fbe4c618205356d538b9d08a Mon Sep 17 00:00:00 2001 From: millert Date: Fri, 15 May 2015 22:29:37 +0000 Subject: [PATCH] Make index/rindex weak aliases of strchr/strrchr since they are not part of the ISO C standard and have also been dropped from POSIX. OK guenther@ kettenis@ --- lib/libc/arch/alpha/string/Makefile.inc | 4 +- lib/libc/arch/amd64/string/strchr.S | 4 +- lib/libc/arch/amd64/string/strrchr.S | 4 +- lib/libc/arch/arm/string/Makefile.inc | 4 +- lib/libc/arch/hppa/string/Makefile.inc | 4 +- lib/libc/arch/hppa64/string/Makefile.inc | 4 +- lib/libc/arch/i386/string/strchr.S | 4 +- lib/libc/arch/i386/string/strrchr.S | 4 +- lib/libc/arch/m88k/string/Makefile.inc | 4 +- lib/libc/arch/mips64/string/strchr.S | 5 ++- lib/libc/arch/mips64/string/strrchr.S | 5 ++- lib/libc/arch/powerpc/string/Makefile.inc | 4 +- lib/libc/arch/sh/string/Makefile.inc | 4 +- lib/libc/arch/sparc/string/Makefile.inc | 6 +-- lib/libc/arch/sparc64/string/Makefile.inc | 6 +-- lib/libc/arch/vax/string/Makefile.inc | 4 +- lib/libc/arch/vax/string/strchr.S | 4 +- lib/libc/string/index.c | 43 ---------------------- lib/libc/string/rindex.c | 45 ----------------------- lib/libc/string/strchr.c | 4 +- lib/libc/string/strrchr.c | 4 +- 21 files changed, 44 insertions(+), 126 deletions(-) delete mode 100644 lib/libc/string/index.c delete mode 100644 lib/libc/string/rindex.c diff --git a/lib/libc/arch/alpha/string/Makefile.inc b/lib/libc/arch/alpha/string/Makefile.inc index ddb3d1ccd79..c925a3755ee 100644 --- a/lib/libc/arch/alpha/string/Makefile.inc +++ b/lib/libc/arch/alpha/string/Makefile.inc @@ -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 \ diff --git a/lib/libc/arch/amd64/string/strchr.S b/lib/libc/arch/amd64/string/strchr.S index 0415b0379c2..1abef2e629d 100644 --- a/lib/libc/arch/amd64/string/strchr.S +++ b/lib/libc/arch/amd64/string/strchr.S @@ -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 -STRONG_ALIAS(index, strchr) +WEAK_ALIAS(index, strchr) /* * On entry %rdi is the buffer and the low byte of %rsi (%sil) the diff --git a/lib/libc/arch/amd64/string/strrchr.S b/lib/libc/arch/amd64/string/strrchr.S index 342ab89c5cb..6aa8041dc0a 100644 --- a/lib/libc/arch/amd64/string/strrchr.S +++ b/lib/libc/arch/amd64/string/strrchr.S @@ -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 -STRONG_ALIAS(rindex, strrchr) +WEAK_ALIAS(rindex, strrchr) ENTRY(strrchr) movzbq %sil,%rcx diff --git a/lib/libc/arch/arm/string/Makefile.inc b/lib/libc/arch/arm/string/Makefile.inc index 62bf85c164d..31d00db19c3 100644 --- a/lib/libc/arch/arm/string/Makefile.inc +++ b/lib/libc/arch/arm/string/Makefile.inc @@ -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 \ diff --git a/lib/libc/arch/hppa/string/Makefile.inc b/lib/libc/arch/hppa/string/Makefile.inc index 7dc5311d52a..41064652c70 100644 --- a/lib/libc/arch/hppa/string/Makefile.inc +++ b/lib/libc/arch/hppa/string/Makefile.inc @@ -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 \ diff --git a/lib/libc/arch/hppa64/string/Makefile.inc b/lib/libc/arch/hppa64/string/Makefile.inc index c15d3a9e7e9..87894646865 100644 --- a/lib/libc/arch/hppa64/string/Makefile.inc +++ b/lib/libc/arch/hppa64/string/Makefile.inc @@ -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 \ diff --git a/lib/libc/arch/i386/string/strchr.S b/lib/libc/arch/i386/string/strchr.S index 6d36a589d19..f8cd8e6589a 100644 --- a/lib/libc/arch/i386/string/strchr.S +++ b/lib/libc/arch/i386/string/strchr.S @@ -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 . * Public domain. @@ -6,7 +6,7 @@ #include -STRONG_ALIAS(index, strchr) +WEAK_ALIAS(index, strchr) ENTRY(strchr) movl 4(%esp),%eax diff --git a/lib/libc/arch/i386/string/strrchr.S b/lib/libc/arch/i386/string/strrchr.S index 8507e6ce43c..738c369b378 100644 --- a/lib/libc/arch/i386/string/strrchr.S +++ b/lib/libc/arch/i386/string/strrchr.S @@ -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 . * Public domain. @@ -6,7 +6,7 @@ #include -STRONG_ALIAS(rindex, strrchr) +WEAK_ALIAS(rindex, strrchr) ENTRY(strrchr) pushl %ebx diff --git a/lib/libc/arch/m88k/string/Makefile.inc b/lib/libc/arch/m88k/string/Makefile.inc index 7b625a40761..e04f156a233 100644 --- a/lib/libc/arch/m88k/string/Makefile.inc +++ b/lib/libc/arch/m88k/string/Makefile.inc @@ -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 \ diff --git a/lib/libc/arch/mips64/string/strchr.S b/lib/libc/arch/mips64/string/strchr.S index 7add0c9218f..a5a12c53940 100644 --- a/lib/libc/arch/mips64/string/strchr.S +++ b/lib/libc/arch/mips64/string/strchr.S @@ -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 +WEAK_ALIAS(index, strchr) + LEAF(strchr, 0) -ALEAF(index) .set reorder 0: lbu a2, 0(a0) # get a byte diff --git a/lib/libc/arch/mips64/string/strrchr.S b/lib/libc/arch/mips64/string/strrchr.S index 7797d3af0ad..a7f5b74c320 100644 --- a/lib/libc/arch/mips64/string/strrchr.S +++ b/lib/libc/arch/mips64/string/strrchr.S @@ -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 +WEAK_ALIAS(rindex, strrchr) + LEAF(strrchr, 0) -ALEAF(rindex) .set reorder move v0, zero # default if not found 1: diff --git a/lib/libc/arch/powerpc/string/Makefile.inc b/lib/libc/arch/powerpc/string/Makefile.inc index 2ebd39efb71..4a97429a2c3 100644 --- a/lib/libc/arch/powerpc/string/Makefile.inc +++ b/lib/libc/arch/powerpc/string/Makefile.inc @@ -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 \ diff --git a/lib/libc/arch/sh/string/Makefile.inc b/lib/libc/arch/sh/string/Makefile.inc index 92fb923cf52..e18591ff667 100644 --- a/lib/libc/arch/sh/string/Makefile.inc +++ b/lib/libc/arch/sh/string/Makefile.inc @@ -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 diff --git a/lib/libc/arch/sparc/string/Makefile.inc b/lib/libc/arch/sparc/string/Makefile.inc index 7210c950c49..93aac247a4b 100644 --- a/lib/libc/arch/sparc/string/Makefile.inc +++ b/lib/libc/arch/sparc/string/Makefile.inc @@ -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 diff --git a/lib/libc/arch/sparc64/string/Makefile.inc b/lib/libc/arch/sparc64/string/Makefile.inc index ede646f31d8..58341fe3858 100644 --- a/lib/libc/arch/sparc64/string/Makefile.inc +++ b/lib/libc/arch/sparc64/string/Makefile.inc @@ -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 diff --git a/lib/libc/arch/vax/string/Makefile.inc b/lib/libc/arch/vax/string/Makefile.inc index 220353865f7..a246341aed2 100644 --- a/lib/libc/arch/vax/string/Makefile.inc +++ b/lib/libc/arch/vax/string/Makefile.inc @@ -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 diff --git a/lib/libc/arch/vax/string/strchr.S b/lib/libc/arch/vax/string/strchr.S index c4be0974dfb..9d1b75423e7 100644 --- a/lib/libc/arch/vax/string/strchr.S +++ b/lib/libc/arch/vax/string/strchr.S @@ -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 index ebae15afe7e..00000000000 --- a/lib/libc/string/index.c +++ /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 - -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 index 23716f6af32..00000000000 --- a/lib/libc/string/rindex.c +++ /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 - -char * -rindex(const char *p, int ch) -{ - char *save; - - for (save = NULL;; ++p) { - if (*p == ch) - save = (char *)p; - if (!*p) - return(save); - } - /* NOTREACHED */ -} diff --git a/lib/libc/string/strchr.c b/lib/libc/string/strchr.c index 20f2faeb111..596e407c9bd 100644 --- a/lib/libc/string/strchr.c +++ b/lib/libc/string/strchr.c @@ -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 +__weak_alias(index, strchr); + char * strchr(const char *p, int ch) { diff --git a/lib/libc/string/strrchr.c b/lib/libc/string/strrchr.c index b2f17fba287..181f56ea698 100644 --- a/lib/libc/string/strrchr.c +++ b/lib/libc/string/strrchr.c @@ -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 +__weak_alias(rindex, strrchr); + char * strrchr(const char *p, int ch) { -- 2.20.1