This is the mail archive of the glibc-cvs@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

GNU C Library master sources branch master updated. glibc-2.16-ports-merge-497-g228cfb0


This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU C Library master sources".

The branch, master has been updated
       via  228cfb018a162ad3df239f4cb7f2ed2368b6da5e (commit)
       via  69f07e5fd1a68cc2d2363394fdab3882b83082b2 (commit)
       via  de54b33a3df1de0a2fd0197bec9ab9397298d39a (commit)
      from  88481c163885767a6617823314802aa772271804 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://sources.redhat.com/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=228cfb018a162ad3df239f4cb7f2ed2368b6da5e

commit 228cfb018a162ad3df239f4cb7f2ed2368b6da5e
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Fri Oct 19 22:13:34 2012 -0700

    Add wcsmbs IFUNC tests

diff --git a/ChangeLog b/ChangeLog
index de7470c..1fbb602 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,14 @@
 2012-10-20  H.J. Lu  <hongjiu.lu@intel.com>
 
+	* wcsmbs/Makefile (tests-ifunc): New variable.
+	(tests): Add $(tests-ifunc).
+	* wcsmbs/test-wcschr-ifunc.c: New file.
+	* wcsmbs/test-wcscmp-ifunc.c: Likewise.
+	* wcsmbs/test-wcscpy-ifunc.c: Likewise.
+	* wcsmbs/test-wcslen-ifunc.c: Likewise.
+	* wcsmbs/test-wcsrchr-ifunc.c: Likewise.
+	* wcsmbs/test-wmemcmp-ifunc.c: Likewise.
+
 	* string/Makefile (tests-ifunc): New variable.
 	(tests): Add $(tests-ifunc).
 	* string/test-memccpy.c (TEST_NAME): New macro.
diff --git a/wcsmbs/Makefile b/wcsmbs/Makefile
index 7402ec9..37e379c 100644
--- a/wcsmbs/Makefile
+++ b/wcsmbs/Makefile
@@ -45,6 +45,8 @@ strop-tests :=  wcscmp wmemcmp wcslen wcschr wcsrchr wcscpy
 tests := tst-wcstof wcsmbs-tst1 tst-wcsnlen tst-btowc tst-mbrtowc \
 	 tst-wcrtomb tst-wcpncpy tst-mbsrtowcs tst-wchar-h tst-mbrtowc2 \
 	 tst-c16c32-1 wcsatcliff $(addprefix test-,$(strop-tests))
+tests-ifunc := $(strop-tests:%=test-%-ifunc)
+tests += $(tests-ifunc)
 
 include ../Rules
 
diff --git a/wcsmbs/test-wcschr-ifunc.c b/wcsmbs/test-wcschr-ifunc.c
new file mode 100644
index 0000000..f550d51
--- /dev/null
+++ b/wcsmbs/test-wcschr-ifunc.c
@@ -0,0 +1,20 @@
+/* Test and measure IFUNC implementations of wcschr function.
+   Copyright (C) 2012 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#define TEST_IFUNC 1
+#include "test-wcschr.c"
diff --git a/wcsmbs/test-wcscmp-ifunc.c b/wcsmbs/test-wcscmp-ifunc.c
new file mode 100644
index 0000000..bef97d9
--- /dev/null
+++ b/wcsmbs/test-wcscmp-ifunc.c
@@ -0,0 +1,20 @@
+/* Test and measure IFUNC implementations of wcscmp function.
+   Copyright (C) 2012 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#define TEST_IFUNC 1
+#include "test-wcscmp.c"
diff --git a/wcsmbs/test-wcscpy-ifunc.c b/wcsmbs/test-wcscpy-ifunc.c
new file mode 100644
index 0000000..0e38971
--- /dev/null
+++ b/wcsmbs/test-wcscpy-ifunc.c
@@ -0,0 +1,20 @@
+/* Test and measure IFUNC implementations of wcscpy function.
+   Copyright (C) 2012 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#define TEST_IFUNC 1
+#include "test-wcscpy.c"
diff --git a/wcsmbs/test-wcslen-ifunc.c b/wcsmbs/test-wcslen-ifunc.c
new file mode 100644
index 0000000..baac78f
--- /dev/null
+++ b/wcsmbs/test-wcslen-ifunc.c
@@ -0,0 +1,20 @@
+/* Test and measure IFUNC implementations of wcslen function.
+   Copyright (C) 2012 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#define TEST_IFUNC 1
+#include "test-wcslen.c"
diff --git a/wcsmbs/test-wcsrchr-ifunc.c b/wcsmbs/test-wcsrchr-ifunc.c
new file mode 100644
index 0000000..28a5106
--- /dev/null
+++ b/wcsmbs/test-wcsrchr-ifunc.c
@@ -0,0 +1,20 @@
+/* Test and measure IFUNC implementations of wcsrchr function.
+   Copyright (C) 2012 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#define TEST_IFUNC 1
+#include "test-wcsrchr.c"
diff --git a/wcsmbs/test-wmemcmp-ifunc.c b/wcsmbs/test-wmemcmp-ifunc.c
new file mode 100644
index 0000000..a6110b4
--- /dev/null
+++ b/wcsmbs/test-wmemcmp-ifunc.c
@@ -0,0 +1,20 @@
+/* Test and measure IFUNC implementations of wmemcmp function.
+   Copyright (C) 2012 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#define TEST_IFUNC 1
+#include "test-wmemcmp.c"

http://sources.redhat.com/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=69f07e5fd1a68cc2d2363394fdab3882b83082b2

commit 69f07e5fd1a68cc2d2363394fdab3882b83082b2
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Fri Oct 19 22:04:19 2012 -0700

    Add string IFUNC tests

diff --git a/ChangeLog b/ChangeLog
index 5caa361..de7470c 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,65 @@
 2012-10-20  H.J. Lu  <hongjiu.lu@intel.com>
 
+	* string/Makefile (tests-ifunc): New variable.
+	(tests): Add $(tests-ifunc).
+	* string/test-memccpy.c (TEST_NAME): New macro.
+	* string/test-memchr.c (TEST_NAME): Likewise.
+	* string/test-memcmp.c (TEST_NAME): Likewise.
+	* string/test-memcpy.c (TEST_NAME): Likewise.
+	* string/test-memmem.c (TEST_NAME): Likewise.
+	* string/test-memmove.c (TEST_NAME): Likewise.
+	* string/test-memset.c (TEST_NAME): Likewise.
+	* string/test-rawmemchr.c (TEST_NAME): Likewise.
+	* string/test-stpcpy.c (TEST_NAME): Likewise.
+	* string/test-stpncpy.c (TEST_NAME): Likewise.
+	* string/test-strcasecmp.c (TEST_NAME): Likewise.
+	* string/test-strcasestr.c (TEST_NAME): Likewise.
+	* string/test-strcat.c (TEST_NAME): Likewise.
+	* string/test-strchr.c (TEST_NAME): Likewise.
+	* string/test-strcmp.c(TEST_NAME): Likewise.
+	* string/test-strcpy.c (TEST_NAME): Likewise.
+	* string/test-strcspn.c (TEST_NAME): Likewise.
+	* string/test-strlen.c (TEST_NAME): Likewise.
+	* string/test-strncasecmp.c (TEST_NAME): Likewise.
+	* string/test-strncmp.c (TEST_NAME): Likewise.
+	* string/test-strncpy.c (TEST_NAME): Likewise.
+	* string/test-strnlen.c (TEST_NAME): Likewise.
+	* string/test-strpbrk.c (TEST_NAME): Likewise.
+	* string/test-strrchr.c (TEST_NAME): Likewise.
+	* string/test-strspn.c (TEST_NAME): Likewise.
+	* string/test-strstr.c (TEST_NAME): Likewise.
+	* string/test-bcopy-ifunc.c: New file.
+	* string/test-bzero-ifunc.c: Likewise.
+	* string/test-memccpy-ifunc.c: Likewise.
+	* string/test-memchr-ifunc.c: Likewise.
+	* string/test-memcmp-ifunc.c: Likewise.
+	* string/test-memcpy-ifunc.c: Likewise.
+	* string/test-memmem-ifunc.c: Likewise.
+	* string/test-memmove-ifunc.c: Likewise.
+	* string/test-mempcpy-ifunc.c: Likewise.
+	* string/test-memset-ifunc.c: Likewise.
+	* string/test-rawmemchr-ifunc.c: Likewise.
+	* string/test-stpcpy-ifunc.c: Likewise.
+	* string/test-stpncpy-ifunc.c: Likewise.
+	* string/test-strcasecmp-ifunc.c: Likewise.
+	* string/test-strcasestr-ifunc.c: Likewise.
+	* string/test-strcat-ifunc.c: Likewise.
+	* string/test-strchr-ifunc.c: Likewise.
+	* string/test-strchrnul-ifunc.c: Likewise.
+	* string/test-strcmp-ifunc.c: Likewise.
+	* string/test-strcpy-ifunc.c: Likewise.
+	* string/test-strcspn-ifunc.c: Likewise.
+	* string/test-strlen-ifunc.c: Likewise.
+	* string/test-strncasecmp-ifunc.c: Likewise.
+	* string/test-strncat-ifunc.c: Likewise.
+	* string/test-strncmp-ifunc.c: Likewise.
+	* string/test-strncpy-ifunc.c: Likewise.
+	* string/test-strnlen-ifunc.c: Likewise.
+	* string/test-strpbrk-ifunc.c: Likewise.
+	* string/test-strrchr-ifunc.c: Likewise.
+	* string/test-strspn-ifunc.c: Likewise.
+	* string/test-strstr-ifunc.c: Likewise.
+
 	* debug/Makefile (tests-ifunc): New variable.
 	(tests): Add $(tests-ifunc).
 	* debug/test-stpcpy_chk.c (TEST_NAME): New macro.
diff --git a/string/Makefile b/string/Makefile
index 8d1db74..54eae70 100644
--- a/string/Makefile
+++ b/string/Makefile
@@ -58,6 +58,8 @@ tests		:= tester inl-tester noinl-tester testcopy test-ffs	\
 		   bug-envz1 tst-strxfrm2 tst-endian tst-svc2		\
 		   tst-strtok_r
 
+tests-ifunc := $(strop-tests:%=test-%-ifunc)
+tests += $(tests-ifunc)
 
 include ../Rules
 
diff --git a/string/test-stpcpy.c b/string/test-bcopy-ifunc.c
similarity index 61%
copy from string/test-stpcpy.c
copy to string/test-bcopy-ifunc.c
index accc05c..21be43c 100644
--- a/string/test-stpcpy.c
+++ b/string/test-bcopy-ifunc.c
@@ -1,7 +1,6 @@
-/* Test and measure stpcpy functions.
-   Copyright (C) 1999, 2002 Free Software Foundation, Inc.
+/* Test and measure IFUNC implementations of bcopy function.
+   Copyright (C) 2012 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
-   Written by Jakub Jelinek <jakub@redhat.com>, 1999.
 
    The GNU C Library is free software; you can redistribute it and/or
    modify it under the terms of the GNU Lesser General Public
@@ -17,20 +16,5 @@
    License along with the GNU C Library; if not, see
    <http://www.gnu.org/licenses/>.  */
 
