[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Commits] r21273 - in /fsf/trunk/libc: ./ debug/ elf/ io/ string/ sysdeps/unix/sysv/linux/bits/ sysdeps/unix/sysv/linux/s390/bits/ sys...



Author: eglibc
Date: Sun Oct 21 00:01:49 2012
New Revision: 21273

Log:
Import glibc-mainline for 2012-10-21

Added:
    fsf/trunk/libc/debug/test-stpcpy_chk-ifunc.c
    fsf/trunk/libc/debug/test-strcpy_chk-ifunc.c
    fsf/trunk/libc/elf/tst-leaks1-static.c
    fsf/trunk/libc/string/test-bcopy-ifunc.c
    fsf/trunk/libc/string/test-bzero-ifunc.c
    fsf/trunk/libc/string/test-memccpy-ifunc.c
    fsf/trunk/libc/string/test-memchr-ifunc.c
    fsf/trunk/libc/string/test-memcmp-ifunc.c
    fsf/trunk/libc/string/test-memcpy-ifunc.c
    fsf/trunk/libc/string/test-memmem-ifunc.c
    fsf/trunk/libc/string/test-memmove-ifunc.c
    fsf/trunk/libc/string/test-mempcpy-ifunc.c
    fsf/trunk/libc/string/test-memset-ifunc.c
    fsf/trunk/libc/string/test-rawmemchr-ifunc.c
    fsf/trunk/libc/string/test-stpcpy-ifunc.c
    fsf/trunk/libc/string/test-stpncpy-ifunc.c
    fsf/trunk/libc/string/test-strcasecmp-ifunc.c
    fsf/trunk/libc/string/test-strcasestr-ifunc.c
    fsf/trunk/libc/string/test-strcat-ifunc.c
    fsf/trunk/libc/string/test-strchr-ifunc.c
    fsf/trunk/libc/string/test-strchrnul-ifunc.c
    fsf/trunk/libc/string/test-strcmp-ifunc.c
    fsf/trunk/libc/string/test-strcpy-ifunc.c
    fsf/trunk/libc/string/test-strcspn-ifunc.c
    fsf/trunk/libc/string/test-strlen-ifunc.c
    fsf/trunk/libc/string/test-strncasecmp-ifunc.c
    fsf/trunk/libc/string/test-strncat-ifunc.c
    fsf/trunk/libc/string/test-strncmp-ifunc.c
    fsf/trunk/libc/string/test-strncpy-ifunc.c
    fsf/trunk/libc/string/test-strnlen-ifunc.c
    fsf/trunk/libc/string/test-strpbrk-ifunc.c
    fsf/trunk/libc/string/test-strrchr-ifunc.c
    fsf/trunk/libc/string/test-strspn-ifunc.c
    fsf/trunk/libc/string/test-strstr-ifunc.c
    fsf/trunk/libc/sysdeps/unix/sysv/linux/bits/fcntl-linux.h
    fsf/trunk/libc/wcsmbs/test-wcschr-ifunc.c
    fsf/trunk/libc/wcsmbs/test-wcscmp-ifunc.c
    fsf/trunk/libc/wcsmbs/test-wcscpy-ifunc.c
    fsf/trunk/libc/wcsmbs/test-wcslen-ifunc.c
    fsf/trunk/libc/wcsmbs/test-wcsrchr-ifunc.c
    fsf/trunk/libc/wcsmbs/test-wmemcmp-ifunc.c
Modified:
    fsf/trunk/libc/ChangeLog
    fsf/trunk/libc/NEWS
    fsf/trunk/libc/debug/Makefile
    fsf/trunk/libc/debug/test-stpcpy_chk.c
    fsf/trunk/libc/debug/test-strcpy_chk.c
    fsf/trunk/libc/elf/Makefile
    fsf/trunk/libc/elf/dl-load.c
    fsf/trunk/libc/elf/dl-open.c
    fsf/trunk/libc/io/fcntl.h
    fsf/trunk/libc/string/Makefile
    fsf/trunk/libc/string/test-memccpy.c
    fsf/trunk/libc/string/test-memchr.c
    fsf/trunk/libc/string/test-memcmp.c
    fsf/trunk/libc/string/test-memcpy.c
    fsf/trunk/libc/string/test-memmem.c
    fsf/trunk/libc/string/test-memmove.c
    fsf/trunk/libc/string/test-mempcpy.c
    fsf/trunk/libc/string/test-memset.c
    fsf/trunk/libc/string/test-rawmemchr.c
    fsf/trunk/libc/string/test-stpcpy.c
    fsf/trunk/libc/string/test-stpncpy.c
    fsf/trunk/libc/string/test-strcasecmp.c
    fsf/trunk/libc/string/test-strcasestr.c
    fsf/trunk/libc/string/test-strcat.c
    fsf/trunk/libc/string/test-strchr.c
    fsf/trunk/libc/string/test-strcmp.c
    fsf/trunk/libc/string/test-strcpy.c
    fsf/trunk/libc/string/test-strcspn.c
    fsf/trunk/libc/string/test-strlen.c
    fsf/trunk/libc/string/test-strncasecmp.c
    fsf/trunk/libc/string/test-strncat.c
    fsf/trunk/libc/string/test-strncmp.c
    fsf/trunk/libc/string/test-strncpy.c
    fsf/trunk/libc/string/test-strnlen.c
    fsf/trunk/libc/string/test-strpbrk.c
    fsf/trunk/libc/string/test-strrchr.c
    fsf/trunk/libc/string/test-strspn.c
    fsf/trunk/libc/string/test-strstr.c
    fsf/trunk/libc/sysdeps/unix/sysv/linux/s390/bits/fcntl.h
    fsf/trunk/libc/sysdeps/unix/sysv/linux/sparc/bits/fcntl.h
    fsf/trunk/libc/sysdeps/unix/sysv/linux/x86/bits/fcntl.h
    fsf/trunk/libc/wcsmbs/Makefile

Modified: fsf/trunk/libc/ChangeLog
==============================================================================
--- fsf/trunk/libc/ChangeLog (original)
+++ fsf/trunk/libc/ChangeLog Sun Oct 21 00:01:49 2012
@@ -1,3 +1,114 @@
+2012-10-20  H.J. Lu  <hongjiu.lu@xxxxxxxxx>
+
+	[BZ #14683]
+	* elf/Makefile (tests-static): Add tst-leaks1-static.
+	(tests): Also depend on $(objpfx)tst-leaks1-static-mem.
+	($(objpfx)tst-leaks1-static): New rule.
+	($(objpfx)tst-leaks1-static-mem): Likewise.
+	(tst-leaks1-static-ENV): New macro.
+	* elf/dl-open.c (dl_open_worker): Check the main application
+	only if SHARED is defined.
+	* elf/tst-leaks1-static.c: New file.
+
+2012-10-20  Andreas Jaeger  <aj@xxxxxxx>
+
+	* sysdeps/unix/sysv/linux/bits/fcntl-linux.h: New file, contains
+	generic values for Linux.
+	* sysdeps/unix/sysv/linux/x86/bits/fcntl.h: Remove all definitions
+	and declarations that are provided by <bits/fcntl-linux.h> and
+	include <bits/fcntl-linux.h>.
+	* sysdeps/unix/sysv/linux/sparc/bits/fcntl.h: Likewise.
+	* sysdeps/unix/sysv/linux/s390/bits/fcntl.h: Likewise.
+
+2012-10-20  Roland McGrath  <roland@xxxxxxxxxxxxx>
+
+	* io/fcntl.h: Move include of <bits/types.h> to the top and
+	include it unconditionally.
+
+2012-10-20  H.J. Lu  <hongjiu.lu@xxxxxxxxx>
+
+	* 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.
+	* 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.
+	* 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@xxxxxxxxxx>
+
+	[BZ #13601]
+	* elf/dl-load.c (open_verify): Retry read if the entire ELF
+	header is not read in.
+
 2012-10-19  Joseph Myers  <joseph@xxxxxxxxxxxxxxxx>
 
 	* io/Makefile ($(objpfx)ftwtest.out): Depend on ftwtest-sh.  Pass

Modified: fsf/trunk/libc/NEWS
==============================================================================
--- fsf/trunk/libc/NEWS (original)
+++ fsf/trunk/libc/NEWS Sun Oct 21 00:01:49 2012
@@ -10,13 +10,13 @@
 * The following bugs are resolved with this release:
 
   1349, 3479, 5044, 5298, 5400, 6530, 6778, 6808, 9685, 9914, 10014, 10038,
-  10631, 11438, 11607, 12140, 13412, 13542, 13629, 13679, 13696, 13717,
-  13741, 13939, 13966, 14042, 14090, 14150, 14151, 14154, 14157, 14166,
-  14173, 14195, 14237, 14251, 14252, 14283, 14298, 14303, 14307, 14328,
-  14331, 14336, 14337, 14347, 14349, 14376, 14417, 14459, 14476, 14477,
-  14505, 14510, 14516, 14518, 14519, 14530, 14532, 14538, 14543, 14544,
-  14545, 14557, 14562, 14568, 14576, 14579, 14583, 14587, 14602, 14621,
-  14638, 14645, 14648, 14652, 14660, 14661, 14694, 14716.
+  10631, 11438, 11607, 12140, 13412, 13542, 13601, 13629, 13679, 13696,
+  13717, 13741, 13939, 13966, 14042, 14090, 14150, 14151, 14154, 14157,
+  14166, 14173, 14195, 14237, 14251, 14252, 14283, 14298, 14303, 14307,
+  14328, 14331, 14336, 14337, 14347, 14349, 14376, 14417, 14459, 14476,
+  14477, 14505, 14510, 14516, 14518, 14519, 14530, 14532, 14538, 14543,
+  14544, 14545, 14557, 14562, 14568, 14576, 14579, 14583, 14587, 14602,
+  14621, 14638, 14645, 14648, 14652, 14660, 14661, 14683, 14694, 14716.
 
 * Support for STT_GNU_IFUNC symbols added for s390 and s390x.
   Optimized versions of memcpy, memset, and memcmp added for System z10 and

Modified: fsf/trunk/libc/debug/Makefile
==============================================================================
--- fsf/trunk/libc/debug/Makefile (original)
+++ fsf/trunk/libc/debug/Makefile Sun Oct 21 00:01:49 2012
@@ -126,6 +126,9 @@
 	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)
 

Added: fsf/trunk/libc/debug/test-stpcpy_chk-ifunc.c
==============================================================================
--- fsf/trunk/libc/debug/test-stpcpy_chk-ifunc.c (added)
+++ fsf/trunk/libc/debug/test-stpcpy_chk-ifunc.c Sun Oct 21 00:01:49 2012
@@ -1,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"

Modified: fsf/trunk/libc/debug/test-stpcpy_chk.c
==============================================================================
--- fsf/trunk/libc/debug/test-stpcpy_chk.c (original)
+++ fsf/trunk/libc/debug/test-stpcpy_chk.c Sun Oct 21 00:01:49 2012
@@ -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@xxxxxxxxxx>, 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);