-#define STRCPY_RESULT(dst, len) ((dst) + (len))
-#define TEST_MAIN
-#include "test-string.h"
-
-char *simple_stpcpy (char *, const char *);
-
-IMPL (simple_stpcpy, 0)
-IMPL (stpcpy, 1)
-
-char *
-simple_stpcpy (char *dst, const char *src)
-{
-  while ((*dst++ = *src++) != '\0');
-  return dst - 1;
-}
-
-#include "test-strcpy.c"
+#define TEST_IFUNC 1
+#include "test-bcopy.c"
diff --git a/string/test-stpcpy.c b/string/test-bzero-ifunc.c
similarity index 61%
copy from string/test-stpcpy.c
copy to string/test-bzero-ifunc.c
index accc05c..0b3b456 100644
--- a/string/test-stpcpy.c
+++ b/string/test-bzero-ifunc.c
@@ -1,7 +1,6 @@
-/* Test and measure stpcpy functions.
-   Copyright (C) 1999, 2002 Free Software Foundation, Inc.
+/* Test and measure IFUNC implementations of bzero function.
+   Copyright (C) 2012 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
-   Written by Jakub Jelinek <jakub@redhat.com>, 1999.
 
    The GNU C Library is free software; you can redistribute it and/or
    modify it under the terms of the GNU Lesser General Public
@@ -17,20 +16,5 @@
    License along with the GNU C Library; if not, see
    <http://www.gnu.org/licenses/>.  */
 
-#define STRCPY_RESULT(dst, len) ((dst) + (len))
-#define TEST_MAIN
-#include "test-string.h"
-
-char *simple_stpcpy (char *, const char *);
-
-IMPL (simple_stpcpy, 0)
-IMPL (stpcpy, 1)
-
-char *
-simple_stpcpy (char *dst, const char *src)
-{
-  while ((*dst++ = *src++) != '\0');
-  return dst - 1;
-}
-
-#include "test-strcpy.c"
+#define TEST_IFUNC 1
+#include "test-bzero.c"
diff --git a/string/test-stpcpy.c b/string/test-memccpy-ifunc.c
similarity index 61%
copy from string/test-stpcpy.c
copy to string/test-memccpy-ifunc.c
index accc05c..3efaeff 100644
--- a/string/test-stpcpy.c
+++ b/string/test-memccpy-ifunc.c
@@ -1,7 +1,6 @@
-/* Test and measure stpcpy functions.
-   Copyright (C) 1999, 2002 Free Software Foundation, Inc.
+/* Test and measure IFUNC implementations of memccpy function.
+   Copyright (C) 2012 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
-   Written by Jakub Jelinek <jakub@redhat.com>, 1999.
 
    The GNU C Library is free software; you can redistribute it and/or
    modify it under the terms of the GNU Lesser General Public
@@ -17,20 +16,5 @@
    License along with the GNU C Library; if not, see
    <http://www.gnu.org/licenses/>.  */
 
-#define STRCPY_RESULT(dst, len) ((dst) + (len))
-#define TEST_MAIN
-#include "test-string.h"
-
-char *simple_stpcpy (char *, const char *);
-
-IMPL (simple_stpcpy, 0)
-IMPL (stpcpy, 1)
-
-char *
-simple_stpcpy (char *dst, const char *src)
-{
-  while ((*dst++ = *src++) != '\0');
-  return dst - 1;
-}
-
-#include "test-strcpy.c"
+#define TEST_IFUNC 1
+#include "test-memccpy.c"
diff --git a/string/test-memccpy.c b/string/test-memccpy.c
index 8fa96bc..05940ee 100644
--- a/string/test-memccpy.c
+++ b/string/test-memccpy.c
@@ -1,5 +1,5 @@
 /* Test and measure memccpy functions.
-   Copyright (C) 1999, 2002, 2003, 2005 Free Software Foundation, Inc.
+   Copyright (C) 1999-2012 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Written by Jakub Jelinek <jakub@redhat.com>, 1999.
 
@@ -18,6 +18,7 @@
    <http://www.gnu.org/licenses/>.  */
 
 #define TEST_MAIN
+#define TEST_NAME "memccpy"
 #include "test-string.h"
 
 void *simple_memccpy (void *, const void *, int, size_t);
diff --git a/string/test-stpcpy.c b/string/test-memchr-ifunc.c
similarity index 61%
copy from string/test-stpcpy.c
copy to string/test-memchr-ifunc.c
index accc05c..e1e8b44 100644
--- a/string/test-stpcpy.c
+++ b/string/test-memchr-ifunc.c
@@ -1,7 +1,6 @@
-/* Test and measure stpcpy functions.
-   Copyright (C) 1999, 2002 Free Software Foundation, Inc.
+/* Test and measure IFUNC implementations of memchr function.
+   Copyright (C) 2012 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
-   Written by Jakub Jelinek <jakub@redhat.com>, 1999.
 
    The GNU C Library is free software; you can redistribute it and/or
    modify it under the terms of the GNU Lesser General Public
@@ -17,20 +16,5 @@
    License along with the GNU C Library; if not, see
    <http://www.gnu.org/licenses/>.  */
 
-#define STRCPY_RESULT(dst, len) ((dst) + (len))
-#define TEST_MAIN
-#include "test-string.h"
-
-char *simple_stpcpy (char *, const char *);
-
-IMPL (simple_stpcpy, 0)
-IMPL (stpcpy, 1)
-
-char *
-simple_stpcpy (char *dst, const char *src)
-{
-  while ((*dst++ = *src++) != '\0');
-  return dst - 1;
-}
-
-#include "test-strcpy.c"
+#define TEST_IFUNC 1
+#include "test-memchr.c"
diff --git a/string/test-memchr.c b/string/test-memchr.c
index 315726d..cad639b 100644
--- a/string/test-memchr.c
+++ b/string/test-memchr.c
@@ -1,5 +1,5 @@
 /* Test and measure memchr functions.
-   Copyright (C) 1999, 2002, 2003, 2005, 2009 Free Software Foundation, Inc.
+   Copyright (C) 1999-2012 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Written by Jakub Jelinek <jakub@redhat.com>, 1999.
 
@@ -18,6 +18,7 @@
    <http://www.gnu.org/licenses/>.  */
 
 #define TEST_MAIN
+#define TEST_NAME "memchr"
 #include "test-string.h"
 
 typedef char *(*proto_t) (const char *, int, size_t);
diff --git a/string/test-stpcpy.c b/string/test-memcmp-ifunc.c
similarity index 61%
copy from string/test-stpcpy.c
copy to string/test-memcmp-ifunc.c
index accc05c..6a8f418 100644
--- a/string/test-stpcpy.c
+++ b/string/test-memcmp-ifunc.c
@@ -1,7 +1,6 @@
-/* Test and measure stpcpy functions.
-   Copyright (C) 1999, 2002 Free Software Foundation, Inc.
+/* Test and measure IFUNC implementations of memcmp function.
+   Copyright (C) 2012 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
-   Written by Jakub Jelinek <jakub@redhat.com>, 1999.
 
    The GNU C Library is free software; you can redistribute it and/or
    modify it under the terms of the GNU Lesser General Public
@@ -17,20 +16,5 @@
    License along with the GNU C Library; if not, see
    <http://www.gnu.org/licenses/>.  */
 
-#define STRCPY_RESULT(dst, len) ((dst) + (len))
-#define TEST_MAIN
-#include "test-string.h"
-
-char *simple_stpcpy (char *, const char *);
-
-IMPL (simple_stpcpy, 0)
-IMPL (stpcpy, 1)
-
-char *
-simple_stpcpy (char *dst, const char *src)
-{
-  while ((*dst++ = *src++) != '\0');
-  return dst - 1;
-}
-
-#include "test-strcpy.c"
+#define TEST_IFUNC 1
+#include "test-memcmp.c"
diff --git a/string/test-memcmp.c b/string/test-memcmp.c
index 69076d0..fc9d4d2 100644
--- a/string/test-memcmp.c
+++ b/string/test-memcmp.c
@@ -19,6 +19,11 @@
    <http://www.gnu.org/licenses/>.  */
 
 #define TEST_MAIN
+#ifdef WIDE
+# define TEST_NAME "wmemcmp"
+#else
+# define TEST_NAME "memcmp"
+#endif
 #include "test-string.h"
 #ifdef WIDE
 # include <inttypes.h>
diff --git a/string/test-mempcpy.c b/string/test-memcpy-ifunc.c
similarity index 62%
copy from string/test-mempcpy.c
copy to string/test-memcpy-ifunc.c
index c021a66..4195bba 100644
--- a/string/test-mempcpy.c
+++ b/string/test-memcpy-ifunc.c
@@ -1,7 +1,6 @@
-/* Test and measure mempcpy functions.
-   Copyright (C) 1999, 2002 Free Software Foundation, Inc.
+/* Test and measure IFUNC implementations of memcpy function.
+   Copyright (C) 2012 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
-   Written by Jakub Jelinek <jakub@redhat.com>, 1999.
 
    The GNU C Library is free software; you can redistribute it and/or
    modify it under the terms of the GNU Lesser General Public
@@ -17,21 +16,5 @@
    License along with the GNU C Library; if not, see
    <http://www.gnu.org/licenses/>.  */
 
-#define MEMCPY_RESULT(dst, len) (dst) + (len)
-#define TEST_MAIN
-#include "test-string.h"
-
-char *simple_mempcpy (char *, const char *, size_t);
-
-IMPL (simple_mempcpy, 0)
-IMPL (mempcpy, 1)
-
-char *
-simple_mempcpy (char *dst, const char *src, size_t n)
-{
-  while (n--)
-    *dst++ = *src++;
-  return dst;
-}
-
+#define TEST_IFUNC 1
 #include "test-memcpy.c"