Added: fsf/trunk/libc/debug/test-strcpy_chk-ifunc.c
==============================================================================
--- fsf/trunk/libc/debug/test-strcpy_chk-ifunc.c (added)
+++ fsf/trunk/libc/debug/test-strcpy_chk-ifunc.c Sun Oct 21 00:01:49 2012
@@ -1,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"

Modified: fsf/trunk/libc/debug/test-strcpy_chk.c
==============================================================================
--- fsf/trunk/libc/debug/test-strcpy_chk.c (original)
+++ fsf/trunk/libc/debug/test-strcpy_chk.c Sun Oct 21 00:01:49 2012
@@ -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@xxxxxxxxxx>, 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);

Modified: fsf/trunk/libc/elf/Makefile
==============================================================================
--- fsf/trunk/libc/elf/Makefile (original)
+++ fsf/trunk/libc/elf/Makefile Sun Oct 21 00:01:49 2012
@@ -119,7 +119,8 @@
 ifeq (yes,$(have-initfini-array))
 tests += tst-array1 tst-array2 tst-array3 tst-array4 tst-array5
 endif
-tests-static = tst-tls1-static tst-tls2-static tst-stackguard1-static
+tests-static = tst-tls1-static tst-tls2-static tst-stackguard1-static \
+	       tst-leaks1-static
 ifeq (yes,$(build-shared))
 tests-static += tst-tls9-static
 tst-tls9-static-ENV = \
@@ -161,7 +162,8 @@
 endif
 endif
 ifeq ($(cross-compiling),no)
-tests: $(objpfx)tst-leaks1-mem $(objpfx)noload-mem
+tests: $(objpfx)tst-leaks1-mem $(objpfx)tst-leaks1-static-mem \
+       $(objpfx)noload-mem
 endif
 tlsmod17a-suffixes = 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
 tlsmod18a-suffixes = 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
@@ -1051,7 +1053,12 @@
 $(objpfx)tst-leaks1-mem: $(objpfx)tst-leaks1.out
 	$(common-objpfx)malloc/mtrace $(objpfx)tst-leaks1.mtrace > $@
 
+$(objpfx)tst-leaks1-static: $(common-objpfx)dlfcn/libdl.a
+$(objpfx)tst-leaks1-static-mem: $(objpfx)tst-leaks1-static.out
+	$(common-objpfx)malloc/mtrace $(objpfx)tst-leaks1-static.mtrace > $@
+
 tst-leaks1-ENV = MALLOC_TRACE=$(objpfx)tst-leaks1.mtrace
+tst-leaks1-static-ENV = MALLOC_TRACE=$(objpfx)tst-leaks1-static.mtrace
 
 $(objpfx)tst-addr1: $(libdl)
 

Modified: fsf/trunk/libc/elf/dl-load.c
==============================================================================
--- fsf/trunk/libc/elf/dl-load.c (original)
+++ fsf/trunk/libc/elf/dl-load.c Sun Oct 21 00:01:49 2012
@@ -1722,10 +1722,20 @@
       /* We successfully openened the file.  Now verify it is a file
 	 we can use.  */
       __set_errno (0);
-      fbp->len = __libc_read (fd, fbp->buf, sizeof (fbp->buf));
+      fbp->len = 0;
+      assert (sizeof (fbp->buf) > sizeof (ElfW(Ehdr)));
+      /* Read in the header.  */
+      do
+        {
+          ssize_t retlen = __libc_read (fd, fbp->buf + fbp->len,
+					sizeof (fbp->buf) - fbp->len);
+	  if (retlen <= 0)
+	    break;
+	  fbp->len += retlen;
+	}
+      while (__builtin_expect (fbp->len < sizeof (ElfW(Ehdr)), 0));
 
       /* This is where the ELF header is loaded.  */
-      assert (sizeof (fbp->buf) > sizeof (ElfW(Ehdr)));
       ehdr = (ElfW(Ehdr) *) fbp->buf;
 
       /* Now run the tests.  */