diff --git a/string/test-memcpy.c b/string/test-memcpy.c
index 311b4b4..1340c75 100644
--- a/string/test-memcpy.c
+++ b/string/test-memcpy.c
@@ -1,5 +1,5 @@
 /* Test and measure memcpy functions.
-   Copyright (C) 1999, 2002, 2003, 2005 Free Software Foundation, Inc.
+   Copyright (C) 1999-2012 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Written by Jakub Jelinek <jakub@redhat.com>, 1999.
 
@@ -21,6 +21,7 @@
 # define MEMCPY_RESULT(dst, len) dst
 # define MIN_PAGE_SIZE 131072
 # define TEST_MAIN
+# define TEST_NAME "memcpy"
 # include "test-string.h"
 
 char *simple_memcpy (char *, const char *, size_t);
diff --git a/string/test-stpcpy.c b/string/test-memmem-ifunc.c
similarity index 61%
copy from string/test-stpcpy.c
copy to string/test-memmem-ifunc.c
index accc05c..12c32d9 100644
--- a/string/test-stpcpy.c
+++ b/string/test-memmem-ifunc.c
@@ -1,7 +1,6 @@
-/* Test and measure stpcpy functions.
-   Copyright (C) 1999, 2002 Free Software Foundation, Inc.
+/* Test and measure IFUNC implementations of memmem function.
+   Copyright (C) 2012 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
-   Written by Jakub Jelinek <jakub@redhat.com>, 1999.
 
    The GNU C Library is free software; you can redistribute it and/or
    modify it under the terms of the GNU Lesser General Public
@@ -17,20 +16,5 @@
    License along with the GNU C Library; if not, see
    <http://www.gnu.org/licenses/>.  */
 
-#define STRCPY_RESULT(dst, len) ((dst) + (len))
-#define TEST_MAIN
-#include "test-string.h"
-
-char *simple_stpcpy (char *, const char *);
-
-IMPL (simple_stpcpy, 0)
-IMPL (stpcpy, 1)
-
-char *
-simple_stpcpy (char *dst, const char *src)
-{
-  while ((*dst++ = *src++) != '\0');
-  return dst - 1;
-}
-
-#include "test-strcpy.c"
+#define TEST_IFUNC 1
+#include "test-memmem.c"
diff --git a/string/test-memmem.c b/string/test-memmem.c
index 5f32a0e..6ca1188 100644
--- a/string/test-memmem.c
+++ b/string/test-memmem.c
@@ -1,5 +1,5 @@
 /* Test and measure memmem functions.
-   Copyright (C) 2008 Free Software Foundation, Inc.
+   Copyright (C) 2008-2012 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Written by Ulrich Drepper <drepper@redhat.com>, 2008.
 
@@ -18,6 +18,7 @@
    <http://www.gnu.org/licenses/>.  */
 
 #define TEST_MAIN
+#define TEST_NAME "memmem"
 #define BUF1PAGES 20
 #define ITERATIONS 500
 #include "test-string.h"
diff --git a/string/test-stpcpy.c b/string/test-memmove-ifunc.c
similarity index 61%
copy from string/test-stpcpy.c
copy to string/test-memmove-ifunc.c
index accc05c..377cffd 100644
--- a/string/test-stpcpy.c
+++ b/string/test-memmove-ifunc.c
@@ -1,7 +1,6 @@
-/* Test and measure stpcpy functions.
-   Copyright (C) 1999, 2002 Free Software Foundation, Inc.
+/* Test and measure IFUNC implementations of memmove function.
+   Copyright (C) 2012 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
-   Written by Jakub Jelinek <jakub@redhat.com>, 1999.
 
    The GNU C Library is free software; you can redistribute it and/or
    modify it under the terms of the GNU Lesser General Public
@@ -17,20 +16,5 @@
    License along with the GNU C Library; if not, see
    <http://www.gnu.org/licenses/>.  */
 
-#define STRCPY_RESULT(dst, len) ((dst) + (len))
-#define TEST_MAIN
-#include "test-string.h"
-
-char *simple_stpcpy (char *, const char *);
-
-IMPL (simple_stpcpy, 0)
-IMPL (stpcpy, 1)
-
-char *
-simple_stpcpy (char *dst, const char *src)
-{
-  while ((*dst++ = *src++) != '\0');
-  return dst - 1;
-}
-
-#include "test-strcpy.c"
+#define TEST_IFUNC 1
+#include "test-memmove.c"
diff --git a/string/test-memmove.c b/string/test-memmove.c
index cbd40cd..13c5aff 100644
--- a/string/test-memmove.c
+++ b/string/test-memmove.c
@@ -18,6 +18,11 @@
    <http://www.gnu.org/licenses/>.  */
 
 #define TEST_MAIN
+#ifdef TEST_BCOPY
+# define TEST_NAME "bcopy"
+#else
+# define TEST_NAME "memmove"
+#endif
 #include "test-string.h"
 
 char *simple_memmove (char *, const char *, size_t);
diff --git a/string/test-stpcpy.c b/string/test-mempcpy-ifunc.c
similarity index 61%
copy from string/test-stpcpy.c
copy to string/test-mempcpy-ifunc.c
index accc05c..956a23f 100644
--- a/string/test-stpcpy.c
+++ b/string/test-mempcpy-ifunc.c
@@ -1,7 +1,6 @@
-/* Test and measure stpcpy functions.
-   Copyright (C) 1999, 2002 Free Software Foundation, Inc.
+/* Test and measure IFUNC implementations of mempcpy function.
+   Copyright (C) 2012 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
-   Written by Jakub Jelinek <jakub@redhat.com>, 1999.
 
    The GNU C Library is free software; you can redistribute it and/or
    modify it under the terms of the GNU Lesser General Public
@@ -17,20 +16,5 @@
    License along with the GNU C Library; if not, see
    <http://www.gnu.org/licenses/>.  */
 
-#define STRCPY_RESULT(dst, len) ((dst) + (len))
-#define TEST_MAIN
-#include "test-string.h"
-
-char *simple_stpcpy (char *, const char *);
-
-IMPL (simple_stpcpy, 0)
-IMPL (stpcpy, 1)
-
-char *
-simple_stpcpy (char *dst, const char *src)
-{
-  while ((*dst++ = *src++) != '\0');
-  return dst - 1;
-}
-
-#include "test-strcpy.c"
+#define TEST_IFUNC 1
+#include "test-mempcpy.c"
diff --git a/string/test-mempcpy.c b/string/test-mempcpy.c
index c021a66..1679e9d 100644
--- a/string/test-mempcpy.c
+++ b/string/test-mempcpy.c
@@ -1,5 +1,5 @@
 /* Test and measure mempcpy functions.
-   Copyright (C) 1999, 2002 Free Software Foundation, Inc.
+   Copyright (C) 1999-2012 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Written by Jakub Jelinek <jakub@redhat.com>, 1999.
 
@@ -19,6 +19,7 @@
 
 #define MEMCPY_RESULT(dst, len) (dst) + (len)
 #define TEST_MAIN
+#define TEST_NAME "mempcpy"
 #include "test-string.h"
 
 char *simple_mempcpy (char *, const char *, size_t);
diff --git a/string/test-stpcpy.c b/string/test-memset-ifunc.c
similarity index 61%
copy from string/test-stpcpy.c
copy to string/test-memset-ifunc.c
index accc05c..3e26aa3 100644
--- a/string/test-stpcpy.c
+++ b/string/test-memset-ifunc.c
@@ -1,7 +1,6 @@
-/* Test and measure stpcpy functions.
-   Copyright (C) 1999, 2002 Free Software Foundation, Inc.
+/* Test and measure IFUNC implementations of memset function.
+   Copyright (C) 2012 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
-   Written by Jakub Jelinek <jakub@redhat.com>, 1999.
 
    The GNU C Library is free software; you can redistribute it and/or
    modify it under the terms of the GNU Lesser General Public
@@ -17,20 +16,5 @@
    License along with the GNU C Library; if not, see
    <http://www.gnu.org/licenses/>.  */
 
-#define STRCPY_RESULT(dst, len) ((dst) + (len))
-#define TEST_MAIN
-#include "test-string.h"
-
-char *simple_stpcpy (char *, const char *);
-
-IMPL (simple_stpcpy, 0)
-IMPL (stpcpy, 1)
-
-char *
-simple_stpcpy (char *dst, const char *src)
-{
-  while ((*dst++ = *src++) != '\0');
-  return dst - 1;
-}
-
-#include "test-strcpy.c"
+#define TEST_IFUNC 1
+#include "test-memset.c"
diff --git a/string/test-memset.c b/string/test-memset.c
index e8dd406..af85a28 100644
--- a/string/test-memset.c
+++ b/string/test-memset.c
@@ -18,6 +18,11 @@
    <http://www.gnu.org/licenses/>.  */
 
 #define TEST_MAIN
+#ifdef TEST_BZERO
+# define TEST_NAME "bzero"
+#else
+# define TEST_NAME "memset"
+#endif
 #define MIN_PAGE_SIZE 131072
 #include "test-string.h"
 
diff --git a/string/test-stpcpy.c b/string/test-rawmemchr-ifunc.c
similarity index 61%
copy from string/test-stpcpy.c
copy to string/test-rawmemchr-ifunc.c
index accc05c..6181817 100644
--- a/string/test-stpcpy.c
+++ b/string/test-rawmemchr-ifunc.c
@@ -1,7 +1,6 @@
-/* Test and measure stpcpy functions.
-   Copyright (C) 1999, 2002 Free Software Foundation, Inc.
+/* Test and measure IFUNC implementations of rawmemchr function.
+   Copyright (C) 2012 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
-   Written by Jakub Jelinek <jakub@redhat.com>, 1999.
 
    The GNU C Library is free software; you can redistribute it and/or
    modify it under the terms of the GNU Lesser General Public
@@ -17,20 +16,5 @@
    License along with the GNU C Library; if not, see
    <http://www.gnu.org/licenses/>.  */
 
-#define STRCPY_RESULT(dst, len) ((dst) + (len))
-#define TEST_MAIN
-#include "test-string.h"
-
-char *simple_stpcpy (char *, const char *);
-
-IMPL (simple_stpcpy, 0)
-IMPL (stpcpy, 1)
-
-char *
-simple_stpcpy (char *dst, const char *src)
-{
-  while ((*dst++ = *src++) != '\0');
-  return dst - 1;
-}
-
-#include "test-strcpy.c"
+#define TEST_IFUNC 1
+#include "test-rawmemchr.c"
diff --git a/string/test-rawmemchr.c b/string/test-rawmemchr.c
index c8000d6..a3f2c11 100644
--- a/string/test-rawmemchr.c
+++ b/string/test-rawmemchr.c
@@ -1,5 +1,5 @@
 /* Test and measure memchr functions.
-   Copyright (C) 1999,2002,2003,2005,2009,2011 Free Software Foundation, Inc.
+   Copyright (C) 1999-2012 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Written by Jakub Jelinek <jakub@redhat.com>, 1999.
 
@@ -20,6 +20,7 @@
 #include <assert.h>
 
 #define TEST_MAIN
+#define TEST_NAME "rawmemchr"
 #include "test-string.h"
 
 typedef char *(*proto_t) (const char *, int);
diff --git a/string/test-stpcpy.c b/string/test-stpcpy-ifunc.c
similarity index 61%
copy from string/test-stpcpy.c
copy to string/test-stpcpy-ifunc.c
index accc05c..0715699 100644
--- a/string/test-stpcpy.c
+++ b/string/test-stpcpy-ifunc.c
@@ -1,7 +1,6 @@
-/* Test and measure stpcpy functions.
-   Copyright (C) 1999, 2002 Free Software Foundation, Inc.
+/* Test and measure IFUNC implementations of stpcpy function.
+   Copyright (C) 2012 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
-   Written by Jakub Jelinek <jakub@redhat.com>, 1999.
 
    The GNU C Library is free software; you can redistribute it and/or
    modify it under the terms of the GNU Lesser General Public
@@ -17,20 +16,5 @@
    License along with the GNU C Library; if not, see
    <http://www.gnu.org/licenses/>.  */
 
-#define STRCPY_RESULT(dst, len) ((dst) + (len))
-#define TEST_MAIN
-#include "test-string.h"
-
-char *simple_stpcpy (char *, const char *);
-
-IMPL (simple_stpcpy, 0)
-IMPL (stpcpy, 1)
-
-char *
-simple_stpcpy (char *dst, const char *src)
-{
-  while ((*dst++ = *src++) != '\0');
-  return dst - 1;
-}
-
-#include "test-strcpy.c"
+#define TEST_IFUNC 1
+#include "test-stpcpy.c"
diff --git a/string/test-stpcpy.c b/string/test-stpcpy.c
index accc05c..6a7af0c 100644
--- a/string/test-stpcpy.c
+++ b/string/test-stpcpy.c
@@ -1,5 +1,5 @@
 /* Test and measure stpcpy functions.
-   Copyright (C) 1999, 2002 Free Software Foundation, Inc.
+   Copyright (C) 1999-2012 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Written by Jakub Jelinek <jakub@redhat.com>, 1999.
 
@@ -19,6 +19,7 @@
 
 #define STRCPY_RESULT(dst, len) ((dst) + (len))
 #define TEST_MAIN
+#define TEST_NAME "stpcpy"
 #include "test-string.h"
 
 char *simple_stpcpy (char *, const char *);
diff --git a/string/test-stpcpy.c b/string/test-stpncpy-ifunc.c
similarity index 61%
copy from string/test-stpcpy.c
copy to string/test-stpncpy-ifunc.c
index accc05c..f61c367 100644
--- a/string/test-stpcpy.c
+++ b/string/test-stpncpy-ifunc.c
@@ -1,7 +1,6 @@
-/* Test and measure stpcpy functions.
-   Copyright (C) 1999, 2002 Free Software Foundation, Inc.
+/* Test and measure IFUNC implementations of stpncpy function.
+   Copyright (C) 2012 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
-   Written by Jakub Jelinek <jakub@redhat.com>, 1999.
 
    The GNU C Library is free software; you can redistribute it and/or
    modify it under the terms of the GNU Lesser General Public
@@ -17,20 +16,5 @@
    License along with the GNU C Library; if not, see
    <http://www.gnu.org/licenses/>.  */
 
-#define STRCPY_RESULT(dst, len) ((dst) + (len))
-#define TEST_MAIN
-#include "test-string.h"
-
-char *simple_stpcpy (char *, const char *);
-
-IMPL (simple_stpcpy, 0)
-IMPL (stpcpy, 1)
-
-char *
-simple_stpcpy (char *dst, const char *src)
-{
-  while ((*dst++ = *src++) != '\0');
-  return dst - 1;
-}
-
-#include "test-strcpy.c"
+#define TEST_IFUNC 1
+#include "test-stpncpy.c"
diff --git a/string/test-stpncpy.c b/string/test-stpncpy.c
index 8fb6d79..8647299 100644
--- a/string/test-stpncpy.c
+++ b/string/test-stpncpy.c
@@ -1,5 +1,5 @@
 /* Test and measure stpncpy functions.
-   Copyright (C) 1999, 2002 Free Software Foundation, Inc.
+   Copyright (C) 1999-2012 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Written by Jakub Jelinek <jakub@redhat.com>, 1999.
 
@@ -19,6 +19,7 @@
 
 #define STRNCPY_RESULT(dst, len, n) ((dst) + ((len) > (n) ? (n) : (len)))
 #define TEST_MAIN
+#define TEST_NAME "stpncpy"
 #include "test-string.h"
 
 char *simple_stpncpy (char *, const char *, size_t);
diff --git a/string/test-stpcpy.c b/string/test-strcasecmp-ifunc.c
similarity index 61%
copy from string/test-stpcpy.c
copy to string/test-strcasecmp-ifunc.c
index accc05c..f260dc8 100644
--- a/string/test-stpcpy.c
+++ b/string/test-strcasecmp-ifunc.c
@@ -1,7 +1,6 @@
-/* Test and measure stpcpy functions.
-   Copyright (C) 1999, 2002 Free Software Foundation, Inc.
+/* Test and measure IFUNC implementations of strcasecmp function.
+   Copyright (C) 2012 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
-   Written by Jakub Jelinek <jakub@redhat.com>, 1999.
 
    The GNU C Library is free software; you can redistribute it and/or
    modify it under the terms of the GNU Lesser General Public
@@ -17,20 +16,5 @@
    License along with the GNU C Library; if not, see
    <http://www.gnu.org/licenses/>.  */
 
-#define STRCPY_RESULT(dst, len) ((dst) + (len))
-#define TEST_MAIN
-#include "test-string.h"
-
-char *simple_stpcpy (char *, const char *);
-
-IMPL (simple_stpcpy, 0)
-IMPL (stpcpy, 1)
-
-char *
-simple_stpcpy (char *dst, const char *src)
-{
-  while ((*dst++ = *src++) != '\0');
-  return dst - 1;
-}
-
-#include "test-strcpy.c"
+#define TEST_IFUNC 1
+#include "test-strcasecmp.c"
diff --git a/string/test-strcasecmp.c b/string/test-strcasecmp.c
index 039d9c1..202ac60 100644
--- a/string/test-strcasecmp.c
+++ b/string/test-strcasecmp.c
@@ -1,5 +1,5 @@
 /* Test and measure strcasecmp functions.
-   Copyright (C) 1999, 2002, 2003, 2005, 2010 Free Software Foundation, Inc.
+   Copyright (C) 1999-2012 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Written by Jakub Jelinek <jakub@redhat.com>, 1999.
 
@@ -19,6 +19,7 @@
 
 #include <ctype.h>
 #define TEST_MAIN
+#define TEST_NAME "strcasecmp"
 #include "test-string.h"
 
 typedef int (*proto_t) (const char *, const char *);
diff --git a/string/test-stpcpy.c b/string/test-strcasestr-ifunc.c
similarity index 61%
copy from string/test-stpcpy.c
copy to string/test-strcasestr-ifunc.c
index accc05c..ae0d1bd 100644
--- a/string/test-stpcpy.c
+++ b/string/test-strcasestr-ifunc.c
@@ -1,7 +1,6 @@
-/* Test and measure stpcpy functions.
-   Copyright (C) 1999, 2002 Free Software Foundation, Inc.
+/* Test and measure IFUNC implementations of strcasestr function.
+   Copyright (C) 2012 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
-   Written by Jakub Jelinek <jakub@redhat.com>, 1999.
 
    The GNU C Library is free software; you can redistribute it and/or
    modify it under the terms of the GNU Lesser General Public
@@ -17,20 +16,5 @@
    License along with the GNU C Library; if not, see
    <http://www.gnu.org/licenses/>.  */
 
-#define STRCPY_RESULT(dst, len) ((dst) + (len))
-#define TEST_MAIN
-#include "test-string.h"
-
-char *simple_stpcpy (char *, const char *);
-
-IMPL (simple_stpcpy, 0)
-IMPL (stpcpy, 1)
-
-char *
-simple_stpcpy (char *dst, const char *src)
-{
-  while ((*dst++ = *src++) != '\0');
-  return dst - 1;
-}
-
-#include "test-strcpy.c"
+#define TEST_IFUNC 1
+#include "test-strcasestr.c"
diff --git a/string/test-strcasestr.c b/string/test-strcasestr.c
index fc01858..9a0f30c 100644
--- a/string/test-strcasestr.c
+++ b/string/test-strcasestr.c
@@ -1,5 +1,5 @@
 /* Test and measure strcasestr functions.
-   Copyright (C) 2010 Free Software Foundation, Inc.
+   Copyright (C) 2010-2012 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Written by Ulrich Drepper <drepper@redhat.com>, 2010.
 
@@ -18,6 +18,7 @@
    <http://www.gnu.org/licenses/>.  */
 
 #define TEST_MAIN
+#define TEST_NAME "strcasestr"
 #include "test-string.h"
 
 
diff --git a/string/test-stpcpy.c b/string/test-strcat-ifunc.c
similarity index 61%
copy from string/test-stpcpy.c
copy to string/test-strcat-ifunc.c
index accc05c..cf71c67 100644
--- a/string/test-stpcpy.c
+++ b/string/test-strcat-ifunc.c
@@ -1,7 +1,6 @@
-/* Test and measure stpcpy functions.
-   Copyright (C) 1999, 2002 Free Software Foundation, Inc.
+/* Test and measure IFUNC implementations of strcat function.
+   Copyright (C) 2012 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
-   Written by Jakub Jelinek <jakub@redhat.com>, 1999.
 
    The GNU C Library is free software; you can redistribute it and/or
    modify it under the terms of the GNU Lesser General Public
@@ -17,20 +16,5 @@
    License along with the GNU C Library; if not, see
    <http://www.gnu.org/licenses/>.  */
 
-#define STRCPY_RESULT(dst, len) ((dst) + (len))
-#define TEST_MAIN
-#include "test-string.h"
-
-char *simple_stpcpy (char *, const char *);
-
-IMPL (simple_stpcpy, 0)
-IMPL (stpcpy, 1)
-
-char *
-simple_stpcpy (char *dst, const char *src)
-{
-  while ((*dst++ = *src++) != '\0');
-  return dst - 1;
-}
-
-#include "test-strcpy.c"
+#define TEST_IFUNC 1
+#include "test-strcat.c"
diff --git a/string/test-strcat.c b/string/test-strcat.c
index 7dcd7bc..2d90d52 100644
--- a/string/test-strcat.c
+++ b/string/test-strcat.c
@@ -1,5 +1,5 @@
 /* Test and measure strcat functions.
-   Copyright (C) 1999, 2002, 2003, 2005 Free Software Foundation, Inc.
+   Copyright (C) 1999-2012 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Written by Jakub Jelinek <jakub@redhat.com>, 1999.
 
@@ -18,6 +18,7 @@
    <http://www.gnu.org/licenses/>.  */
 
 #define TEST_MAIN
+#define TEST_NAME "strcat"
 #include "test-string.h"
 
 typedef char *(*proto_t) (char *, const char *);