Modified: fsf/trunk/libc/elf/dl-open.c
==============================================================================
--- fsf/trunk/libc/elf/dl-open.c (original)
+++ fsf/trunk/libc/elf/dl-open.c Sun Oct 21 00:01:49 2012
@@ -189,9 +189,11 @@
     {
       const void *caller_dlopen = args->caller_dlopen;
 
+#ifdef SHARED
       /* We have to find out from which object the caller is calling.
 	 By default we assume this is the main application.  */
       call_map = GL(dl_ns)[LM_ID_BASE]._ns_loaded;
+#endif
 
       struct link_map *l;
       for (Lmid_t ns = 0; ns < GL(dl_nns); ++ns)

Added: fsf/trunk/libc/elf/tst-leaks1-static.c
==============================================================================
--- fsf/trunk/libc/elf/tst-leaks1-static.c (added)
+++ fsf/trunk/libc/elf/tst-leaks1-static.c Sun Oct 21 00:01:49 2012
@@ -1,0 +1,1 @@
+#include "tst-leaks1.c"

Modified: fsf/trunk/libc/io/fcntl.h
==============================================================================
--- fsf/trunk/libc/io/fcntl.h (original)
+++ fsf/trunk/libc/io/fcntl.h Sun Oct 21 00:01:49 2012
@@ -26,6 +26,9 @@
 
 /* This must be early so <bits/fcntl.h> can define types winningly.  */
 __BEGIN_DECLS
+
+/* Get __mode_t, __dev_t and __off_t  .*/
+#include <bits/types.h>
 
 /* Get the definitions of O_*, F_*, FD_*: all the
    numbers and flag bits for `open', `fcntl', et al.  */
@@ -56,7 +59,6 @@
 
 /* For XPG all symbols from <sys/stat.h> should also be available.  */
 #if defined __USE_XOPEN || defined __USE_XOPEN2K8
-# include <bits/types.h>         /* For __mode_t and __dev_t.  */
 # define __need_timespec
 # include <time.h>
 # include <bits/stat.h>

Modified: fsf/trunk/libc/string/Makefile
==============================================================================
--- fsf/trunk/libc/string/Makefile (original)
+++ fsf/trunk/libc/string/Makefile Sun Oct 21 00:01:49 2012
@@ -58,6 +58,8 @@
 		   bug-envz1 tst-strxfrm2 tst-endian tst-svc2		\
 		   tst-strtok_r
 
+tests-ifunc := $(strop-tests:%=test-%-ifunc)
+tests += $(tests-ifunc)
 
 include ../Rules
 

Added: fsf/trunk/libc/string/test-bcopy-ifunc.c
==============================================================================
--- fsf/trunk/libc/string/test-bcopy-ifunc.c (added)
+++ fsf/trunk/libc/string/test-bcopy-ifunc.c Sun Oct 21 00:01:49 2012
@@ -1,0 +1,20 @@
+/* Test and measure IFUNC implementations of bcopy 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-bcopy.c"

Added: fsf/trunk/libc/string/test-bzero-ifunc.c
==============================================================================
--- fsf/trunk/libc/string/test-bzero-ifunc.c (added)
+++ fsf/trunk/libc/string/test-bzero-ifunc.c Sun Oct 21 00:01:49 2012
@@ -1,0 +1,20 @@
+/* Test and measure IFUNC implementations of bzero 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-bzero.c"

Added: fsf/trunk/libc/string/test-memccpy-ifunc.c
==============================================================================
--- fsf/trunk/libc/string/test-memccpy-ifunc.c (added)
+++ fsf/trunk/libc/string/test-memccpy-ifunc.c Sun Oct 21 00:01:49 2012
@@ -1,0 +1,20 @@
+/* Test and measure IFUNC implementations of memccpy 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-memccpy.c"

Modified: fsf/trunk/libc/string/test-memccpy.c
==============================================================================
--- fsf/trunk/libc/string/test-memccpy.c (original)
+++ fsf/trunk/libc/string/test-memccpy.c Sun Oct 21 00:01:49 2012
@@ -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@xxxxxxxxxx>, 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);

Added: fsf/trunk/libc/string/test-memchr-ifunc.c
==============================================================================
--- fsf/trunk/libc/string/test-memchr-ifunc.c (added)
+++ fsf/trunk/libc/string/test-memchr-ifunc.c Sun Oct 21 00:01:49 2012
@@ -1,0 +1,20 @@
+/* Test and measure IFUNC implementations of memchr 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-memchr.c"

Modified: fsf/trunk/libc/string/test-memchr.c
==============================================================================
--- fsf/trunk/libc/string/test-memchr.c (original)
+++ fsf/trunk/libc/string/test-memchr.c Sun Oct 21 00:01:49 2012
@@ -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@xxxxxxxxxx>, 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);

Added: fsf/trunk/libc/string/test-memcmp-ifunc.c
==============================================================================
--- fsf/trunk/libc/string/test-memcmp-ifunc.c (added)
+++ fsf/trunk/libc/string/test-memcmp-ifunc.c Sun Oct 21 00:01:49 2012
@@ -1,0 +1,20 @@
+/* Test and measure IFUNC implementations of memcmp 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-memcmp.c"

Modified: fsf/trunk/libc/string/test-memcmp.c
==============================================================================
--- fsf/trunk/libc/string/test-memcmp.c (original)
+++ fsf/trunk/libc/string/test-memcmp.c Sun Oct 21 00:01:49 2012
@@ -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>

Added: fsf/trunk/libc/string/test-memcpy-ifunc.c
==============================================================================
--- fsf/trunk/libc/string/test-memcpy-ifunc.c (added)
+++ fsf/trunk/libc/string/test-memcpy-ifunc.c Sun Oct 21 00:01:49 2012
@@ -1,0 +1,20 @@
+/* Test and measure IFUNC implementations of memcpy 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-memcpy.c"

Modified: fsf/trunk/libc/string/test-memcpy.c
==============================================================================
--- fsf/trunk/libc/string/test-memcpy.c (original)
+++ fsf/trunk/libc/string/test-memcpy.c Sun Oct 21 00:01:49 2012
@@ -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@xxxxxxxxxx>, 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);

Added: fsf/trunk/libc/string/test-memmem-ifunc.c
==============================================================================
--- fsf/trunk/libc/string/test-memmem-ifunc.c (added)
+++ fsf/trunk/libc/string/test-memmem-ifunc.c Sun Oct 21 00:01:49 2012
@@ -1,0 +1,20 @@
+/* Test and measure IFUNC implementations of memmem 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-memmem.c"

Modified: fsf/trunk/libc/string/test-memmem.c
==============================================================================
--- fsf/trunk/libc/string/test-memmem.c (original)
+++ fsf/trunk/libc/string/test-memmem.c Sun Oct 21 00:01:49 2012
@@ -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@xxxxxxxxxx>, 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"

Added: fsf/trunk/libc/string/test-memmove-ifunc.c
==============================================================================
--- fsf/trunk/libc/string/test-memmove-ifunc.c (added)
+++ fsf/trunk/libc/string/test-memmove-ifunc.c Sun Oct 21 00:01:49 2012
@@ -1,0 +1,20 @@
+/* Test and measure IFUNC implementations of memmove 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-memmove.c"

Modified: fsf/trunk/libc/string/test-memmove.c
==============================================================================
--- fsf/trunk/libc/string/test-memmove.c (original)
+++ fsf/trunk/libc/string/test-memmove.c Sun Oct 21 00:01:49 2012
@@ -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);

Added: fsf/trunk/libc/string/test-mempcpy-ifunc.c
==============================================================================
--- fsf/trunk/libc/string/test-mempcpy-ifunc.c (added)
+++ fsf/trunk/libc/string/test-mempcpy-ifunc.c Sun Oct 21 00:01:49 2012
@@ -1,0 +1,20 @@
+/* Test and measure IFUNC implementations of mempcpy 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-mempcpy.c"

Modified: fsf/trunk/libc/string/test-mempcpy.c
==============================================================================
--- fsf/trunk/libc/string/test-mempcpy.c (original)
+++ fsf/trunk/libc/string/test-mempcpy.c Sun Oct 21 00:01:49 2012
@@ -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@xxxxxxxxxx>, 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);

Added: fsf/trunk/libc/string/test-memset-ifunc.c
==============================================================================
--- fsf/trunk/libc/string/test-memset-ifunc.c (added)
+++ fsf/trunk/libc/string/test-memset-ifunc.c Sun Oct 21 00:01:49 2012
@@ -1,0 +1,20 @@
+/* Test and measure IFUNC implementations of memset 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-memset.c"

Modified: fsf/trunk/libc/string/test-memset.c
==============================================================================
--- fsf/trunk/libc/string/test-memset.c (original)
+++ fsf/trunk/libc/string/test-memset.c Sun Oct 21 00:01:49 2012
@@ -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"
 

Added: fsf/trunk/libc/string/test-rawmemchr-ifunc.c
==============================================================================
--- fsf/trunk/libc/string/test-rawmemchr-ifunc.c (added)
+++ fsf/trunk/libc/string/test-rawmemchr-ifunc.c Sun Oct 21 00:01:49 2012
@@ -1,0 +1,20 @@
+/* Test and measure IFUNC implementations of rawmemchr 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-rawmemchr.c"

Modified: fsf/trunk/libc/string/test-rawmemchr.c
==============================================================================
--- fsf/trunk/libc/string/test-rawmemchr.c (original)
+++ fsf/trunk/libc/string/test-rawmemchr.c Sun Oct 21 00:01:49 2012
@@ -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@xxxxxxxxxx>, 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);

Added: fsf/trunk/libc/string/test-stpcpy-ifunc.c
==============================================================================
--- fsf/trunk/libc/string/test-stpcpy-ifunc.c (added)
+++ fsf/trunk/libc/string/test-stpcpy-ifunc.c Sun Oct 21 00:01:49 2012
@@ -1,0 +1,20 @@
+/* Test and measure IFUNC implementations of stpcpy 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.c"

Modified: fsf/trunk/libc/string/test-stpcpy.c
==============================================================================
--- fsf/trunk/libc/string/test-stpcpy.c (original)
+++ fsf/trunk/libc/string/test-stpcpy.c Sun Oct 21 00:01:49 2012
@@ -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@xxxxxxxxxx>, 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 *);

Added: fsf/trunk/libc/string/test-stpncpy-ifunc.c
==============================================================================
--- fsf/trunk/libc/string/test-stpncpy-ifunc.c (added)
+++ fsf/trunk/libc/string/test-stpncpy-ifunc.c Sun Oct 21 00:01:49 2012
@@ -1,0 +1,20 @@
+/* Test and measure IFUNC implementations of stpncpy 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-stpncpy.c"

Modified: fsf/trunk/libc/string/test-stpncpy.c
==============================================================================
--- fsf/trunk/libc/string/test-stpncpy.c (original)
+++ fsf/trunk/libc/string/test-stpncpy.c Sun Oct 21 00:01:49 2012
@@ -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@xxxxxxxxxx>, 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);

Added: fsf/trunk/libc/string/test-strcasecmp-ifunc.c
==============================================================================
--- fsf/trunk/libc/string/test-strcasecmp-ifunc.c (added)
+++ fsf/trunk/libc/string/test-strcasecmp-ifunc.c Sun Oct 21 00:01:49 2012
@@ -1,0 +1,20 @@
+/* Test and measure IFUNC implementations of strcasecmp 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-strcasecmp.c"

Modified: fsf/trunk/libc/string/test-strcasecmp.c
==============================================================================
--- fsf/trunk/libc/string/test-strcasecmp.c (original)
+++ fsf/trunk/libc/string/test-strcasecmp.c Sun Oct 21 00:01:49 2012
@@ -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@xxxxxxxxxx>, 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 *);

Added: fsf/trunk/libc/string/test-strcasestr-ifunc.c
==============================================================================
--- fsf/trunk/libc/string/test-strcasestr-ifunc.c (added)
+++ fsf/trunk/libc/string/test-strcasestr-ifunc.c Sun Oct 21 00:01:49 2012
@@ -1,0 +1,20 @@
+/* Test and measure IFUNC implementations of strcasestr 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-strcasestr.c"

Modified: fsf/trunk/libc/string/test-strcasestr.c
==============================================================================
--- fsf/trunk/libc/string/test-strcasestr.c (original)
+++ fsf/trunk/libc/string/test-strcasestr.c Sun Oct 21 00:01:49 2012
@@ -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@xxxxxxxxxx>, 2010.
 
@@ -18,6 +18,7 @@
    <http://www.gnu.org/licenses/>.  */
 
 #define TEST_MAIN
+#define TEST_NAME "strcasestr"
 #include "test-string.h"
 
 

Added: fsf/trunk/libc/string/test-strcat-ifunc.c
==============================================================================
--- fsf/trunk/libc/string/test-strcat-ifunc.c (added)
+++ fsf/trunk/libc/string/test-strcat-ifunc.c Sun Oct 21 00:01:49 2012
@@ -1,0 +1,20 @@
+/* Test and measure IFUNC implementations of strcat 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-strcat.c"

Modified: fsf/trunk/libc/string/test-strcat.c
==============================================================================
--- fsf/trunk/libc/string/test-strcat.c (original)
+++ fsf/trunk/libc/string/test-strcat.c Sun Oct 21 00:01:49 2012
@@ -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@xxxxxxxxxx>, 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 *);

Added: fsf/trunk/libc/string/test-strchr-ifunc.c
==============================================================================
--- fsf/trunk/libc/string/test-strchr-ifunc.c (added)
+++ fsf/trunk/libc/string/test-strchr-ifunc.c Sun Oct 21 00:01:49 2012
@@ -1,0 +1,20 @@
+/* Test and measure IFUNC implementations of strchr 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-strchr.c"

Modified: fsf/trunk/libc/string/test-strchr.c
==============================================================================
--- fsf/trunk/libc/string/test-strchr.c (original)
+++ fsf/trunk/libc/string/test-strchr.c Sun Oct 21 00:01:49 2012
@@ -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@xxxxxxxxxx>, 1999.
    Added wcschr support by Liubov Dmitrieva <liubov.dmitrieva@xxxxxxxxx>, 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

Added: fsf/trunk/libc/string/test-strchrnul-ifunc.c
==============================================================================
--- fsf/trunk/libc/string/test-strchrnul-ifunc.c (added)
+++ fsf/trunk/libc/string/test-strchrnul-ifunc.c Sun Oct 21 00:01:49 2012
@@ -1,0 +1,20 @@
+/* Test and measure IFUNC implementations of strchrnul 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-strchrnul.c"

Added: fsf/trunk/libc/string/test-strcmp-ifunc.c
==============================================================================
--- fsf/trunk/libc/string/test-strcmp-ifunc.c (added)
+++ fsf/trunk/libc/string/test-strcmp-ifunc.c Sun Oct 21 00:01:49 2012
@@ -1,0 +1,20 @@
+/* Test and measure IFUNC implementations of strcmp 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-strcmp.c"

Modified: fsf/trunk/libc/string/test-strcmp.c
==============================================================================
--- fsf/trunk/libc/string/test-strcmp.c (original)
+++ fsf/trunk/libc/string/test-strcmp.c Sun Oct 21 00:01:49 2012
@@ -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

Added: fsf/trunk/libc/string/test-strcpy-ifunc.c
==============================================================================
--- fsf/trunk/libc/string/test-strcpy-ifunc.c (added)
+++ fsf/trunk/libc/string/test-strcpy-ifunc.c Sun Oct 21 00:01:49 2012
@@ -1,0 +1,20 @@
+/* Test and measure IFUNC implementations of strcpy 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.c"

Modified: fsf/trunk/libc/string/test-strcpy.c
==============================================================================
--- fsf/trunk/libc/string/test-strcpy.c (original)
+++ fsf/trunk/libc/string/test-strcpy.c Sun Oct 21 00:01:49 2012
@@ -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@xxxxxxxxxx>, 1999.
    Added wcscpy support by Liubov Dmitrieva <liubov.dmitrieva@xxxxxxxxx>, 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

Added: fsf/trunk/libc/string/test-strcspn-ifunc.c
==============================================================================
--- fsf/trunk/libc/string/test-strcspn-ifunc.c (added)
+++ fsf/trunk/libc/string/test-strcspn-ifunc.c Sun Oct 21 00:01:49 2012
@@ -1,0 +1,20 @@
+/* Test and measure IFUNC implementations of strcspn 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-strcspn.c"

Modified: fsf/trunk/libc/string/test-strcspn.c
==============================================================================
--- fsf/trunk/libc/string/test-strcspn.c (original)
+++ fsf/trunk/libc/string/test-strcspn.c Sun Oct 21 00:01:49 2012
@@ -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@xxxxxxxxxx>, 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 *);

Added: fsf/trunk/libc/string/test-strlen-ifunc.c
==============================================================================
--- fsf/trunk/libc/string/test-strlen-ifunc.c (added)
+++ fsf/trunk/libc/string/test-strlen-ifunc.c Sun Oct 21 00:01:49 2012
@@ -1,0 +1,20 @@
+/* Test and measure IFUNC implementations of strlen 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-strlen.c"

Modified: fsf/trunk/libc/string/test-strlen.c
==============================================================================
--- fsf/trunk/libc/string/test-strlen.c (original)
+++ fsf/trunk/libc/string/test-strlen.c Sun Oct 21 00:01:49 2012
@@ -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@xxxxxxxxxx>, 1999.
    Added wcslen support by Liubov Dmitrieva <liubov.dmitrieva@xxxxxxxxx>, 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

Added: fsf/trunk/libc/string/test-strncasecmp-ifunc.c
==============================================================================
--- fsf/trunk/libc/string/test-strncasecmp-ifunc.c (added)
+++ fsf/trunk/libc/string/test-strncasecmp-ifunc.c Sun Oct 21 00:01:49 2012
@@ -1,0 +1,20 @@
+/* Test and measure IFUNC implementations of strncasecmp 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-strncasecmp.c"

Modified: fsf/trunk/libc/string/test-strncasecmp.c
==============================================================================
--- fsf/trunk/libc/string/test-strncasecmp.c (original)
+++ fsf/trunk/libc/string/test-strncasecmp.c Sun Oct 21 00:01:49 2012
@@ -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);

Added: fsf/trunk/libc/string/test-strncat-ifunc.c
==============================================================================
--- fsf/trunk/libc/string/test-strncat-ifunc.c (added)
+++ fsf/trunk/libc/string/test-strncat-ifunc.c Sun Oct 21 00:01:49 2012
@@ -1,0 +1,20 @@
+/* Test and measure IFUNC implementations of strncat 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-strncat.c"

Modified: fsf/trunk/libc/string/test-strncat.c
==============================================================================
--- fsf/trunk/libc/string/test-strncat.c (original)
+++ fsf/trunk/libc/string/test-strncat.c Sun Oct 21 00:01:49 2012
@@ -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);

Added: fsf/trunk/libc/string/test-strncmp-ifunc.c
==============================================================================
--- fsf/trunk/libc/string/test-strncmp-ifunc.c (added)
+++ fsf/trunk/libc/string/test-strncmp-ifunc.c Sun Oct 21 00:01:49 2012
@@ -1,0 +1,20 @@
+/* Test and measure IFUNC implementations of strncmp 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-strncmp.c"

Modified: fsf/trunk/libc/string/test-strncmp.c
==============================================================================
--- fsf/trunk/libc/string/test-strncmp.c (original)
+++ fsf/trunk/libc/string/test-strncmp.c Sun Oct 21 00:01:49 2012
@@ -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@xxxxxxxxxx>, 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);

Added: fsf/trunk/libc/string/test-strncpy-ifunc.c
==============================================================================
--- fsf/trunk/libc/string/test-strncpy-ifunc.c (added)
+++ fsf/trunk/libc/string/test-strncpy-ifunc.c Sun Oct 21 00:01:49 2012
@@ -1,0 +1,20 @@
+/* Test and measure IFUNC implementations of strncpy 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-strncpy.c"

Modified: fsf/trunk/libc/string/test-strncpy.c
==============================================================================
--- fsf/trunk/libc/string/test-strncpy.c (original)
+++ fsf/trunk/libc/string/test-strncpy.c Sun Oct 21 00:01:49 2012
@@ -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@xxxxxxxxxx>, 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);

Added: fsf/trunk/libc/string/test-strnlen-ifunc.c
==============================================================================
--- fsf/trunk/libc/string/test-strnlen-ifunc.c (added)
+++ fsf/trunk/libc/string/test-strnlen-ifunc.c Sun Oct 21 00:01:49 2012
@@ -1,0 +1,20 @@
+/* Test and measure IFUNC implementations of strnlen 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-strnlen.c"

Modified: fsf/trunk/libc/string/test-strnlen.c
==============================================================================
--- fsf/trunk/libc/string/test-strnlen.c (original)
+++ fsf/trunk/libc/string/test-strnlen.c Sun Oct 21 00:01:49 2012
@@ -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@xxxxxxxxxx>, 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);

Added: fsf/trunk/libc/string/test-strpbrk-ifunc.c
==============================================================================
--- fsf/trunk/libc/string/test-strpbrk-ifunc.c (added)
+++ fsf/trunk/libc/string/test-strpbrk-ifunc.c Sun Oct 21 00:01:49 2012
@@ -1,0 +1,20 @@
+/* Test and measure IFUNC implementations of strpbrk 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-strpbrk.c"

Modified: fsf/trunk/libc/string/test-strpbrk.c
==============================================================================
--- fsf/trunk/libc/string/test-strpbrk.c (original)
+++ fsf/trunk/libc/string/test-strpbrk.c Sun Oct 21 00:01:49 2012
@@ -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@xxxxxxxxxx>, 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 *);

Added: fsf/trunk/libc/string/test-strrchr-ifunc.c
==============================================================================
--- fsf/trunk/libc/string/test-strrchr-ifunc.c (added)
+++ fsf/trunk/libc/string/test-strrchr-ifunc.c Sun Oct 21 00:01:49 2012
@@ -1,0 +1,20 @@
+/* Test and measure IFUNC implementations of strrchr 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-strrchr.c"

Modified: fsf/trunk/libc/string/test-strrchr.c
==============================================================================
--- fsf/trunk/libc/string/test-strrchr.c (original)
+++ fsf/trunk/libc/string/test-strrchr.c Sun Oct 21 00:01:49 2012
@@ -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@xxxxxxxxxx>, 1999.
    Added wcsrrchr support by Liubov Dmitrieva <liubov.dmitrieva@xxxxxxxxx>,
@@ -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

Added: fsf/trunk/libc/string/test-strspn-ifunc.c
==============================================================================
--- fsf/trunk/libc/string/test-strspn-ifunc.c (added)
+++ fsf/trunk/libc/string/test-strspn-ifunc.c Sun Oct 21 00:01:49 2012
@@ -1,0 +1,20 @@
+/* Test and measure IFUNC implementations of strspn 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-strspn.c"

Modified: fsf/trunk/libc/string/test-strspn.c
==============================================================================
--- fsf/trunk/libc/string/test-strspn.c (original)
+++ fsf/trunk/libc/string/test-strspn.c Sun Oct 21 00:01:49 2012
@@ -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@xxxxxxxxxx>, 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 *);

Added: fsf/trunk/libc/string/test-strstr-ifunc.c
==============================================================================
--- fsf/trunk/libc/string/test-strstr-ifunc.c (added)
+++ fsf/trunk/libc/string/test-strstr-ifunc.c Sun Oct 21 00:01:49 2012
@@ -1,0 +1,20 @@
+/* Test and measure IFUNC implementations of strstr 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-strstr.c"

Modified: fsf/trunk/libc/string/test-strstr.c
==============================================================================
--- fsf/trunk/libc/string/test-strstr.c (original)
+++ fsf/trunk/libc/string/test-strstr.c Sun Oct 21 00:01:49 2012
@@ -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@xxxxxxxxxx>, 2010.
 
@@ -18,6 +18,7 @@
    <http://www.gnu.org/licenses/>.  */
 
 #define TEST_MAIN
+#define TEST_NAME "strstr"
 #include "test-string.h"
 
 

Added: fsf/trunk/libc/sysdeps/unix/sysv/linux/bits/fcntl-linux.h
==============================================================================
--- fsf/trunk/libc/sysdeps/unix/sysv/linux/bits/fcntl-linux.h (added)
+++ fsf/trunk/libc/sysdeps/unix/sysv/linux/bits/fcntl-linux.h Sun Oct 21 00:01:49 2012
@@ -1,0 +1,376 @@
+/* O_*, F_*, FD_* bit values for Linux.
+   Copyright (C) 2001-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/>.  */
+
+#ifndef	_FCNTL_H
+# error "Never use <bits/fcntl-linux.h> directly; include <fcntl.h> instead."
+#endif
+
+/* This file contains shared definitions between Linux architectures
+   and is included by <bits/fcntl.h> to declare them.  The various
+   #ifndef cases allow the architecture specific file to define those
+   values with different values.
+
+   A minimal <bits/fcntl.h> contains just:
+
+   struct flock {...}
+   #ifdef __USE_LARGEFILE64
+   struct flock64 {...}
+   #endif
+   #include <bits/fcntl-linux.h>
+*/
+
+#ifdef __USE_GNU
+# include <bits/uio.h>
+#endif
+
+/* open/fcntl.  */
+#define O_ACCMODE	   0003
+#define O_RDONLY	     00
+#define O_WRONLY	     01
+#define O_RDWR		     02
+#ifndef O_CREAT
+# define O_CREAT	   0100	/* Not fcntl.  */
+#endif
+#ifndef O_EXCL
+# define O_EXCL		   0200	/* Not fcntl.  */
+#endif
+#ifndef O_NOCTTY
+# define O_NOCTTY	   0400	/* Not fcntl.  */
+#endif
+#ifndef O_TRUNC
+# define O_TRUNC	  01000	/* Not fcntl.  */
+#endif
+#ifndef O_APPEND
+# define O_APPEND	  02000
+#endif
+#ifndef O_NONBLOCK
+# define O_NONBLOCK	  04000
+#endif
+#ifndef O_NDELAY
+# define O_NDELAY	O_NONBLOCK
+#endif
+#ifndef O_SYNC
+# define O_SYNC	       04010000
+#endif
+#define O_FSYNC		O_SYNC
+#ifndef O_ASYNC
+# define O_ASYNC	 020000
+#endif
+#ifndef __O_LARGEFILE
+# define __O_LARGEFILE	0100000
+#endif
+
+#ifndef __O_DIRECTORY
+# define __O_DIRECTORY  0200000
+#endif
+#ifndef __O_NOFOLLOW
+# define __O_NOFOLLOW	0400000
+#endif
+#ifndef __O_CLOEXEC
+# define __O_CLOEXEC   02000000
+#endif
+#ifndef __O_DIRECT
+# define __O_DIRECT	 040000
+#endif
+#ifndef __O_NOATIME
+# define __O_NOATIME   01000000
+#endif
+#ifndef __O_PATH
+# define __O_PATH     010000000
+#endif
+#ifndef __O_DSYNC
+# define __O_DSYNC	 010000
+#endif
+
+#ifndef F_GETLK
+# define F_GETLK	5	/* Get record locking info.  */
+# define F_SETLK	6	/* Set record locking info (non-blocking).  */
+# define F_SETLKW	7	/* Set record locking info (blocking).	*/
+#endif
+#ifndef F_GETLK64
+# define F_GETLK64	12	/* Get record locking info.  */
+# define F_SETLK64	13	/* Set record locking info (non-blocking).  */
+# define F_SETLKW64	14	/* Set record locking info (blocking).	*/
+#endif
+
+#ifdef __USE_LARGEFILE64
+# define O_LARGEFILE __O_LARGEFILE
+#endif
+
+#ifdef __USE_XOPEN2K8
+# define O_DIRECTORY	__O_DIRECTORY	/* Must be a directory.	 */
+# define O_NOFOLLOW	__O_NOFOLLOW	/* Do not follow links.	 */
+# define O_CLOEXEC	__O_CLOEXEC	/* Set close_on_exec.  */
+#endif
+
+#ifdef __USE_GNU
+# define O_DIRECT	__O_DIRECT	/* Direct disk access.	*/
+# define O_NOATIME	__O_NOATIME	/* Do not set atime.  */
+# define O_PATH		__O_PATH	/* Resolve pathname but do not open file.  */
+#endif
+
+/* For now, Linux has no separate synchronicitiy options for read
+   operations.  We define O_RSYNC therefore as the same as O_SYNC
+   since this is a superset.  */
+#if defined __USE_POSIX199309 || defined __USE_UNIX98
+# define O_DSYNC	__O_DSYNC	/* Synchronize data.  */
+# define O_RSYNC	__O_SYNC	/* Synchronize read operations.	 */
+#endif
+
+/* Values for the second argument to `fcntl'.  */
+#define F_DUPFD		0	/* Duplicate file descriptor.  */
+#define F_GETFD		1	/* Get file descriptor flags.  */
+#define F_SETFD		2	/* Set file descriptor flags.  */
+#define F_GETFL		3	/* Get file status flags.  */
+#define F_SETFL		4	/* Set file status flags.  */
+
+#ifndef __F_SETOWN
+# define __F_SETOWN	8
+# define __F_GETOWN	9
+#endif
+
+#if defined __USE_BSD || defined __USE_UNIX98 || defined __USE_XOPEN2K8
+# define F_SETOWN	__F_SETOWN /* Get owner (process receiving SIGIO).  */
+# define F_GETOWN	__F_GETOWN /* Set owner (process receiving SIGIO).  */
+#endif
+
+#ifndef __F_SETSIG
+# define __F_SETSIG	10	/* Set number of signal to be sent.  */
+# define __F_GETSIG	11	/* Get number of signal to be sent.  */
+#endif
+#ifndef __F_SETOWN_EX
+# define __F_SETOWN_EX	15	/* Get owner (thread receiving SIGIO).  */
+# define __F_GETOWN_EX	16	/* Set owner (thread receiving SIGIO).  */
+#endif
+
+#ifdef __USE_GNU
+# define F_SETSIG	__F_SETSIG	/* Set number of signal to be sent.  */
+# define F_GETSIG	__F_GETSIG	/* Get number of signal to be sent.  */
+# define F_SETOWN_EX	__F_SETOWN_EX	/* Get owner (thread receiving SIGIO).  */
+# define F_GETOWN_EX	__F_GETOWN_EX	/* Set owner (thread receiving SIGIO).  */
+#endif
+
+#ifdef __USE_GNU
+# define F_SETLEASE	1024	/* Set a lease.	 */
+# define F_GETLEASE	1025	/* Enquire what lease is active.  */
+# define F_NOTIFY	1026	/* Request notifications on a directory.  */
+# define F_SETPIPE_SZ	1031	/* Set pipe page size array.  */
+# define F_GETPIPE_SZ	1032	/* Set pipe page size array.  */
+#endif
+#ifdef __USE_XOPEN2K8
+# define F_DUPFD_CLOEXEC 1030	/* Duplicate file descriptor with
+				   close-on-exit set.  */
+#endif
+
+/* For F_[GET|SET]FD.  */
+#define FD_CLOEXEC	1	/* Actually anything with low bit set goes */
+
+#ifndef F_RDLCK
+/* For posix fcntl() and `l_type' field of a `struct flock' for lockf().  */
+# define F_RDLCK		0	/* Read lock.  */
+# define F_WRLCK		1	/* Write lock.	*/
+# define F_UNLCK		2	/* Remove lock.	 */
+#endif
+
+
+/* For old implementation of BSD flock.  */
+#ifndef F_EXLCK
+# define F_EXLCK		4	/* or 3 */
+# define F_SHLCK		8	/* or 4 */
+#endif
+
+#ifdef __USE_BSD
+/* Operations for BSD flock, also used by the kernel implementation.  */
+# define LOCK_SH	1	/* Shared lock.  */
+# define LOCK_EX	2	/* Exclusive lock.  */
+# define LOCK_NB	4	/* Or'd with one of the above to prevent
+				   blocking.  */
+# define LOCK_UN	8	/* Remove lock.  */
+#endif
+
+#ifdef __USE_GNU
+# define LOCK_MAND	32	/* This is a mandatory flock:	*/
+# define LOCK_READ	64	/* ... which allows concurrent read operations.	 */
+# define LOCK_WRITE	128	/* ... which allows concurrent write operations.  */
+# define LOCK_RW	192	/* ... Which allows concurrent read & write operations.	 */
+#endif
+
+#ifdef __USE_GNU
+/* Types of directory notifications that may be requested with F_NOTIFY.  */
+# define DN_ACCESS	0x00000001	/* File accessed.  */
+# define DN_MODIFY	0x00000002	/* File modified.  */
+# define DN_CREATE	0x00000004	/* File created.  */
+# define DN_DELETE	0x00000008	/* File removed.  */
+# define DN_RENAME	0x00000010	/* File renamed.  */
+# define DN_ATTRIB	0x00000020	/* File changed attributes.  */
+# define DN_MULTISHOT	0x80000000	/* Don't remove notifier.  */
+#endif
+
+
+#ifdef __USE_GNU
+/* Owner types.  */
+enum __pid_type
+  {
+    F_OWNER_TID = 0,		/* Kernel thread.  */
+    F_OWNER_PID,		/* Process.  */
+    F_OWNER_PGRP,		/* Process group.  */
+    F_OWNER_GID = F_OWNER_PGRP	/* Alternative, obsolete name.  */
+  };
+
+/* Structure to use with F_GETOWN_EX and F_SETOWN_EX.  */
+struct f_owner_ex
+  {
+    enum __pid_type type;	/* Owner type of ID.  */
+    __pid_t pid;		/* ID of owner.  */
+  };
+#endif
+
+/* Define some more compatibility macros to be backward compatible with
+   BSD systems which did not managed to hide these kernel macros.  */
+#ifdef	__USE_BSD
+# define FAPPEND	O_APPEND
+# define FFSYNC		O_FSYNC
+# define FASYNC		O_ASYNC
+# define FNONBLOCK	O_NONBLOCK
+# define FNDELAY	O_NDELAY
+#endif /* Use BSD.  */
+
+#ifndef __POSIX_FADV_DONTNEED
+#  define __POSIX_FADV_DONTNEED	4
+#  define __POSIX_FADV_NOREUSE	5
+#endif
+/* Advise to `posix_fadvise'.  */
+#ifdef __USE_XOPEN2K
+# define POSIX_FADV_NORMAL	0 /* No further special treatment.  */
+# define POSIX_FADV_RANDOM	1 /* Expect random page references.  */
+# define POSIX_FADV_SEQUENTIAL	2 /* Expect sequential page references.	 */
+# define POSIX_FADV_WILLNEED	3 /* Will need these pages.  */
+# define POSIX_FADV_DONTNEED	__POSIX_FADV_DONTNEED /* Don't need these pages.  */
+# define POSIX_FADV_NOREUSE	__POSIX_FADV_NOREUSE /* Data will be accessed once.  */
+#endif
+
+
+#ifdef __USE_GNU
+/* Flags for SYNC_FILE_RANGE.  */
+# define SYNC_FILE_RANGE_WAIT_BEFORE	1 /* Wait upon writeout of all pages
+					     in the range before performing the
+					     write.  */
+# define SYNC_FILE_RANGE_WRITE		2 /* Initiate writeout of all those
+					     dirty pages in the range which are
+					     not presently under writeback.  */
+# define SYNC_FILE_RANGE_WAIT_AFTER	4 /* Wait upon writeout of all pages in
+					     the range after performing the
+					     write.  */
+
+/* Flags for SPLICE and VMSPLICE.  */
+# define SPLICE_F_MOVE		1	/* Move pages instead of copying.  */
+# define SPLICE_F_NONBLOCK	2	/* Don't block on the pipe splicing
+					   (but we may still block on the fd
+					   we splice from/to).  */
+# define SPLICE_F_MORE		4	/* Expect more data.  */
+# define SPLICE_F_GIFT		8	/* Pages passed in are a gift.  */
+
+
+/* File handle structure.  */
+struct file_handle
+{
+  unsigned int handle_bytes;
+  int handle_type;
+  /* File identifier.  */
+  unsigned char f_handle[0];
+};
+
+/* Maximum handle size (for now).  */
+# define MAX_HANDLE_SZ	128
+#endif
+
+__BEGIN_DECLS
+
+#ifdef __USE_GNU
+
+/* Provide kernel hint to read ahead.  */
+extern ssize_t readahead (int __fd, __off64_t __offset, size_t __count)
+    __THROW;
+
+
+/* Selective file content synch'ing.
+
+   This function is a possible cancellation point and therefore not
+   marked with __THROW.  */
+extern int sync_file_range (int __fd, __off64_t __offset, __off64_t __count,
+			    unsigned int __flags);
+
+
+/* Splice address range into a pipe.
+
+   This function is a possible cancellation point and therefore not
+   marked with __THROW.  */
+extern ssize_t vmsplice (int __fdout, const struct iovec *__iov,
+			 size_t __count, unsigned int __flags);
+
+/* Splice two files together.
+
+   This function is a possible cancellation point and therefore not
+   marked with __THROW.  */
+extern ssize_t splice (int __fdin, __off64_t *__offin, int __fdout,
+		       __off64_t *__offout, size_t __len,
+		       unsigned int __flags);
+
+/* In-kernel implementation of tee for pipe buffers.
+
+   This function is a possible cancellation point and therefore not
+   marked with __THROW.  */
+extern ssize_t tee (int __fdin, int __fdout, size_t __len,
+		    unsigned int __flags);
+
+/* Reserve storage for the data of the file associated with FD.
+
+   This function is a possible cancellation point and therefore not
+   marked with __THROW.  */
+# ifndef __USE_FILE_OFFSET64
+extern int fallocate (int __fd, int __mode, __off_t __offset, __off_t __len);
+# else
+#  ifdef __REDIRECT
+extern int __REDIRECT (fallocate, (int __fd, int __mode, __off64_t __offset,
+				   __off64_t __len),
+		       fallocate64);
+#  else
+#   define fallocate fallocate64
+#  endif
+# endif
+# ifdef __USE_LARGEFILE64
+extern int fallocate64 (int __fd, int __mode, __off64_t __offset,
+			__off64_t __len);
+# endif
+
+
+/* Map file name to file handle.  */
+extern int name_to_handle_at (int __dfd, const char *__name,
+			      struct file_handle *__handle, int *__mnt_id,
+			      int __flags) __THROW;
+
+/* Open file using the file handle.
+
+   This function is a possible cancellation point and therefore not
+   marked with __THROW.  */
+extern int open_by_handle_at (int __mountdirfd, struct file_handle *__handle,
+			      int __flags);
+
+#endif	/* use GNU */
+
+__END_DECLS

Modified: fsf/trunk/libc/sysdeps/unix/sysv/linux/s390/bits/fcntl.h
==============================================================================
--- fsf/trunk/libc/sysdeps/unix/sysv/linux/s390/bits/fcntl.h (original)
+++ fsf/trunk/libc/sysdeps/unix/sysv/linux/s390/bits/fcntl.h Sun Oct 21 00:01:49 2012
@@ -1,6 +1,5 @@
 /* O_*, F_*, FD_* bit values for Linux.
-   Copyright (C) 2000-2002,2004,2006,2007,2009,2010,2011
-   Free Software Foundation, Inc.
+   Copyright (C) 2000-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
@@ -21,40 +20,7 @@
 # error "Never use <bits/fcntl.h> directly; include <fcntl.h> instead."
 #endif
 
-#include <sys/types.h>
 #include <bits/wordsize.h>
-#ifdef __USE_GNU
-# include <bits/uio.h>
-#endif
-
-
-/* open/fcntl - O_SYNC is only implemented on blocks devices and on files
-   located on a few file systems.  */
-#define O_ACCMODE	   0003
-#define O_RDONLY	     00
-#define O_WRONLY	     01
-#define O_RDWR		     02
-#define O_CREAT		   0100	/* not fcntl */
-#define O_EXCL		   0200	/* not fcntl */
-#define O_NOCTTY	   0400	/* not fcntl */
-#define O_TRUNC		  01000	/* not fcntl */
-#define O_APPEND	  02000
-#define O_NONBLOCK	  04000
-#define O_NDELAY	O_NONBLOCK
-#define O_SYNC	       04010000
-#define O_FSYNC		 O_SYNC
-#define O_ASYNC		 020000
-
-#ifdef __USE_XOPEN2K8
-# define O_DIRECTORY	0200000	/* Must be a directory.	 */
-# define O_NOFOLLOW	0400000	/* Do not follow links.	 */
-# define O_CLOEXEC     02000000 /* Set close_on_exec.  */
-#endif
-#ifdef __USE_GNU
-# define O_DIRECT	 040000	/* Direct disk access.	*/
-# define O_NOATIME     01000000 /* Do not set atime.  */
-# define O_PATH	      010000000 /* Resolve pathname but do not open file.  */
-#endif
 
 #ifdef __USE_LARGEFILE64
 # if __WORDSIZE == 64
@@ -63,14 +29,6 @@
 # else
 #  define O_LARGEFILE	0100000
 # endif
-#endif
-
-/* For now Linux has synchronisity options for data and read operations.
-   We define the symbols here but let them do the same as O_SYNC since
-   this is a superset.	*/
-#if defined __USE_POSIX199309 || defined __USE_UNIX98
-# define O_DSYNC	010000	/* Synchronize data.  */
-# define O_RSYNC	O_SYNC	/* Synchronize read operations.	 */
 #endif
 
 /* Values for the second argument to `fcntl'.  */
@@ -102,69 +60,6 @@
 # define F_SETLKW64	14	/* Set record locking info (blocking).	*/
 #endif
 
-#if defined __USE_BSD || defined __USE_UNIX98 || defined __USE_XOPEN2K8
-# define F_SETOWN	8	/* Get owner (process receiving SIGIO).  */
-# define F_GETOWN	9	/* Set owner (process receiving SIGIO).  */
-#endif
-
-#ifdef __USE_GNU
-# define F_SETSIG	10	/* Set number of signal to be sent.  */
-# define F_GETSIG	11	/* Get number of signal to be sent.  */
-# define F_SETOWN_EX	15	/* Get owner (thread receiving SIGIO).  */
-# define F_GETOWN_EX	16	/* Set owner (thread receiving SIGIO).  */
-#endif
-
-#ifdef __USE_GNU
-# define F_SETLEASE	1024	/* Set a lease.	 */
-# define F_GETLEASE	1025	/* Enquire what lease is active.  */
-# define F_NOTIFY	1026	/* Request notfications on a directory.	 */
-# define F_SETPIPE_SZ	1031	/* Set pipe page size array.  */
-# define F_GETPIPE_SZ	1032	/* Set pipe page size array.  */
-#endif
-#ifdef __USE_XOPEN2K8
-# define F_DUPFD_CLOEXEC 1030	/* Duplicate file descriptor with
-				   close-on-exit set.  */
-#endif
-
-/* For F_[GET|SET]FD.  */
-#define FD_CLOEXEC	1	/* actually anything with low bit set goes */
-
-/* For posix fcntl() and `l_type' field of a `struct flock' for lockf().  */
-#define F_RDLCK		0	/* Read lock.  */
-#define F_WRLCK		1	/* Write lock.	*/
-#define F_UNLCK		2	/* Remove lock.	 */
-
-/* for old implementation of bsd flock () */
-#define F_EXLCK		4	/* or 3 */
-#define F_SHLCK		8	/* or 4 */
-
-#ifdef __USE_BSD
-/* Operations for bsd flock(), also used by the kernel implementation */
-# define LOCK_SH	1	/* shared lock */
-# define LOCK_EX	2	/* exclusive lock */
-# define LOCK_NB	4	/* or'd with one of the above to prevent
-				   blocking */
-# define LOCK_UN	8	/* remove lock */
-#endif
-
-#ifdef __USE_GNU
-# define LOCK_MAND	32	/* This is a mandatory flock:	*/
-# define LOCK_READ	64	/* ... which allows concurrent read operations.	 */
-# define LOCK_WRITE	128	/* ... which allows concurrent write operations.  */
-# define LOCK_RW	192	/* ... Which allows concurrent read & write operations.	 */
-#endif
-
-#ifdef __USE_GNU
-/* Types of directory notifications that may be requested with F_NOTIFY.  */
-# define DN_ACCESS	0x00000001	/* File accessed.  */
-# define DN_MODIFY	0x00000002	/* File modified.  */
-# define DN_CREATE	0x00000004	/* File created.  */
-# define DN_DELETE	0x00000008	/* File removed.  */
-# define DN_RENAME	0x00000010	/* File renamed.  */
-# define DN_ATTRIB	0x00000020	/* File changed attibutes.  */
-# define DN_MULTISHOT	0x80000000	/* Don't remove notifier.  */
-#endif
-
 struct flock
   {
     short int l_type;	/* Type of lock: F_RDLCK, F_WRLCK, or F_UNLCK.	*/
@@ -190,156 +85,13 @@
   };
 #endif
 
-#ifdef __USE_GNU
-/* Owner types.  */
-enum __pid_type
-  {
-    F_OWNER_TID = 0,		/* Kernel thread.  */
-    F_OWNER_PID,		/* Process.  */
-    F_OWNER_PGRP,		/* Process group.  */
-    F_OWNER_GID = F_OWNER_PGRP	/* Alternative, obsolete name.  */
-  };
-
-/* Structure to use with F_GETOWN_EX and F_SETOWN_EX.  */
-struct f_owner_ex
-  {
-    enum __pid_type type;	/* Owner type of ID.  */
-    __pid_t pid;		/* ID of owner.  */
-  };
+#if __WORDSIZE == 64
+# define __POSIX_FADV_DONTNEED	6 /* Don't need these pages.  */
+# define __POSIX_FADV_NOREUSE	7 /* Data will be accessed once.  */
+#else
+# define __POSIX_FADV_DONTNEED	4 /* Don't need these pages.  */
+# define __POSIX_FADV_NOREUSE	5 /* Data will be accessed once.  */
 #endif
 
-/* Define some more compatibility macros to be backward compatible with
-   BSD systems which did not managed to hide these kernel macros.  */
-#ifdef	__USE_BSD
-# define FAPPEND	O_APPEND
-# define FFSYNC		O_FSYNC
-# define FASYNC		O_ASYNC
-# define FNONBLOCK	O_NONBLOCK
-# define FNDELAY	O_NDELAY
-#endif /* Use BSD.  */
-
-/* Advise to `posix_fadvise'.  */
-#ifdef __USE_XOPEN2K
-# define POSIX_FADV_NORMAL	0 /* No further special treatment.  */
-# define POSIX_FADV_RANDOM	1 /* Expect random page references.  */
-# define POSIX_FADV_SEQUENTIAL	2 /* Expect sequential page references.	 */
-# define POSIX_FADV_WILLNEED	3 /* Will need these pages.  */
-# if __WORDSIZE == 64
-#  define POSIX_FADV_DONTNEED	6 /* Don't need these pages.  */
-#  define POSIX_FADV_NOREUSE	7 /* Data will be accessed once.  */
-# else
-#  define POSIX_FADV_DONTNEED	4 /* Don't need these pages.  */
-#  define POSIX_FADV_NOREUSE	5 /* Data will be accessed once.  */
-# endif
-#endif
-
-
-#ifdef __USE_GNU
-/* Flags for SYNC_FILE_RANGE.  */
-# define SYNC_FILE_RANGE_WAIT_BEFORE	1 /* Wait upon writeout of all pages
-					     in the range before performing the
-					     write.  */
-# define SYNC_FILE_RANGE_WRITE		2 /* Initiate writeout of all those
-					     dirty pages in the range which are
-					     not presently under writeback.  */
-# define SYNC_FILE_RANGE_WAIT_AFTER	4 /* Wait upon writeout of all pages in
-					     the range after performing the
-					     write.  */
-
-/* Flags for SPLICE and VMSPLICE.  */
-# define SPLICE_F_MOVE		1	/* Move pages instead of copying.  */
-# define SPLICE_F_NONBLOCK	2	/* Don't block on the pipe splicing
-					   (but we may still block on the fd
-					   we splice from/to).  */
-# define SPLICE_F_MORE		4	/* Expect more data.  */
-# define SPLICE_F_GIFT		8	/* Pages passed in are a gift.  */
-
-
-/* File handle structure.  */
-struct file_handle
-{
-  unsigned int handle_bytes;
-  int handle_type;
-  /* File identifier.  */
-  unsigned char f_handle[0];
-};
-
-/* Maximum handle size (for now).  */
-# define MAX_HANDLE_SZ	128
-#endif
-
-__BEGIN_DECLS
-
-#ifdef __USE_GNU
-
-/* Provide kernel hint to read ahead.  */
-extern ssize_t readahead (int __fd, __off64_t __offset, size_t __count)
-    __THROW;
-
-
-/* Selective file content synch'ing.
-
-   This function is a possible cancellation point and therefore not
-   marked with __THROW.  */
-extern int sync_file_range (int __fd, __off64_t __offset, __off64_t __count,
-			    unsigned int __flags);
-
-
-/* Splice address range into a pipe.
-
-   This function is a possible cancellation point and therefore not
-   marked with __THROW.  */
-extern ssize_t vmsplice (int __fdout, const struct iovec *__iov,
-			 size_t __count, unsigned int __flags);
-
-/* Splice two files together.
-
-   This function is a possible cancellation point and therefore not
-   marked with __THROW.  */
-extern ssize_t splice (int __fdin, __off64_t *__offin, int __fdout,
-		       __off64_t *__offout, size_t __len,
-		       unsigned int __flags);
-
-/* In-kernel implementation of tee for pipe buffers.
-
-   This function is a possible cancellation point and therefore not
-   marked with __THROW.  */
-extern ssize_t tee (int __fdin, int __fdout, size_t __len,
-		    unsigned int __flags);
-
-/* Reserve storage for the data of the file associated with FD.
-
-   This function is a possible cancellation point and therefore not
-   marked with __THROW.  */
-# ifndef __USE_FILE_OFFSET64
-extern int fallocate (int __fd, int __mode, __off_t __offset, __off_t __len);
-# else
-#  ifdef __REDIRECT
-extern int __REDIRECT (fallocate, (int __fd, int __mode, __off64_t __offset,
-				   __off64_t __len),
-		       fallocate64);
-#  else
-#   define fallocate fallocate64
-#  endif
-# endif
-# ifdef __USE_LARGEFILE64
-extern int fallocate64 (int __fd, int __mode, __off64_t __offset,
-			__off64_t __len);
-# endif
-
-
-/* Map file name to file handle.  */
-extern int name_to_handle_at (int __dfd, const char *__name,
-			      struct file_handle *__handle, int *__mnt_id,
-			      int __flags) __THROW;
-
-/* Open file using the file handle.
-
-   This function is a possible cancellation point and therefore not
-   marked with __THROW.  */
-extern int open_by_handle_at (int __mountdirfd, struct file_handle *__handle,
-			      int __flags);
-
-#endif
-
-__END_DECLS
+/* Include generic Linux declarations.  */
+#include <bits/fcntl-linux.h>

Modified: fsf/trunk/libc/sysdeps/unix/sysv/linux/sparc/bits/fcntl.h
==============================================================================
--- fsf/trunk/libc/sysdeps/unix/sysv/linux/sparc/bits/fcntl.h (original)
+++ fsf/trunk/libc/sysdeps/unix/sysv/linux/sparc/bits/fcntl.h Sun Oct 21 00:01:49 2012
@@ -1,6 +1,5 @@
 /* O_*, F_*, FD_* bit values for Linux/SPARC.
-   Copyright (C) 1995-1998, 2000, 2003, 2004, 2006, 2007, 2009, 2010, 2011
-   Free Software Foundation, Inc.
+   Copyright (C) 1995-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
@@ -21,38 +20,25 @@
 # error "Never use <bits/fcntl.h> directly; include <fcntl.h> instead."
 #endif
 
-#include <sys/types.h>
 #include <bits/wordsize.h>
-#ifdef __USE_GNU
-# include <bits/uio.h>
-#endif
 
-/* open/fcntl - O_SYNC is only implemented on blocks devices and on files
-   located on a few file systems.  */
-#define O_RDONLY	0x0000
-#define O_WRONLY	0x0001
-#define O_RDWR		0x0002
-#define O_ACCMODE	0x0003
 #define O_APPEND	0x0008
 #define O_ASYNC		0x0040
 #define O_CREAT		0x0200	/* not fcntl */
 #define O_TRUNC		0x0400	/* not fcntl */
 #define O_EXCL		0x0800	/* not fcntl */
 #define O_SYNC		0x802000
-#define O_FSYNC		O_SYNC
 #define O_NONBLOCK	0x4000
 #define O_NDELAY	(0x0004 | O_NONBLOCK)
-#define O_NOCTTY	0x8000	/* not fcntl */
+#define O_NOCTTY        0x8000  /* not fcntl */
 
-#ifdef __USE_XOPEN2K8
-# define O_DIRECTORY	0x10000 /* must be a directory */
-# define O_NOFOLLOW	0x20000 /* don't follow links */
-# define O_CLOEXEC	0x400000 /* Set close_on_exit.  */
-#endif
-#ifdef __USE_GNU
-# define O_DIRECT	0x100000 /* direct disk access hint */
-# define O_NOATIME	0x200000 /* Do not set atime.  */
-# define O_PATH		0x1000000 /* Resolve pathname but do not open file.  */
+#define __O_DIRECTORY	0x10000 /* must be a directory */
+#define __O_NOFOLLOW	0x20000 /* don't follow links */
+#define __O_CLOEXEC	0x400000 /* Set close_on_exit.  */
+
+#define __O_DIRECT	0x100000 /* direct disk access hint */
+#define __O_NOATIME	0x200000 /* Do not set atime.  */

[... 733 lines stripped ...]
_______________________________________________
Commits mailing list
Commits@xxxxxxxxxx
http://eglibc.org/cgi-bin/mailman/listinfo/commits