diff --git a/string/test-stpcpy.c b/string/test-strchr-ifunc.c
similarity index 61%
copy from string/test-stpcpy.c
copy to string/test-strchr-ifunc.c
index accc05c..b97b296 100644
--- a/string/test-stpcpy.c
+++ b/string/test-strchr-ifunc.c
@@ -1,7 +1,6 @@
-/* Test and measure stpcpy functions.
-   Copyright (C) 1999, 2002 Free Software Foundation, Inc.
+/* Test and measure IFUNC implementations of strchr function.
+   Copyright (C) 2012 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
-   Written by Jakub Jelinek <jakub@redhat.com>, 1999.
 
    The GNU C Library is free software; you can redistribute it and/or
    modify it under the terms of the GNU Lesser General Public
@@ -17,20 +16,5 @@
    License along with the GNU C Library; if not, see
    <http://www.gnu.org/licenses/>.  */
 
-#define STRCPY_RESULT(dst, len) ((dst) + (len))
-#define TEST_MAIN
-#include "test-string.h"
-
-char *simple_stpcpy (char *, const char *);
-
-IMPL (simple_stpcpy, 0)
-IMPL (stpcpy, 1)
-
-char *
-simple_stpcpy (char *dst, const char *src)
-{
-  while ((*dst++ = *src++) != '\0');
-  return dst - 1;
-}
-
-#include "test-strcpy.c"
+#define TEST_IFUNC 1
+#include "test-strchr.c"
diff --git a/string/test-strchr.c b/string/test-strchr.c
index 161ac45..1ed6966 100644
--- a/string/test-strchr.c
+++ b/string/test-strchr.c
@@ -1,5 +1,5 @@
 /* Test and measure STRCHR functions.
-   Copyright (C) 1999, 2002, 2003, 2011 Free Software Foundation, Inc.
+   Copyright (C) 1999-2012 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Written by Jakub Jelinek <jakub@redhat.com>, 1999.
    Added wcschr support by Liubov Dmitrieva <liubov.dmitrieva@gmail.com>, 2011
@@ -19,6 +19,15 @@
    <http://www.gnu.org/licenses/>.  */
 
 #define TEST_MAIN
+#ifndef WIDE
+# ifdef USE_FOR_STRCHRNUL
+#  define TEST_NAME "strchrnul"
+# else
+#  define TEST_NAME "strchr"
+# endif
+#else
+# define TEST_NAME "wcschr"
+#endif
 #include "test-string.h"
 
 #ifndef WIDE
diff --git a/string/test-stpcpy.c b/string/test-strchrnul-ifunc.c
similarity index 61%
copy from string/test-stpcpy.c
copy to string/test-strchrnul-ifunc.c
index accc05c..aacedb9 100644
--- a/string/test-stpcpy.c
+++ b/string/test-strchrnul-ifunc.c
@@ -1,7 +1,6 @@
-/* Test and measure stpcpy functions.
-   Copyright (C) 1999, 2002 Free Software Foundation, Inc.
+/* Test and measure IFUNC implementations of strchrnul function.
+   Copyright (C) 2012 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
-   Written by Jakub Jelinek <jakub@redhat.com>, 1999.
 
    The GNU C Library is free software; you can redistribute it and/or
    modify it under the terms of the GNU Lesser General Public
@@ -17,20 +16,5 @@
    License along with the GNU C Library; if not, see
    <http://www.gnu.org/licenses/>.  */
 
-#define STRCPY_RESULT(dst, len) ((dst) + (len))
-#define TEST_MAIN
-#include "test-string.h"
-
-char *simple_stpcpy (char *, const char *);
-
-IMPL (simple_stpcpy, 0)
-IMPL (stpcpy, 1)
-
-char *
-simple_stpcpy (char *dst, const char *src)
-{
-  while ((*dst++ = *src++) != '\0');
-  return dst - 1;
-}
-
-#include "test-strcpy.c"
+#define TEST_IFUNC 1
+#include "test-strchrnul.c"
diff --git a/string/test-stpcpy.c b/string/test-strcmp-ifunc.c
similarity index 61%
copy from string/test-stpcpy.c
copy to string/test-strcmp-ifunc.c
index accc05c..8cc1aad 100644
--- a/string/test-stpcpy.c
+++ b/string/test-strcmp-ifunc.c
@@ -1,7 +1,6 @@
-/* Test and measure stpcpy functions.
-   Copyright (C) 1999, 2002 Free Software Foundation, Inc.
+/* Test and measure IFUNC implementations of strcmp function.
+   Copyright (C) 2012 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
-   Written by Jakub Jelinek <jakub@redhat.com>, 1999.
 
    The GNU C Library is free software; you can redistribute it and/or
    modify it under the terms of the GNU Lesser General Public
@@ -17,20 +16,5 @@
    License along with the GNU C Library; if not, see
    <http://www.gnu.org/licenses/>.  */
 
-#define STRCPY_RESULT(dst, len) ((dst) + (len))
-#define TEST_MAIN
-#include "test-string.h"
-
-char *simple_stpcpy (char *, const char *);
-
-IMPL (simple_stpcpy, 0)
-IMPL (stpcpy, 1)
-
-char *
-simple_stpcpy (char *dst, const char *src)
-{
-  while ((*dst++ = *src++) != '\0');
-  return dst - 1;
-}
-
-#include "test-strcpy.c"
+#define TEST_IFUNC 1
+#include "test-strcmp.c"
diff --git a/string/test-strcmp.c b/string/test-strcmp.c
index 000c510..f186fd6 100644
--- a/string/test-strcmp.c
+++ b/string/test-strcmp.c
@@ -19,6 +19,11 @@
    <http://www.gnu.org/licenses/>.  */
 
 #define TEST_MAIN
+#ifdef WIDE
+# define TEST_NAME "wcscmp"
+#else
+# define TEST_NAME "strcmp"
+#endif
 #include "test-string.h"
 
 #ifdef WIDE
diff --git a/string/test-stpcpy.c b/string/test-strcpy-ifunc.c
similarity index 63%
copy from string/test-stpcpy.c
copy to string/test-strcpy-ifunc.c
index accc05c..b21a98b 100644
--- a/string/test-stpcpy.c
+++ b/string/test-strcpy-ifunc.c
@@ -1,7 +1,6 @@
-/* Test and measure stpcpy functions.
-   Copyright (C) 1999, 2002 Free Software Foundation, Inc.
+/* Test and measure IFUNC implementations of strcpy function.
+   Copyright (C) 2012 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
-   Written by Jakub Jelinek <jakub@redhat.com>, 1999.
 
    The GNU C Library is free software; you can redistribute it and/or
    modify it under the terms of the GNU Lesser General Public
@@ -17,20 +16,5 @@
    License along with the GNU C Library; if not, see
    <http://www.gnu.org/licenses/>.  */
 
-#define STRCPY_RESULT(dst, len) ((dst) + (len))
-#define TEST_MAIN
-#include "test-string.h"
-
-char *simple_stpcpy (char *, const char *);
-
-IMPL (simple_stpcpy, 0)
-IMPL (stpcpy, 1)
-
-char *
-simple_stpcpy (char *dst, const char *src)
-{
-  while ((*dst++ = *src++) != '\0');
-  return dst - 1;
-}
-
+#define TEST_IFUNC 1
 #include "test-strcpy.c"
diff --git a/string/test-strcpy.c b/string/test-strcpy.c
index 3a0b118..de57c68 100644
--- a/string/test-strcpy.c
+++ b/string/test-strcpy.c
@@ -1,5 +1,5 @@
 /* Test and measure strcpy functions.
-   Copyright (C) 1999, 2002, 2003, 2005, 2011, 2012 Free Software Foundation, Inc.
+   Copyright (C) 1999-2012 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Written by Jakub Jelinek <jakub@redhat.com>, 1999.
    Added wcscpy support by Liubov Dmitrieva <liubov.dmitrieva@gmail.com>, 2011
@@ -42,6 +42,11 @@
 #ifndef STRCPY_RESULT
 # define STRCPY_RESULT(dst, len) dst
 # define TEST_MAIN
+# ifndef WIDE
+#  define TEST_NAME "strcpy"
+# else
+#  define TEST_NAME "wcscpy"
+# endif
 # include "test-string.h"
 # ifndef WIDE
 #  define SIMPLE_STRCPY simple_strcpy
diff --git a/string/test-stpcpy.c b/string/test-strcspn-ifunc.c
similarity index 61%
copy from string/test-stpcpy.c
copy to string/test-strcspn-ifunc.c
index accc05c..380a371 100644
--- a/string/test-stpcpy.c
+++ b/string/test-strcspn-ifunc.c
@@ -1,7 +1,6 @@
-/* Test and measure stpcpy functions.
-   Copyright (C) 1999, 2002 Free Software Foundation, Inc.
+/* Test and measure IFUNC implementations of strcspn function.
+   Copyright (C) 2012 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
-   Written by Jakub Jelinek <jakub@redhat.com>, 1999.
 
    The GNU C Library is free software; you can redistribute it and/or
    modify it under the terms of the GNU Lesser General Public
@@ -17,20 +16,5 @@
    License along with the GNU C Library; if not, see
    <http://www.gnu.org/licenses/>.  */
 
-#define STRCPY_RESULT(dst, len) ((dst) + (len))
-#define TEST_MAIN
-#include "test-string.h"
-
-char *simple_stpcpy (char *, const char *);
-
-IMPL (simple_stpcpy, 0)
-IMPL (stpcpy, 1)
-
-char *
-simple_stpcpy (char *dst, const char *src)
-{
-  while ((*dst++ = *src++) != '\0');
-  return dst - 1;
-}
-
-#include "test-strcpy.c"
+#define TEST_IFUNC 1
+#include "test-strcspn.c"
diff --git a/string/test-strcspn.c b/string/test-strcspn.c
index d80947a..e2863c7 100644
--- a/string/test-strcspn.c
+++ b/string/test-strcspn.c
@@ -1,5 +1,5 @@
 /* Test and measure strcspn functions.
-   Copyright (C) 1999, 2002 Free Software Foundation, Inc.
+   Copyright (C) 1999-2012 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Written by Jakub Jelinek <jakub@redhat.com>, 1999.
 
@@ -20,6 +20,7 @@
 #define STRPBRK_RESULT(s, pos) (pos)
 #define RES_TYPE size_t
 #define TEST_MAIN
+#define TEST_NAME "strcspn"
 #include "test-string.h"
 
 typedef size_t (*proto_t) (const char *, const char *);
diff --git a/string/test-stpcpy.c b/string/test-strlen-ifunc.c
similarity index 61%
copy from string/test-stpcpy.c
copy to string/test-strlen-ifunc.c
index accc05c..4d87cc8 100644
--- a/string/test-stpcpy.c
+++ b/string/test-strlen-ifunc.c
@@ -1,7 +1,6 @@
-/* Test and measure stpcpy functions.
-   Copyright (C) 1999, 2002 Free Software Foundation, Inc.
+/* Test and measure IFUNC implementations of strlen function.
+   Copyright (C) 2012 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
-   Written by Jakub Jelinek <jakub@redhat.com>, 1999.
 
    The GNU C Library is free software; you can redistribute it and/or
    modify it under the terms of the GNU Lesser General Public
@@ -17,20 +16,5 @@
    License along with the GNU C Library; if not, see
    <http://www.gnu.org/licenses/>.  */
 
-#define STRCPY_RESULT(dst, len) ((dst) + (len))
-#define TEST_MAIN
-#include "test-string.h"
-
-char *simple_stpcpy (char *, const char *);
-
-IMPL (simple_stpcpy, 0)
-IMPL (stpcpy, 1)
-
-char *
-simple_stpcpy (char *dst, const char *src)
-{
-  while ((*dst++ = *src++) != '\0');
-  return dst - 1;
-}
-
-#include "test-strcpy.c"
+#define TEST_IFUNC 1
+#include "test-strlen.c"
diff --git a/string/test-strlen.c b/string/test-strlen.c
index 0ac5184..6be7e43 100644
--- a/string/test-strlen.c
+++ b/string/test-strlen.c
@@ -1,5 +1,5 @@
 /* Test and measure STRLEN functions.
-   Copyright (C) 1999, 2002, 2003, 2005, 2011 Free Software Foundation, Inc.
+   Copyright (C) 1999-2012 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Written by Jakub Jelinek <jakub@redhat.com>, 1999.
    Added wcslen support by Liubov Dmitrieva <liubov.dmitrieva@gmail.com>, 2011
@@ -19,6 +19,11 @@
    <http://www.gnu.org/licenses/>.  */
 
 #define TEST_MAIN
+#ifndef WIDE
+# define TEST_NAME "strlen"
+#else
+# define TEST_NAME "wcslen"
+#endif
 #include "test-string.h"
 
 #ifndef WIDE
diff --git a/string/test-stpcpy.c b/string/test-strncasecmp-ifunc.c
similarity index 61%
copy from string/test-stpcpy.c
copy to string/test-strncasecmp-ifunc.c
index accc05c..9bf05d0 100644
--- a/string/test-stpcpy.c
+++ b/string/test-strncasecmp-ifunc.c
@@ -1,7 +1,6 @@
-/* Test and measure stpcpy functions.
-   Copyright (C) 1999, 2002 Free Software Foundation, Inc.
+/* Test and measure IFUNC implementations of strncasecmp function.
+   Copyright (C) 2012 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
-   Written by Jakub Jelinek <jakub@redhat.com>, 1999.
 
    The GNU C Library is free software; you can redistribute it and/or
    modify it under the terms of the GNU Lesser General Public
@@ -17,20 +16,5 @@
    License along with the GNU C Library; if not, see
    <http://www.gnu.org/licenses/>.  */
 
-#define STRCPY_RESULT(dst, len) ((dst) + (len))
-#define TEST_MAIN
-#include "test-string.h"
-
-char *simple_stpcpy (char *, const char *);
-
-IMPL (simple_stpcpy, 0)
-IMPL (stpcpy, 1)
-
-char *
-simple_stpcpy (char *dst, const char *src)
-{
-  while ((*dst++ = *src++) != '\0');
-  return dst - 1;
-}
-
-#include "test-strcpy.c"
+#define TEST_IFUNC 1
+#include "test-strncasecmp.c"
diff --git a/string/test-strncasecmp.c b/string/test-strncasecmp.c
index acfe668..95664f3 100644
--- a/string/test-strncasecmp.c
+++ b/string/test-strncasecmp.c
@@ -19,6 +19,7 @@
 
 #include <ctype.h>
 #define TEST_MAIN
+#define TEST_NAME "strncasecmp"
 #include "test-string.h"
 
 typedef int (*proto_t) (const char *, const char *, size_t);
diff --git a/string/test-stpcpy.c b/string/test-strncat-ifunc.c
similarity index 61%
copy from string/test-stpcpy.c
copy to string/test-strncat-ifunc.c
index accc05c..28e832f 100644
--- a/string/test-stpcpy.c
+++ b/string/test-strncat-ifunc.c
@@ -1,7 +1,6 @@
-/* Test and measure stpcpy functions.
-   Copyright (C) 1999, 2002 Free Software Foundation, Inc.
+/* Test and measure IFUNC implementations of strncat function.
+   Copyright (C) 2012 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
-   Written by Jakub Jelinek <jakub@redhat.com>, 1999.
 
    The GNU C Library is free software; you can redistribute it and/or
    modify it under the terms of the GNU Lesser General Public
@@ -17,20 +16,5 @@
    License along with the GNU C Library; if not, see
    <http://www.gnu.org/licenses/>.  */
 
-#define STRCPY_RESULT(dst, len) ((dst) + (len))
-#define TEST_MAIN
-#include "test-string.h"
-
-char *simple_stpcpy (char *, const char *);
-
-IMPL (simple_stpcpy, 0)
-IMPL (stpcpy, 1)
-
-char *
-simple_stpcpy (char *dst, const char *src)
-{
-  while ((*dst++ = *src++) != '\0');
-  return dst - 1;
-}
-
-#include "test-strcpy.c"
+#define TEST_IFUNC 1
+#include "test-strncat.c"
diff --git a/string/test-strncat.c b/string/test-strncat.c
index 69c8c0b..0cdaa4f 100644
--- a/string/test-strncat.c
+++ b/string/test-strncat.c
@@ -1,5 +1,5 @@
 /* Test and measure strncat functions.
-   Copyright (C) 2011 Free Software Foundation, Inc.
+   Copyright (C) 2011-2012 Free Software Foundation, Inc.
    Contributed by Intel Corporation.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -17,6 +17,7 @@
    <http://www.gnu.org/licenses/>.  */
 
 #define TEST_MAIN
+#define TEST_NAME "strncat"
 #include "test-string.h"
 
 typedef char *(*proto_t) (char *, const char *, size_t);
diff --git a/string/test-stpcpy.c b/string/test-strncmp-ifunc.c
similarity index 61%
copy from string/test-stpcpy.c
copy to string/test-strncmp-ifunc.c
index accc05c..100a068 100644
--- a/string/test-stpcpy.c
+++ b/string/test-strncmp-ifunc.c
@@ -1,7 +1,6 @@
-/* Test and measure stpcpy functions.
-   Copyright (C) 1999, 2002 Free Software Foundation, Inc.
+/* Test and measure IFUNC implementations of strncmp function.
+   Copyright (C) 2012 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
-   Written by Jakub Jelinek <jakub@redhat.com>, 1999.
 
    The GNU C Library is free software; you can redistribute it and/or
    modify it under the terms of the GNU Lesser General Public
@@ -17,20 +16,5 @@
    License along with the GNU C Library; if not, see
    <http://www.gnu.org/licenses/>.  */
 
-#define STRCPY_RESULT(dst, len) ((dst) + (len))
-#define TEST_MAIN
-#include "test-string.h"
-
-char *simple_stpcpy (char *, const char *);
-
-IMPL (simple_stpcpy, 0)
-IMPL (stpcpy, 1)
-
-char *
-simple_stpcpy (char *dst, const char *src)
-{
-  while ((*dst++ = *src++) != '\0');
-  return dst - 1;
-}
-
-#include "test-strcpy.c"
+#define TEST_IFUNC 1
+#include "test-strncmp.c"
diff --git a/string/test-strncmp.c b/string/test-strncmp.c
index 266781b..a66a125 100644
--- a/string/test-strncmp.c
+++ b/string/test-strncmp.c
@@ -1,5 +1,5 @@
 /* Test and measure strncmp functions.
-   Copyright (C) 1999, 2002, 2003, 2010, 2011 Free Software Foundation, Inc.
+   Copyright (C) 1999-2012 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Written by Jakub Jelinek <jakub@redhat.com>, 1999.
 
@@ -18,6 +18,7 @@
    <http://www.gnu.org/licenses/>.  */
 
 #define TEST_MAIN
+#define TEST_NAME "strncmp"
 #include "test-string.h"
 
 typedef int (*proto_t) (const char *, const char *, size_t);
diff --git a/string/test-stpcpy.c b/string/test-strncpy-ifunc.c
similarity index 61%
copy from string/test-stpcpy.c
copy to string/test-strncpy-ifunc.c
index accc05c..834291b 100644
--- a/string/test-stpcpy.c
+++ b/string/test-strncpy-ifunc.c
@@ -1,7 +1,6 @@
-/* Test and measure stpcpy functions.
-   Copyright (C) 1999, 2002 Free Software Foundation, Inc.
+/* Test and measure IFUNC implementations of strncpy function.
+   Copyright (C) 2012 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
-   Written by Jakub Jelinek <jakub@redhat.com>, 1999.
 
    The GNU C Library is free software; you can redistribute it and/or
    modify it under the terms of the GNU Lesser General Public
@@ -17,20 +16,5 @@
    License along with the GNU C Library; if not, see
    <http://www.gnu.org/licenses/>.  */
 
-#define STRCPY_RESULT(dst, len) ((dst) + (len))
-#define TEST_MAIN
-#include "test-string.h"
-
-char *simple_stpcpy (char *, const char *);
-
-IMPL (simple_stpcpy, 0)
-IMPL (stpcpy, 1)
-
-char *
-simple_stpcpy (char *dst, const char *src)
-{
-  while ((*dst++ = *src++) != '\0');
-  return dst - 1;
-}
-
-#include "test-strcpy.c"
+#define TEST_IFUNC 1
+#include "test-strncpy.c"
diff --git a/string/test-strncpy.c b/string/test-strncpy.c
index f683f7d..ba1050f 100644
--- a/string/test-strncpy.c
+++ b/string/test-strncpy.c
@@ -1,5 +1,5 @@
 /* Test and measure strncpy functions.
-   Copyright (C) 1999, 2002, 2003, 2005 Free Software Foundation, Inc.
+   Copyright (C) 1999-2012 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Written by Jakub Jelinek <jakub@redhat.com>, 1999.
 
@@ -20,6 +20,7 @@
 #ifndef STRNCPY_RESULT
 # define STRNCPY_RESULT(dst, len, n) dst
 # define TEST_MAIN
+# define TEST_NAME "strncpy"
 # include "test-string.h"
 
 char *simple_strncpy (char *, const char *, size_t);
diff --git a/string/test-stpcpy.c b/string/test-strnlen-ifunc.c
similarity index 61%
copy from string/test-stpcpy.c
copy to string/test-strnlen-ifunc.c
index accc05c..3810de7 100644
--- a/string/test-stpcpy.c
+++ b/string/test-strnlen-ifunc.c
@@ -1,7 +1,6 @@
-/* Test and measure stpcpy functions.
-   Copyright (C) 1999, 2002 Free Software Foundation, Inc.
+/* Test and measure IFUNC implementations of strnlen function.
+   Copyright (C) 2012 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
-   Written by Jakub Jelinek <jakub@redhat.com>, 1999.
 
    The GNU C Library is free software; you can redistribute it and/or
    modify it under the terms of the GNU Lesser General Public
@@ -17,20 +16,5 @@
    License along with the GNU C Library; if not, see
    <http://www.gnu.org/licenses/>.  */
 
-#define STRCPY_RESULT(dst, len) ((dst) + (len))
-#define TEST_MAIN
-#include "test-string.h"
-
-char *simple_stpcpy (char *, const char *);
-
-IMPL (simple_stpcpy, 0)
-IMPL (stpcpy, 1)
-
-char *
-simple_stpcpy (char *dst, const char *src)
-{
-  while ((*dst++ = *src++) != '\0');
-  return dst - 1;
-}
-
-#include "test-strcpy.c"
+#define TEST_IFUNC 1
+#include "test-strnlen.c"
diff --git a/string/test-strnlen.c b/string/test-strnlen.c
index 547df45..17a2e22 100644
--- a/string/test-strnlen.c
+++ b/string/test-strnlen.c
@@ -1,5 +1,5 @@
 /* Test and measure strlen functions.
-   Copyright (C) 1999, 2002, 2003, 2005, 2010 Free Software Foundation, Inc.
+   Copyright (C) 1999-2012 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Written by Jakub Jelinek <jakub@redhat.com>, 1999.
 
@@ -18,6 +18,7 @@
    <http://www.gnu.org/licenses/>.  */
 
 #define TEST_MAIN
+#define TEST_NAME "strnlen"
 #include "test-string.h"
 
 typedef size_t (*proto_t) (const char *, size_t);
diff --git a/string/test-stpcpy.c b/string/test-strpbrk-ifunc.c
similarity index 61%
copy from string/test-stpcpy.c
copy to string/test-strpbrk-ifunc.c
index accc05c..896510b 100644
--- a/string/test-stpcpy.c
+++ b/string/test-strpbrk-ifunc.c
@@ -1,7 +1,6 @@
-/* Test and measure stpcpy functions.
-   Copyright (C) 1999, 2002 Free Software Foundation, Inc.
+/* Test and measure IFUNC implementations of strpbrk function.
+   Copyright (C) 2012 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
-   Written by Jakub Jelinek <jakub@redhat.com>, 1999.
 
    The GNU C Library is free software; you can redistribute it and/or
    modify it under the terms of the GNU Lesser General Public
@@ -17,20 +16,5 @@
    License along with the GNU C Library; if not, see
    <http://www.gnu.org/licenses/>.  */
 
-#define STRCPY_RESULT(dst, len) ((dst) + (len))
-#define TEST_MAIN
-#include "test-string.h"
-
-char *simple_stpcpy (char *, const char *);
-
-IMPL (simple_stpcpy, 0)
-IMPL (stpcpy, 1)
-
-char *
-simple_stpcpy (char *dst, const char *src)
-{
-  while ((*dst++ = *src++) != '\0');
-  return dst - 1;
-}
-
-#include "test-strcpy.c"
+#define TEST_IFUNC 1
+#include "test-strpbrk.c"
diff --git a/string/test-strpbrk.c b/string/test-strpbrk.c
index 263a7fd..8a3d2bb 100644
--- a/string/test-strpbrk.c
+++ b/string/test-strpbrk.c
@@ -1,5 +1,5 @@
 /* Test and measure strpbrk functions.
-   Copyright (C) 1999, 2002, 2003, 2005 Free Software Foundation, Inc.
+   Copyright (C) 1999-2012 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Written by Jakub Jelinek <jakub@redhat.com>, 1999.
 
@@ -21,6 +21,7 @@
 # define STRPBRK_RESULT(s, pos) ((s)[(pos)] ? (s) + (pos) : NULL)
 # define RES_TYPE char *
 # define TEST_MAIN
+# define TEST_NAME "strpbrk"
 # include "test-string.h"
 
 typedef char *(*proto_t) (const char *, const char *);
diff --git a/string/test-stpcpy.c b/string/test-strrchr-ifunc.c
similarity index 61%
copy from string/test-stpcpy.c
copy to string/test-strrchr-ifunc.c
index accc05c..77b1e69 100644
--- a/string/test-stpcpy.c
+++ b/string/test-strrchr-ifunc.c
@@ -1,7 +1,6 @@
-/* Test and measure stpcpy functions.
-   Copyright (C) 1999, 2002 Free Software Foundation, Inc.
+/* Test and measure IFUNC implementations of strrchr function.
+   Copyright (C) 2012 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
-   Written by Jakub Jelinek <jakub@redhat.com>, 1999.
 
    The GNU C Library is free software; you can redistribute it and/or
    modify it under the terms of the GNU Lesser General Public
@@ -17,20 +16,5 @@
    License along with the GNU C Library; if not, see
    <http://www.gnu.org/licenses/>.  */
 
-#define STRCPY_RESULT(dst, len) ((dst) + (len))
-#define TEST_MAIN
-#include "test-string.h"
-
-char *simple_stpcpy (char *, const char *);
-
-IMPL (simple_stpcpy, 0)
-IMPL (stpcpy, 1)
-
-char *
-simple_stpcpy (char *dst, const char *src)
-{
-  while ((*dst++ = *src++) != '\0');
-  return dst - 1;
-}
-
-#include "test-strcpy.c"
+#define TEST_IFUNC 1
+#include "test-strrchr.c"
diff --git a/string/test-strrchr.c b/string/test-strrchr.c
index c63c8de..a58435f 100644
--- a/string/test-strrchr.c
+++ b/string/test-strrchr.c
@@ -1,5 +1,5 @@
 /* Test and measure STRCHR functions.
-   Copyright (C) 1999, 2002, 2003, 2005, 2011 Free Software Foundation, Inc.
+   Copyright (C) 1999-2012 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Written by Jakub Jelinek <jakub@redhat.com>, 1999.
    Added wcsrrchr support by Liubov Dmitrieva <liubov.dmitrieva@gmail.com>,
@@ -20,6 +20,11 @@
    <http://www.gnu.org/licenses/>.  */
 
 #define TEST_MAIN
+#ifdef WIDE
+# define TEST_NAME "wcsrchr"
+#else
+# define TEST_NAME "strrchr"
+#endif
 #include "test-string.h"
 
 #ifdef WIDE
diff --git a/string/test-stpcpy.c b/string/test-strspn-ifunc.c
similarity index 61%
copy from string/test-stpcpy.c
copy to string/test-strspn-ifunc.c
index accc05c..b836dfb 100644
--- a/string/test-stpcpy.c
+++ b/string/test-strspn-ifunc.c
@@ -1,7 +1,6 @@
-/* Test and measure stpcpy functions.
-   Copyright (C) 1999, 2002 Free Software Foundation, Inc.
+/* Test and measure IFUNC implementations of strspn function.
+   Copyright (C) 2012 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
-   Written by Jakub Jelinek <jakub@redhat.com>, 1999.
 
    The GNU C Library is free software; you can redistribute it and/or
    modify it under the terms of the GNU Lesser General Public
@@ -17,20 +16,5 @@
    License along with the GNU C Library; if not, see
    <http://www.gnu.org/licenses/>.  */
 
-#define STRCPY_RESULT(dst, len) ((dst) + (len))
-#define TEST_MAIN
-#include "test-string.h"
-
-char *simple_stpcpy (char *, const char *);
-
-IMPL (simple_stpcpy, 0)
-IMPL (stpcpy, 1)
-
-char *
-simple_stpcpy (char *dst, const char *src)
-{
-  while ((*dst++ = *src++) != '\0');
-  return dst - 1;
-}
-
-#include "test-strcpy.c"
+#define TEST_IFUNC 1
+#include "test-strspn.c"
diff --git a/string/test-strspn.c b/string/test-strspn.c
index 743bc0a..557db0a 100644
--- a/string/test-strspn.c
+++ b/string/test-strspn.c
@@ -1,5 +1,5 @@
 /* Test and measure strspn functions.
-   Copyright (C) 1999,2002,2003,2005 Free Software Foundation, Inc.
+   Copyright (C) 1999-2012 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Written by Jakub Jelinek <jakub@redhat.com>, 1999.
 
@@ -18,6 +18,7 @@
    <http://www.gnu.org/licenses/>.  */
 
 #define TEST_MAIN
+#define TEST_NAME "strspn"
 #include "test-string.h"
 
 typedef size_t (*proto_t) (const char *, const char *);
diff --git a/string/test-stpcpy.c b/string/test-strstr-ifunc.c
similarity index 61%
copy from string/test-stpcpy.c
copy to string/test-strstr-ifunc.c
index accc05c..4d43dda 100644
--- a/string/test-stpcpy.c
+++ b/string/test-strstr-ifunc.c
@@ -1,7 +1,6 @@
-/* Test and measure stpcpy functions.
-   Copyright (C) 1999, 2002 Free Software Foundation, Inc.
+/* Test and measure IFUNC implementations of strstr function.
+   Copyright (C) 2012 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
-   Written by Jakub Jelinek <jakub@redhat.com>, 1999.
 
    The GNU C Library is free software; you can redistribute it and/or
    modify it under the terms of the GNU Lesser General Public
@@ -17,20 +16,5 @@
    License along with the GNU C Library; if not, see
    <http://www.gnu.org/licenses/>.  */
 
-#define STRCPY_RESULT(dst, len) ((dst) + (len))
-#define TEST_MAIN
-#include "test-string.h"
-
-char *simple_stpcpy (char *, const char *);
-
-IMPL (simple_stpcpy, 0)
-IMPL (stpcpy, 1)
-
-char *
-simple_stpcpy (char *dst, const char *src)
-{
-  while ((*dst++ = *src++) != '\0');
-  return dst - 1;
-}
-
-#include "test-strcpy.c"
+#define TEST_IFUNC 1
+#include "test-strstr.c"
diff --git a/string/test-strstr.c b/string/test-strstr.c
index d4c0efc..22a00f9 100644
--- a/string/test-strstr.c
+++ b/string/test-strstr.c
@@ -1,5 +1,5 @@
 /* Test and measure strstr functions.
-   Copyright (C) 2010 Free Software Foundation, Inc.
+   Copyright (C) 2010-2012 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Written by Ulrich Drepper <drepper@redhat.com>, 2010.
 
@@ -18,6 +18,7 @@
    <http://www.gnu.org/licenses/>.  */
 
 #define TEST_MAIN
+#define TEST_NAME "strstr"
 #include "test-string.h"
 
 

http://sources.redhat.com/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=de54b33a3df1de0a2fd0197bec9ab9397298d39a

commit de54b33a3df1de0a2fd0197bec9ab9397298d39a
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Fri Oct 19 22:02:47 2012 -0700

    Add debug IFUNC tests

diff --git a/ChangeLog b/ChangeLog
index eb60959..5caa361 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,12 @@
+2012-10-20  H.J. Lu  <hongjiu.lu@intel.com>
+
+	* debug/Makefile (tests-ifunc): New variable.
+	(tests): Add $(tests-ifunc).
+	* debug/test-stpcpy_chk.c (TEST_NAME): New macro.
+	* debug/test-strcpy_chk.c (TEST_NAME): Likewise.
+	* debug/test-stpcpy_chk-ifunc.c: New file.
+	* debug/test-strcpy_chk-ifunc.c: Likewise.
+
 2012-10-20  Siddhesh Poyarekar  <siddhesh@redhat.com>
 
 	[BZ #13601]
diff --git a/debug/Makefile b/debug/Makefile
index ae5b674..04dd799 100644
--- a/debug/Makefile
+++ b/debug/Makefile
@@ -126,6 +126,9 @@ tests = backtrace-tst tst-longjmp_chk tst-chk1 tst-chk2 tst-chk3 \
 	tst-chk4 tst-chk5 tst-chk6 tst-lfschk4 tst-lfschk5 tst-lfschk6 \
 	tst-longjmp_chk2
 
+tests-ifunc := $(stpcpy_chk strcpy_chk:%=test-%-ifunc)
+tests += $(tests-ifunc)
+
 extra-libs = libSegFault libpcprofile
 extra-libs-others = $(extra-libs)
 
diff --git a/debug/test-stpcpy_chk-ifunc.c b/debug/test-stpcpy_chk-ifunc.c
new file mode 100644
index 0000000..1b2bad1
--- /dev/null
+++ b/debug/test-stpcpy_chk-ifunc.c
@@ -0,0 +1,20 @@
+/* Test and measure IFUNC implementations of stpcpy checking function.
+   Copyright (C) 2012 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#define TEST_IFUNC 1
+#include "test-stpcpy_chk.c"
diff --git a/debug/test-stpcpy_chk.c b/debug/test-stpcpy_chk.c
index f7f9a54..8e2d2d9 100644
--- a/debug/test-stpcpy_chk.c
+++ b/debug/test-stpcpy_chk.c
@@ -1,5 +1,5 @@
 /* Test and measure stpcpy checking functions.
-   Copyright (C) 1999, 2002, 2004 Free Software Foundation, Inc.
+   Copyright (C) 1999-2012 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Written by Jakub Jelinek <jakub@redhat.com>, 1999.
 
@@ -19,6 +19,7 @@
 
 #define STRCPY_RESULT(dst, len) ((dst) + (len))
 #define TEST_MAIN
+#define TEST_NAME "stpcpy_chk"
 #include "../string/test-string.h"
 
 extern void __attribute__ ((noreturn)) __chk_fail (void);
diff --git a/debug/test-strcpy_chk-ifunc.c b/debug/test-strcpy_chk-ifunc.c
new file mode 100644
index 0000000..73ed226
--- /dev/null
+++ b/debug/test-strcpy_chk-ifunc.c
@@ -0,0 +1,20 @@
+/* Test and measure IFUNC implementations of strcpy checking function.
+   Copyright (C) 2012 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#define TEST_IFUNC 1
+#include "test-strcpy_chk.c"
diff --git a/debug/test-strcpy_chk.c b/debug/test-strcpy_chk.c
index 2536362..fb9bc78 100644
--- a/debug/test-strcpy_chk.c
+++ b/debug/test-strcpy_chk.c
@@ -1,5 +1,5 @@
 /* Test and measure __strcpy_chk functions.
-   Copyright (C) 1999, 2002, 2003, 2004 Free Software Foundation, Inc.
+   Copyright (C) 1999-2012 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Written by Jakub Jelinek <jakub@redhat.com>, 1999.
 
@@ -20,6 +20,7 @@
 #ifndef STRCPY_RESULT
 # define STRCPY_RESULT(dst, len) dst
 # define TEST_MAIN
+# define TEST_NAME "strcpy_chk"
 # include "../string/test-string.h"
 
 extern void __attribute__ ((noreturn)) __chk_fail (void);

-----------------------------------------------------------------------

Summary of changes:
 ChangeLog                       |   78 +++++++++++++++++++++++++++++++++++++++
 debug/Makefile                  |    3 +
 debug/test-stpcpy_chk-ifunc.c   |   20 ++++++++++
 debug/test-stpcpy_chk.c         |    3 +-
 debug/test-strcpy_chk-ifunc.c   |   20 ++++++++++
 debug/test-strcpy_chk.c         |    3 +-
 string/Makefile                 |    2 +
 string/test-bcopy-ifunc.c       |   20 ++++++++++
 string/test-bzero-ifunc.c       |   20 ++++++++++
 string/test-memccpy-ifunc.c     |   20 ++++++++++
 string/test-memccpy.c           |    3 +-
 string/test-memchr-ifunc.c      |   20 ++++++++++
 string/test-memchr.c            |    3 +-
 string/test-memcmp-ifunc.c      |   20 ++++++++++
 string/test-memcmp.c            |    5 ++
 string/test-memcpy-ifunc.c      |   20 ++++++++++
 string/test-memcpy.c            |    3 +-
 string/test-memmem-ifunc.c      |   20 ++++++++++
 string/test-memmem.c            |    3 +-
 string/test-memmove-ifunc.c     |   20 ++++++++++
 string/test-memmove.c           |    5 ++
 string/test-mempcpy-ifunc.c     |   20 ++++++++++
 string/test-mempcpy.c           |    3 +-
 string/test-memset-ifunc.c      |   20 ++++++++++
 string/test-memset.c            |    5 ++
 string/test-rawmemchr-ifunc.c   |   20 ++++++++++
 string/test-rawmemchr.c         |    3 +-
 string/test-stpcpy-ifunc.c      |   20 ++++++++++
 string/test-stpcpy.c            |    3 +-
 string/test-stpncpy-ifunc.c     |   20 ++++++++++
 string/test-stpncpy.c           |    3 +-
 string/test-strcasecmp-ifunc.c  |   20 ++++++++++
 string/test-strcasecmp.c        |    3 +-
 string/test-strcasestr-ifunc.c  |   20 ++++++++++
 string/test-strcasestr.c        |    3 +-
 string/test-strcat-ifunc.c      |   20 ++++++++++
 string/test-strcat.c            |    3 +-
 string/test-strchr-ifunc.c      |   20 ++++++++++
 string/test-strchr.c            |   11 +++++-
 string/test-strchrnul-ifunc.c   |   20 ++++++++++
 string/test-strcmp-ifunc.c      |   20 ++++++++++
 string/test-strcmp.c            |    5 ++
 string/test-strcpy-ifunc.c      |   20 ++++++++++
 string/test-strcpy.c            |    7 +++-
 string/test-strcspn-ifunc.c     |   20 ++++++++++
 string/test-strcspn.c           |    3 +-
 string/test-strlen-ifunc.c      |   20 ++++++++++
 string/test-strlen.c            |    7 +++-
 string/test-strncasecmp-ifunc.c |   20 ++++++++++
 string/test-strncasecmp.c       |    1 +
 string/test-strncat-ifunc.c     |   20 ++++++++++
 string/test-strncat.c           |    3 +-
 string/test-strncmp-ifunc.c     |   20 ++++++++++
 string/test-strncmp.c           |    3 +-
 string/test-strncpy-ifunc.c     |   20 ++++++++++
 string/test-strncpy.c           |    3 +-
 string/test-strnlen-ifunc.c     |   20 ++++++++++
 string/test-strnlen.c           |    3 +-
 string/test-strpbrk-ifunc.c     |   20 ++++++++++
 string/test-strpbrk.c           |    3 +-
 string/test-strrchr-ifunc.c     |   20 ++++++++++
 string/test-strrchr.c           |    7 +++-
 string/test-strspn-ifunc.c      |   20 ++++++++++
 string/test-strspn.c            |    3 +-
 string/test-strstr-ifunc.c      |   20 ++++++++++
 string/test-strstr.c            |    3 +-
 wcsmbs/Makefile                 |    2 +
 wcsmbs/test-wcschr-ifunc.c      |   20 ++++++++++
 wcsmbs/test-wcscmp-ifunc.c      |   20 ++++++++++
 wcsmbs/test-wcscpy-ifunc.c      |   20 ++++++++++
 wcsmbs/test-wcslen-ifunc.c      |   20 ++++++++++
 wcsmbs/test-wcsrchr-ifunc.c     |   20 ++++++++++
 wcsmbs/test-wmemcmp-ifunc.c     |   20 ++++++++++
 73 files changed, 956 insertions(+), 25 deletions(-)
 create mode 100644 debug/test-stpcpy_chk-ifunc.c
 create mode 100644 debug/test-strcpy_chk-ifunc.c
 create mode 100644 string/test-bcopy-ifunc.c
 create mode 100644 string/test-bzero-ifunc.c
 create mode 100644 string/test-memccpy-ifunc.c
 create mode 100644 string/test-memchr-ifunc.c
 create mode 100644 string/test-memcmp-ifunc.c
 create mode 100644 string/test-memcpy-ifunc.c
 create mode 100644 string/test-memmem-ifunc.c
 create mode 100644 string/test-memmove-ifunc.c
 create mode 100644 string/test-mempcpy-ifunc.c
 create mode 100644 string/test-memset-ifunc.c
 create mode 100644 string/test-rawmemchr-ifunc.c
 create mode 100644 string/test-stpcpy-ifunc.c
 create mode 100644 string/test-stpncpy-ifunc.c
 create mode 100644 string/test-strcasecmp-ifunc.c
 create mode 100644 string/test-strcasestr-ifunc.c
 create mode 100644 string/test-strcat-ifunc.c
 create mode 100644 string/test-strchr-ifunc.c
 create mode 100644 string/test-strchrnul-ifunc.c
 create mode 100644 string/test-strcmp-ifunc.c
 create mode 100644 string/test-strcpy-ifunc.c
 create mode 100644 string/test-strcspn-ifunc.c
 create mode 100644 string/test-strlen-ifunc.c
 create mode 100644 string/test-strncasecmp-ifunc.c
 create mode 100644 string/test-strncat-ifunc.c
 create mode 100644 string/test-strncmp-ifunc.c
 create mode 100644 string/test-strncpy-ifunc.c
 create mode 100644 string/test-strnlen-ifunc.c
 create mode 100644 string/test-strpbrk-ifunc.c
 create mode 100644 string/test-strrchr-ifunc.c
 create mode 100644 string/test-strspn-ifunc.c
 create mode 100644 string/test-strstr-ifunc.c
 create mode 100644 wcsmbs/test-wcschr-ifunc.c
 create mode 100644 wcsmbs/test-wcscmp-ifunc.c
 create mode 100644 wcsmbs/test-wcscpy-ifunc.c
 create mode 100644 wcsmbs/test-wcslen-ifunc.c
 create mode 100644 wcsmbs/test-wcsrchr-ifunc.c
 create mode 100644 wcsmbs/test-wmemcmp-ifunc.c


hooks/post-receive
-- 
GNU C Library master sources


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]