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

[Commits] r22991 - in /fsf/trunk/libc: ./ elf/ io/ localedata/locales/ math/ sysdeps/gnu/netinet/ sysdeps/mach/hurd/ sysdeps/powerpc/f...



Author: eglibc
Date: Sat May  4 00:01:56 2013
New Revision: 22991

Log:
Import glibc-mainline for 2013-05-04

Added:
    fsf/trunk/libc/io/open64_2.c
    fsf/trunk/libc/io/open_2.c
    fsf/trunk/libc/io/openat64_2.c
    fsf/trunk/libc/io/openat_2.c
    fsf/trunk/libc/sysdeps/unix/sysv/linux/powerpc/time.c
Removed:
    fsf/trunk/libc/sysdeps/unix/sysv/linux/open64_2.c
    fsf/trunk/libc/sysdeps/unix/sysv/linux/open_2.c
Modified:
    fsf/trunk/libc/ChangeLog
    fsf/trunk/libc/NEWS
    fsf/trunk/libc/elf/dl-sysdep.c
    fsf/trunk/libc/io/Makefile
    fsf/trunk/libc/io/open.c
    fsf/trunk/libc/io/open64.c
    fsf/trunk/libc/io/openat.c
    fsf/trunk/libc/io/openat64.c
    fsf/trunk/libc/localedata/locales/en_CA
    fsf/trunk/libc/localedata/locales/es_AR
    fsf/trunk/libc/localedata/locales/es_ES
    fsf/trunk/libc/math/libm-test.inc
    fsf/trunk/libc/sysdeps/gnu/netinet/tcp.h
    fsf/trunk/libc/sysdeps/mach/hurd/open.c
    fsf/trunk/libc/sysdeps/mach/hurd/openat.c
    fsf/trunk/libc/sysdeps/powerpc/fpu/libm-test-ulps
    fsf/trunk/libc/sysdeps/unix/sysv/linux/Makefile
    fsf/trunk/libc/sysdeps/unix/sysv/linux/bits/socket.h
    fsf/trunk/libc/sysdeps/unix/sysv/linux/openat.c
    fsf/trunk/libc/sysdeps/unix/sysv/linux/openat64.c
    fsf/trunk/libc/sysdeps/unix/sysv/linux/powerpc/Versions
    fsf/trunk/libc/sysdeps/unix/sysv/linux/powerpc/bits/libc-vdso.h
    fsf/trunk/libc/sysdeps/unix/sysv/linux/powerpc/init-first.c
    fsf/trunk/libc/sysdeps/unix/sysv/linux/wordsize-64/openat.c

Modified: fsf/trunk/libc/ChangeLog
==============================================================================
--- fsf/trunk/libc/ChangeLog (original)
+++ fsf/trunk/libc/ChangeLog Sat May  4 00:01:56 2013
@@ -1,3 +1,66 @@
+2013-05-03  Roland McGrath  <roland@xxxxxxxxxxxxx>
+
+	* io/open.c (__open_2): Moved to ...
+	* io/open_2.c: ... this new file.
+	* io/open64.c (__open64_2): Moved to ...
+	* io/open64_2.c: ... this new file.
+	* io/openat.c (__openat_2): Moved to ...
+	* io/openat_2.c: ... this new file.
+	* io/openat64.c (__openat64_2): Moved to ...
+	* io/openat64_2.c: ... this new file.
+	* io/Makefile (routines): Add them.
+	* sysdeps/unix/sysv/linux/Makefile (sysdep_routines): Remove them.
+	* sysdeps/unix/sysv/linux/open_2.c: File removed.
+	* sysdeps/unix/sysv/linux/open64_2.c: File removed.
+	* sysdeps/unix/sysv/linux/openat.c (__OPENAT_2): Removed.
+	* sysdeps/unix/sysv/linux/openat64.c (__OPENAT_2): Removed.
+	* sysdeps/unix/sysv/linux/wordsize-64/openat.c (__openat_2): Removed.
+	(__openat64): Add hidden_ver.
+	* sysdeps/mach/hurd/open.c (__open_2, __open64_2): Removed.
+	* sysdeps/mach/hurd/openat.c (__openat_2): Removed.
+
+	* elf/dl-sysdep.c (_dl_sysdep_start) [NEED_DL_SYSINFO]:
+	Separately conditionalize setting of GLRO(dl_sysinfo) so
+	that the GLRO(dl_sysinfo_dso) test is under [NEED_DL_SYSINFO_DSO]
+	as well, but the actual setting is only under [NEED_DL_SYSINFO].
+
+2013-04-30  Adhemerval Zanella  <azanella@xxxxxxxxxxxxxxxxxx>
+
+	* sysdeps/unix/sysv/linux/powerpc/Versions: Add __vdso_time symbol.
+	* sysdeps/unix/sysv/linux/powerpc/bits/libc-vdso.h: Add __vdso_time
+	definition.
+	(VDSO_IFUNC_RET): Cast to void * to silence compiler warning.
+	* sysdeps/unix/sysv/linux/powerpc/init-first.c
+	(_libc_vdso_platform_setup): Add __vdso_time initialization.
+	* sysdeps/unix/sysv/linux/powerpc/time.c: New file: time implementation
+	for PowerPC using vDSO where is avaliable or gettimeofday as a fallback.
+
+2013-05-03  Joseph Myers  <joseph@xxxxxxxxxxxxxxxx>
+
+	* math/libm-test.inc (lgamma_test): Consistently use TEST_f_f1 to
+	test signgam value.
+
+	* math/libm-test.inc (hypot_test): Do not use
+	IGNORE_ZERO_INF_SIGN.
+
+2013-05-03  Andreas Jaeger  <aj@xxxxxxx>
+
+	* sysdeps/gnu/netinet/tcp.h (TCP_TIMESTAMP): New value, from
+	Linux 3.9.
+	* sysdeps/unix/sysv/linux/bits/socket.h (PF_VSOCK, AF_VSOCK): Add.
+	(PF_MAX): Adjust for VSOCK change.
+
+2013-05-03  Adhemerval Zanella  <azanella@xxxxxxxxxxxxxxxxxx>
+
+	* sysdeps/powerpc/fpu/libm-test-ulps: Update.
+
+2013-05-02  Carlos O'Donell  <carlos@xxxxxxxxxx>
+
+	[BZ #15264]
+	* localedata/locales/en_CA (LC_MESSAGES): Define yesstr and nostr.
+	* localedata/locales/es_AR (LC_MESSAGES): Copy es_ES.
+	* localedata/locales/es_ES (LC_MESSAGES): Define yesstr and nostr.
+
 2013-05-02  David S. Miller  <davem@xxxxxxxxxxxxx>
 
 	* sysdeps/sparc/fpu/libm-test-ulps: Update.
@@ -12,6 +75,7 @@
 
 2013-05-01  Richard Smith  <richard@xxxxxxxxxxxxx>
 
+	[BZ #14952]
 	* misc/sys/cdefs.h (__extern_inline, __extern_always_inline)
 	[__GNUC__ && (__GNUC_STDC_INLINE__ || __GNUC_GNU_INLINE__)]:
 	Use __attribute__ ((__gnu_inline__)).

Modified: fsf/trunk/libc/NEWS
==============================================================================
--- fsf/trunk/libc/NEWS (original)
+++ fsf/trunk/libc/NEWS Sat May  4 00:01:56 2013
@@ -11,11 +11,12 @@
 
   10060, 10062, 10357, 11120, 11561, 12723, 13550, 13889, 13951, 13988,
   14142, 14176, 14200, 14280, 14293, 14317, 14327, 14478, 14496, 14686,
-  14812, 14888, 14920, 14964, 14981, 14982, 14985, 14994, 14996, 15003,
-  15006, 15007, 15020, 15023, 15036, 15054, 15055, 15062, 15078, 15084,
-  15085, 15086, 15160, 15214, 15221, 15232, 15234, 15283, 15285, 15287,
-  15304, 15305, 15307, 15309, 15327, 15330, 15335, 15336, 15337, 15342,
-  15346, 15361, 15366, 15380, 15394, 15405, 15406, 15409, 15416, 15423.
+  14812, 14888, 14920, 14952, 14964, 14981, 14982, 14985, 14994, 14996,
+  15003, 15006, 15007, 15020, 15023, 15036, 15054, 15055, 15062, 15078,
+  15084, 15085, 15086, 15160, 15214, 15221, 15232, 15234, 15283, 15285,
+  15287, 15304, 15305, 15307, 15309, 15327, 15330, 15335, 15336, 15337,
+  15342, 15346, 15361, 15366, 15380, 15394, 15405, 15406, 15409, 15416,
+  15423.
 
 * CVE-2013-0242 Buffer overrun in regexp matcher has been fixed (Bugzilla
   #15078).

Modified: fsf/trunk/libc/elf/dl-sysdep.c
==============================================================================
--- fsf/trunk/libc/elf/dl-sysdep.c (original)
+++ fsf/trunk/libc/elf/dl-sysdep.c Sat May  4 00:01:56 2013
@@ -205,10 +205,15 @@
     GLRO(dl_pagesize) = __getpagesize ();
 #endif
 
-#if defined NEED_DL_SYSINFO
-  /* Only set the sysinfo value if we also have the vsyscall DSO.  */
-  if (GLRO(dl_sysinfo_dso) != 0 && new_sysinfo)
-    GLRO(dl_sysinfo) = new_sysinfo;
+#ifdef NEED_DL_SYSINFO
+  if (new_sysinfo != 0)
+    {
+# ifdef NEED_DL_SYSINFO_DSO
+      /* Only set the sysinfo value if we also have the vsyscall DSO.  */
+      if (GLRO(dl_sysinfo_dso) != 0)
+# endif
+        GLRO(dl_sysinfo) = new_sysinfo;
+    }
 #endif
 
 #ifdef DL_SYSDEP_INIT

Modified: fsf/trunk/libc/io/Makefile
==============================================================================
--- fsf/trunk/libc/io/Makefile (original)
+++ fsf/trunk/libc/io/Makefile Sat May  4 00:01:56 2013
@@ -36,10 +36,10 @@
 	statvfs fstatvfs statvfs64 fstatvfs64				\
 	umask chmod fchmod lchmod fchmodat				\
 	mkdir mkdirat							\
-	open open64 openat openat64 close				\
+	open open_2 open64 open64_2 openat openat_2 openat64 openat64_2	\
 	read write lseek lseek64 access euidaccess faccessat		\
 	fcntl flock lockf lockf64					\
-	dup dup2 dup3 pipe pipe2					\
+	close dup dup2 dup3 pipe pipe2					\
 	creat creat64							\
 	chdir fchdir							\
 	getcwd getwd getdirname						\

Modified: fsf/trunk/libc/io/open.c
==============================================================================
--- fsf/trunk/libc/io/open.c (original)
+++ fsf/trunk/libc/io/open.c Sat May  4 00:01:56 2013
@@ -22,7 +22,6 @@
 #include <stddef.h>
 #include <stdio.h>
 
-extern char **__libc_argv attribute_hidden;
 
 /* Open FILE with access OFLAG.  If OFLAG includes O_CREAT,
    a third argument is the file protection.  */
@@ -57,15 +56,6 @@
 
 stub_warning (open)
 
-
-int
-__open_2 (file, oflag)
-     const char *file;
-     int oflag;
-{
-  if (oflag & O_CREAT)
-    __fortify_fail ("invalid open call: O_CREAT without mode");
-
-  return __open (file, oflag);
-}
+/* __open_2 is a generic wrapper that calls __open.
+   So give a stub warning for that symbol too.  */
 stub_warning (__open_2)

Modified: fsf/trunk/libc/io/open64.c
==============================================================================
--- fsf/trunk/libc/io/open64.c (original)
+++ fsf/trunk/libc/io/open64.c Sat May  4 00:01:56 2013
@@ -53,15 +53,6 @@
 
 stub_warning (open64)
 
-
-int
-__open64_2 (file, oflag)
-     const char *file;
-     int oflag;
-{
-  if (oflag & O_CREAT)
-    __fortify_fail ("invalid open64 call: O_CREAT without mode");
-
-  return __open64 (file, oflag);
-}
+/* __open64_2 is a generic wrapper that calls __open64.
+   So give a stub warning for that symbol too.  */
 stub_warning (__open64_2)

Added: fsf/trunk/libc/io/open64_2.c
==============================================================================
--- fsf/trunk/libc/io/open64_2.c (added)
+++ fsf/trunk/libc/io/open64_2.c Sat May  4 00:01:56 2013
@@ -1,0 +1,29 @@
+/* _FORTIFY_SOURCE wrapper for open64.
+   Copyright (C) 2013 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/>.  */
+
+#include <fcntl.h>
+#include <stdio.h>
+
+int
+__open64_2 (const char *file, int oflag)
+{
+  if (oflag & O_CREAT)
+    __fortify_fail ("invalid open64 call: O_CREAT without mode");
+
+  return __open64 (file, oflag);
+}

Added: fsf/trunk/libc/io/open_2.c
==============================================================================
--- fsf/trunk/libc/io/open_2.c (added)
+++ fsf/trunk/libc/io/open_2.c Sat May  4 00:01:56 2013
@@ -1,0 +1,29 @@
+/* _FORTIFY_SOURCE wrapper for open.
+   Copyright (C) 2013 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/>.  */
+
+#include <fcntl.h>
+#include <stdio.h>
+
+int
+__open_2 (const char *file, int oflag)
+{
+  if (oflag & O_CREAT)
+    __fortify_fail ("invalid open call: O_CREAT without mode");
+
+  return __open (file, oflag);
+}

Modified: fsf/trunk/libc/io/openat.c
==============================================================================
--- fsf/trunk/libc/io/openat.c (original)
+++ fsf/trunk/libc/io/openat.c Sat May  4 00:01:56 2013
@@ -75,16 +75,6 @@
 weak_alias (__openat, openat)
 stub_warning (openat)
 
-
-int
-__openat_2 (fd, file, oflag)
-     int fd;
-     const char *file;
-     int oflag;
-{
-  if (oflag & O_CREAT)
-    __fortify_fail ("invalid openat call: O_CREAT without mode");
-
-  return __openat (fd, file, oflag);
-}
+/* __openat_2 is a generic wrapper that calls __openat.
+   So give a stub warning for that symbol too.  */
 stub_warning (__openat_2)

Modified: fsf/trunk/libc/io/openat64.c
==============================================================================
--- fsf/trunk/libc/io/openat64.c (original)
+++ fsf/trunk/libc/io/openat64.c Sat May  4 00:01:56 2013
@@ -68,16 +68,6 @@
 weak_alias (__openat64, openat64)
 stub_warning (openat64)
 
-
-int
-__openat64_2 (fd, file, oflag)
-     int fd;
-     const char *file;
-     int oflag;
-{
-  if (oflag & O_CREAT)
-    __fortify_fail ("invalid openat64 call: O_CREAT without mode");
-
-  return __openat64 (fd, file, oflag);
-}
+/* __openat64_2 is a generic wrapper that calls __openat64.
+   So give a stub warning for that symbol too.  */
 stub_warning (__openat_2)

Added: fsf/trunk/libc/io/openat64_2.c
==============================================================================
--- fsf/trunk/libc/io/openat64_2.c (added)
+++ fsf/trunk/libc/io/openat64_2.c Sat May  4 00:01:56 2013
@@ -1,0 +1,29 @@
+/* _FORTIFY_SOURCE wrapper for openat64.
+   Copyright (C) 2013 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/>.  */
+
+#include <fcntl.h>
+#include <stdio.h>
+
+int
+__openat64_2 (int fd, const char *file, int oflag)
+{
+  if (oflag & O_CREAT)
+    __fortify_fail ("invalid openat64 call: O_CREAT without mode");
+
+  return __openat64 (fd, file, oflag);
+}

Added: fsf/trunk/libc/io/openat_2.c
==============================================================================
--- fsf/trunk/libc/io/openat_2.c (added)
+++ fsf/trunk/libc/io/openat_2.c Sat May  4 00:01:56 2013
@@ -1,0 +1,29 @@
+/* _FORTIFY_SOURCE wrapper for openat.
+   Copyright (C) 2013 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/>.  */
+
+#include <fcntl.h>
+#include <stdio.h>
+
+int
+__openat_2 (int fd, const char *file, int oflag)
+{
+  if (oflag & O_CREAT)
+    __fortify_fail ("invalid openat call: O_CREAT without mode");
+
+  return __openat (fd, file, oflag);
+}

Modified: fsf/trunk/libc/localedata/locales/en_CA
==============================================================================
--- fsf/trunk/libc/localedata/locales/en_CA (original)
+++ fsf/trunk/libc/localedata/locales/en_CA Sat May  4 00:01:56 2013
@@ -135,7 +135,16 @@
 END LC_TIME
 
 LC_MESSAGES
+% Yes - Display only the English "Yes." While Canada is bilingual it would be
+%       difficult to display two words e.g. Yes|Oui, where one word is expected.
+%       Thus given that the majority of the population is Anglophone we use only
+%       the English word for yesstr.
+yesstr      "<U0059><U0065><U0073>"
+% No - Display only the English "No." See the rationale for yesstr.
+nostr       "<U004E><U006F>"
+% ^[yYoO].* - Accept both English "Yes" and French "Oui" as Canada is bilingual.
 yesexpr     "<U005E><U005B><U0079><U0059><U006F><U004F><U005D><U002E><U002A>"
+% ^[nN].* - Accept both Engish "No" and French "Non" as Canada is bilingual.
 noexpr      "<U005E><U005B><U006E><U004E><U005D><U002E><U002A>"
 END LC_MESSAGES
 

Modified: fsf/trunk/libc/localedata/locales/es_AR
==============================================================================
--- fsf/trunk/libc/localedata/locales/es_AR (original)
+++ fsf/trunk/libc/localedata/locales/es_AR Sat May  4 00:01:56 2013
@@ -56,8 +56,7 @@
 END LC_CTYPE
 
 LC_MESSAGES
-yesexpr "<U005E><U005B><U0073><U0053><U0079><U0059><U005D><U002E><U002A>"
-noexpr  "<U005E><U005B><U006E><U004E><U005D><U002E><U002A>"
+copy "es_ES"
 END LC_MESSAGES
 
 LC_MONETARY

Modified: fsf/trunk/libc/localedata/locales/es_ES
==============================================================================
--- fsf/trunk/libc/localedata/locales/es_ES (original)
+++ fsf/trunk/libc/localedata/locales/es_ES Sat May  4 00:01:56 2013
@@ -61,7 +61,13 @@
 END LC_CTYPE
 
 LC_MESSAGES
+% Si - Display only the Spanish "Yes."
+yesstr  "<U0053><U0069>"
+% No - Spanish and English "No" have the same spelling.
+nostr   "<U004E><U006F>"
+% ^[sSyY].* - Spanish or English answer is appropriate.
 yesexpr "<U005E><U005B><U0073><U0053><U0079><U0059><U005D><U002E><U002A>"
+% ^[nN].* - Spanish or English answer have the same spelling.
 noexpr  "<U005E><U005B><U006E><U004E><U005D><U002E><U002A>"
 END LC_MESSAGES
 

Modified: fsf/trunk/libc/math/libm-test.inc
==============================================================================
--- fsf/trunk/libc/math/libm-test.inc (original)
+++ fsf/trunk/libc/math/libm-test.inc Sat May  4 00:01:56 2013
@@ -9129,8 +9129,8 @@
 
   START (hypot);
 
-  TEST_ff_f (hypot, plus_infty, 1, plus_infty, IGNORE_ZERO_INF_SIGN);
-  TEST_ff_f (hypot, minus_infty, 1, plus_infty, IGNORE_ZERO_INF_SIGN);
+  TEST_ff_f (hypot, plus_infty, 1, plus_infty);
+  TEST_ff_f (hypot, minus_infty, 1, plus_infty);
 
 #ifndef TEST_INLINE
   TEST_ff_f (hypot, plus_infty, qnan_value, plus_infty);
@@ -9644,18 +9644,16 @@
 
   START (lgamma);
 
-  TEST_f_f (lgamma, plus_infty, plus_infty);
-  TEST_f_f (lgamma, 0, plus_infty, DIVIDE_BY_ZERO_EXCEPTION);
-  check_int ("signgam for lgamma(0) == 1", signgam, 1, 0, 0, 0);
-  TEST_f_f (lgamma, minus_zero, plus_infty, DIVIDE_BY_ZERO_EXCEPTION);
-  check_int ("signgam for lgamma(-0) == -1", signgam, -1, 0, 0, 0);
-  TEST_f_f (lgamma, qnan_value, qnan_value);
+  TEST_f_f1 (lgamma, plus_infty, plus_infty, 1);
+  TEST_f_f1 (lgamma, 0, plus_infty, 1, DIVIDE_BY_ZERO_EXCEPTION);
+  TEST_f_f1 (lgamma, minus_zero, plus_infty, -1, DIVIDE_BY_ZERO_EXCEPTION);
+  TEST_f_f1 (lgamma, qnan_value, qnan_value, IGNORE);
 
   /* lgamma (x) == +inf plus divide by zero exception for integer x <= 0.  */
-  TEST_f_f (lgamma, -3, plus_infty, DIVIDE_BY_ZERO_EXCEPTION|ERRNO_ERANGE);
-  TEST_f_f (lgamma, minus_infty, plus_infty);
-  TEST_f_f (lgamma, -max_value, plus_infty, DIVIDE_BY_ZERO_EXCEPTION);
-  TEST_f_f (lgamma, max_value, plus_infty, OVERFLOW_EXCEPTION);
+  TEST_f_f1 (lgamma, -3, plus_infty, IGNORE, DIVIDE_BY_ZERO_EXCEPTION|ERRNO_ERANGE);
+  TEST_f_f1 (lgamma, minus_infty, plus_infty, IGNORE);
+  TEST_f_f1 (lgamma, -max_value, plus_infty, IGNORE, DIVIDE_BY_ZERO_EXCEPTION);
+  TEST_f_f1 (lgamma, max_value, plus_infty, 1, OVERFLOW_EXCEPTION);
 
   TEST_f_f1 (lgamma, 1, 0, 1);
 

Modified: fsf/trunk/libc/sysdeps/gnu/netinet/tcp.h
==============================================================================
--- fsf/trunk/libc/sysdeps/gnu/netinet/tcp.h (original)
+++ fsf/trunk/libc/sysdeps/gnu/netinet/tcp.h Sat May  4 00:01:56 2013
@@ -60,6 +60,7 @@
 #define TCP_QUEUE_SEQ		 21 /* Set sequence number of repaired queue. */
 #define TCP_REPAIR_OPTIONS	 22 /* Repair TCP connection options */
 #define TCP_FASTOPEN		 23 /* Enable FastOpen on listeners */
+#define TCP_TIMESTAMP		 24 /* TCP time stamp */
 
 #ifdef __USE_MISC
 # include <sys/types.h>

Modified: fsf/trunk/libc/sysdeps/mach/hurd/open.c
==============================================================================
--- fsf/trunk/libc/sysdeps/mach/hurd/open.c (original)
+++ fsf/trunk/libc/sysdeps/mach/hurd/open.c Sat May  4 00:01:56 2013
@@ -52,20 +52,9 @@
 libc_hidden_weak (__open)
 weak_alias (__libc_open, open)
 
-int
-__open_2 (file, oflag)
-     const char *file;
-     int oflag;
-{
-  if (oflag & O_CREAT)
-    __fortify_fail ("invalid open call: O_CREAT without mode");
-
-  return __open (file, oflag);
-}
 
 /* open64 is just the same as open for us.  */
 weak_alias (__libc_open, __libc_open64)
 weak_alias (__libc_open, __open64)
 libc_hidden_weak (_open64)
 weak_alias (__libc_open, open64)
-strong_alias (__open_2, __open64_2)

Modified: fsf/trunk/libc/sysdeps/mach/hurd/openat.c
==============================================================================
--- fsf/trunk/libc/sysdeps/mach/hurd/openat.c (original)
+++ fsf/trunk/libc/sysdeps/mach/hurd/openat.c Sat May  4 00:01:56 2013
@@ -56,20 +56,7 @@
 libc_hidden_def (__openat)
 weak_alias (__openat, openat)
 
-int
-__openat_2 (fd, file, oflag)
-     int fd;
-     const char *file;
-     int oflag;
-{
-  if (oflag & O_CREAT)
-    __fortify_fail ("invalid openat call: O_CREAT without mode");
-
-  return __openat (fd, file, oflag);
-}
-
 /* openat64 is just the same as openat for us.  */
 weak_alias (__openat, __openat64)
 libc_hidden_weak (__openat64)
 weak_alias (__openat, openat64)
-strong_alias (__openat_2, __openat64_2)

Modified: fsf/trunk/libc/sysdeps/powerpc/fpu/libm-test-ulps
==============================================================================
--- fsf/trunk/libc/sysdeps/powerpc/fpu/libm-test-ulps (original)
+++ fsf/trunk/libc/sysdeps/powerpc/fpu/libm-test-ulps Sat May  4 00:01:56 2013
@@ -3832,9 +3832,15 @@
 Test "Imaginary part of: catan (-0x1.0000000000001p0 - 0x1p-27 i) == -7.853981633974484345157511161499711112683e-1 - 3.725290298461913200853528590596263270474e-9 i":
 double: 1
 idouble: 1
+Test "Real part of: catan (-0x1.000002p0 + 0x1p-126 i) == -7.853982230020895322927482174768220815493e-1 + 5.877471053462247139383742414506671233336e-39 i":
+float: 1
+ifloat: 1
 Test "Real part of: catan (-0x1.000002p0 + 0x1p-13 i) == -7.853982267273793866654490522673596014524e-1 + 6.103514882246036852433556327261700380577e-5 i":
 float: 1
 ifloat: 1
+Test "Real part of: catan (-0x1.000002p0 - 0x1p-126 i) == -7.853982230020895322927482174768220815493e-1 - 5.877471053462247139383742414506671233336e-39 i":
+float: 1
+ifloat: 1
 Test "Real part of: catan (-0x1.000002p0 - 0x1p-13 i) == -7.853982267273793866654490522673596014524e-1 - 6.103514882246036852433556327261700380577e-5 i":
 float: 1
 ifloat: 1
@@ -3861,6 +3867,12 @@
 idouble: 1
 ildouble: 1
 ldouble: 1
+Test "Imaginary part of: catan (-0x1p-1020 + 1.0 i) == -7.853981633974483096156608458198757210493e-1 + 3.538516356758520804574969980043991380025e2 i":
+double: 1
+idouble: 1
+Test "Imaginary part of: catan (-0x1p-1020 - 1.0 i) == -7.853981633974483096156608458198757210493e-1 - 3.538516356758520804574969980043991380025e2 i":
+double: 1
+idouble: 1
 Test "Real part of: catan (-0x1p-13 + 0x1.000002p0 i) == -7.859169620684960844300240092596908675974e-1 + 4.852030056234795712498957387213592193975 i":
 float: 1
 ifloat: 1
@@ -3891,13 +3903,25 @@
 Test "Real part of: catan (-0x1p-54 + 1.0 i) == -7.853981633974483234934486536343324763447e-1 + 1.906154746539849600897388334009985581467e1 i":
 float: 1
 ifloat: 1
+Test "Imaginary part of: catan (-0x1p-54 + 1.0 i) == -7.853981633974483234934486536343324763447e-1 + 1.906154746539849600897388334009985581467e1 i":
+float: 1
+ifloat: 1
 Test "Real part of: catan (-0x1p-54 - 1.0 i) == -7.853981633974483234934486536343324763447e-1 - 1.906154746539849600897388334009985581467e1 i":
 float: 1
 ifloat: 1
+Test "Imaginary part of: catan (-0x1p-54 - 1.0 i) == -7.853981633974483234934486536343324763447e-1 - 1.906154746539849600897388334009985581467e1 i":
+float: 1
+ifloat: 1
 Test "Real part of: catan (-0x1p-57 + 1.0 i) == -7.853981633974483113503843217966828154612e-1 + 2.010126823623841397309973152228712047720e1 i":
 float: 1
 ifloat: 1
+Test "Imaginary part of: catan (-0x1p-57 + 1.0 i) == -7.853981633974483113503843217966828154612e-1 + 2.010126823623841397309973152228712047720e1 i":
+float: 1
+ifloat: 1
 Test "Real part of: catan (-0x1p-57 - 1.0 i) == -7.853981633974483113503843217966828154612e-1 - 2.010126823623841397309973152228712047720e1 i":
+float: 1
+ifloat: 1
+Test "Imaginary part of: catan (-0x1p-57 - 1.0 i) == -7.853981633974483113503843217966828154612e-1 - 2.010126823623841397309973152228712047720e1 i":
 float: 1
 ifloat: 1
 Test "Real part of: catan (-1.0 + 0x1p-13 i) == -7.853981671227386080775748393881580082970e-1 + 6.103515609841754902688560615027452023669e-5 i":
@@ -3967,9 +3991,15 @@
 Test "Imaginary part of: catan (0x1.0000000000001p0 - 0x1p-27 i) == 7.853981633974484345157511161499711112683e-1 - 3.725290298461913200853528590596263270474e-9 i":
 double: 1
 idouble: 1
+Test "Real part of: catan (0x1.000002p0 + 0x1p-126 i) == 7.853982230020895322927482174768220815493e-1 + 5.877471053462247139383742414506671233336e-39 i":
+float: 1
+ifloat: 1
 Test "Real part of: catan (0x1.000002p0 + 0x1p-13 i) == 7.853982267273793866654490522673596014524e-1 + 6.103514882246036852433556327261700380577e-5 i":
 float: 1
 ifloat: 1
+Test "Real part of: catan (0x1.000002p0 - 0x1p-126 i) == 7.853982230020895322927482174768220815493e-1 - 5.877471053462247139383742414506671233336e-39 i":
+float: 1
+ifloat: 1
 Test "Real part of: catan (0x1.000002p0 - 0x1p-13 i) == 7.853982267273793866654490522673596014524e-1 - 6.103514882246036852433556327261700380577e-5 i":
 float: 1
 ifloat: 1
@@ -3996,6 +4026,12 @@
 idouble: 1
 ildouble: 1
 ldouble: 1
+Test "Imaginary part of: catan (0x1p-1020 + 1.0 i) == 7.853981633974483096156608458198757210493e-1 + 3.538516356758520804574969980043991380025e2 i":
+double: 1
+idouble: 1
+Test "Imaginary part of: catan (0x1p-1020 - 1.0 i) == 7.853981633974483096156608458198757210493e-1 - 3.538516356758520804574969980043991380025e2 i":
+double: 1
+idouble: 1
 Test "Real part of: catan (0x1p-13 + 0x1.000002p0 i) == 7.859169620684960844300240092596908675974e-1 + 4.852030056234795712498957387213592193975 i":
 float: 1
 ifloat: 1
@@ -4026,13 +4062,25 @@
 Test "Real part of: catan (0x1p-54 + 1.0 i) == 7.853981633974483234934486536343324763447e-1 + 1.906154746539849600897388334009985581467e1 i":
 float: 1
 ifloat: 1
+Test "Imaginary part of: catan (0x1p-54 + 1.0 i) == 7.853981633974483234934486536343324763447e-1 + 1.906154746539849600897388334009985581467e1 i":
+float: 1
+ifloat: 1
 Test "Real part of: catan (0x1p-54 - 1.0 i) == 7.853981633974483234934486536343324763447e-1 - 1.906154746539849600897388334009985581467e1 i":
 float: 1
 ifloat: 1
+Test "Imaginary part of: catan (0x1p-54 - 1.0 i) == 7.853981633974483234934486536343324763447e-1 - 1.906154746539849600897388334009985581467e1 i":
+float: 1
+ifloat: 1
 Test "Real part of: catan (0x1p-57 + 1.0 i) == 7.853981633974483113503843217966828154612e-1 + 2.010126823623841397309973152228712047720e1 i":
 float: 1
 ifloat: 1
+Test "Imaginary part of: catan (0x1p-57 + 1.0 i) == 7.853981633974483113503843217966828154612e-1 + 2.010126823623841397309973152228712047720e1 i":
+float: 1
+ifloat: 1
 Test "Real part of: catan (0x1p-57 - 1.0 i) == 7.853981633974483113503843217966828154612e-1 - 2.010126823623841397309973152228712047720e1 i":
+float: 1
+ifloat: 1
+Test "Imaginary part of: catan (0x1p-57 - 1.0 i) == 7.853981633974483113503843217966828154612e-1 - 2.010126823623841397309973152228712047720e1 i":
 float: 1
 ifloat: 1
 Test "Real part of: catan (1.0 + 0x1p-13 i) == 7.853981671227386080775748393881580082970e-1 + 6.103515609841754902688560615027452023669e-5 i":
@@ -4103,6 +4151,12 @@
 idouble: 1
 ildouble: 1
 ldouble: 1
+Test "Imaginary part of: catanh (-0x1p-126 + 0x1.000002p0 i) == -5.877471053462247139383742414506671233336e-39 + 7.853982230020895322927482174768220815493e-1 i":
+float: 1
+ifloat: 1
+Test "Imaginary part of: catanh (-0x1p-126 - 0x1.000002p0 i) == -5.877471053462247139383742414506671233336e-39 - 7.853982230020895322927482174768220815493e-1 i":
+float: 1
+ifloat: 1
 Test "Real part of: catanh (-0x1p-13 + 0x1.000002p0 i) == -6.103514882246036852433556327261700380577e-5 + 7.853982267273793866654490522673596014524e-1 i":
 double: 1
 idouble: 1
@@ -4167,6 +4221,9 @@
 Test "Imaginary part of: catanh (-0x1p-57 - 1.0 i) == -3.469446951953614188823848962783813448721e-18 - 7.853981633974483096156608458198757330864e-1 i":
 float: 1
 ifloat: 1
+Test "Real part of: catanh (-1.0 + 0x1p-1020 i) == -3.538516356758520804574969980043991380025e2 + 7.853981633974483096156608458198757210493e-1 i":
+double: 1
+idouble: 1
 Test "Imaginary part of: catanh (-1.0 + 0x1p-13 i) == -4.852030264850939738801379894163661227127 + 7.854286809755354140031716771044626356262e-1 i":
 float: 1
 ifloat: 1
@@ -4176,12 +4233,21 @@
 Test "Imaginary part of: catanh (-1.0 + 0x1p-33 i) == -1.178350206951907026009379309773625595762e1 + 7.853981634265521400723945494331241018449e-1 i":
 float: 1
 ifloat: 1
+Test "Real part of: catanh (-1.0 + 0x1p-54 i) == -1.906154746539849600897388334009985581467e1 + 7.853981633974483234934486536343324763447e-1 i":
+float: 1
+ifloat: 1
 Test "Imaginary part of: catanh (-1.0 + 0x1p-54 i) == -1.906154746539849600897388334009985581467e1 + 7.853981633974483234934486536343324763447e-1 i":
 float: 1
 ifloat: 1
+Test "Real part of: catanh (-1.0 + 0x1p-57 i) == -2.010126823623841397309973152228712047720e1 + 7.853981633974483113503843217966828154612e-1 i":
+float: 1
+ifloat: 1
 Test "Imaginary part of: catanh (-1.0 + 0x1p-57 i) == -2.010126823623841397309973152228712047720e1 + 7.853981633974483113503843217966828154612e-1 i":
 float: 1
 ifloat: 1
+Test "Real part of: catanh (-1.0 - 0x1p-1020 i) == -3.538516356758520804574969980043991380025e2 - 7.853981633974483096156608458198757210493e-1 i":
+double: 1
+idouble: 1
 Test "Imaginary part of: catanh (-1.0 - 0x1p-13 i) == -4.852030264850939738801379894163661227127 - 7.854286809755354140031716771044626356262e-1 i":
 float: 1
 ifloat: 1
@@ -4191,7 +4257,13 @@
 Test "Imaginary part of: catanh (-1.0 - 0x1p-33 i) == -1.178350206951907026009379309773625595762e1 - 7.853981634265521400723945494331241018449e-1 i":
 float: 1
 ifloat: 1
+Test "Real part of: catanh (-1.0 - 0x1p-54 i) == -1.906154746539849600897388334009985581467e1 - 7.853981633974483234934486536343324763447e-1 i":
+float: 1
+ifloat: 1
 Test "Imaginary part of: catanh (-1.0 - 0x1p-54 i) == -1.906154746539849600897388334009985581467e1 - 7.853981633974483234934486536343324763447e-1 i":
+float: 1
+ifloat: 1
+Test "Real part of: catanh (-1.0 - 0x1p-57 i) == -2.010126823623841397309973152228712047720e1 - 7.853981633974483113503843217966828154612e-1 i":
 float: 1
 ifloat: 1
 Test "Imaginary part of: catanh (-1.0 - 0x1p-57 i) == -2.010126823623841397309973152228712047720e1 - 7.853981633974483113503843217966828154612e-1 i":
@@ -4235,6 +4307,12 @@
 idouble: 1
 ildouble: 1
 ldouble: 1
+Test "Imaginary part of: catanh (0x1p-126 + 0x1.000002p0 i) == 5.877471053462247139383742414506671233336e-39 + 7.853982230020895322927482174768220815493e-1 i":
+float: 1
+ifloat: 1
+Test "Imaginary part of: catanh (0x1p-126 - 0x1.000002p0 i) == 5.877471053462247139383742414506671233336e-39 - 7.853982230020895322927482174768220815493e-1 i":
+float: 1
+ifloat: 1
 Test "Real part of: catanh (0x1p-13 + 0x0.ffffffp0 i) == 6.103515973639646453881721999956617260502e-5 + 7.853981373204155542484315721351697277336e-1 i":
 double: 1
 float: 1
@@ -4297,6 +4375,9 @@
 Test "Imaginary part of: catanh (0x1p-57 - 1.0 i) == 3.469446951953614188823848962783813448721e-18 - 7.853981633974483096156608458198757330864e-1 i":
 float: 1
 ifloat: 1
+Test "Real part of: catanh (1.0 + 0x1p-1020 i) == 3.538516356758520804574969980043991380025e2 + 7.853981633974483096156608458198757210493e-1 i":
+double: 1
+idouble: 1
 Test "Imaginary part of: catanh (1.0 + 0x1p-13 i) == 4.852030264850939738801379894163661227127 + 7.854286809755354140031716771044626356262e-1 i":
 float: 1
 ifloat: 1
@@ -4306,12 +4387,21 @@
 Test "Imaginary part of: catanh (1.0 + 0x1p-33 i) == 1.178350206951907026009379309773625595762e1 + 7.853981634265521400723945494331241018449e-1 i":
 float: 1
 ifloat: 1
+Test "Real part of: catanh (1.0 + 0x1p-54 i) == 1.906154746539849600897388334009985581467e1 + 7.853981633974483234934486536343324763447e-1 i":
+float: 1
+ifloat: 1
 Test "Imaginary part of: catanh (1.0 + 0x1p-54 i) == 1.906154746539849600897388334009985581467e1 + 7.853981633974483234934486536343324763447e-1 i":
 float: 1
 ifloat: 1
+Test "Real part of: catanh (1.0 + 0x1p-57 i) == 2.010126823623841397309973152228712047720e1 + 7.853981633974483113503843217966828154612e-1 i":
+float: 1
+ifloat: 1
 Test "Imaginary part of: catanh (1.0 + 0x1p-57 i) == 2.010126823623841397309973152228712047720e1 + 7.853981633974483113503843217966828154612e-1 i":
 float: 1
 ifloat: 1
+Test "Real part of: catanh (1.0 - 0x1p-1020 i) == 3.538516356758520804574969980043991380025e2 - 7.853981633974483096156608458198757210493e-1 i":
+double: 1
+idouble: 1
 Test "Imaginary part of: catanh (1.0 - 0x1p-13 i) == 4.852030264850939738801379894163661227127 - 7.854286809755354140031716771044626356262e-1 i":
 float: 1
 ifloat: 1
@@ -4321,7 +4411,13 @@
 Test "Imaginary part of: catanh (1.0 - 0x1p-33 i) == 1.178350206951907026009379309773625595762e1 - 7.853981634265521400723945494331241018449e-1 i":
 float: 1
 ifloat: 1
+Test "Real part of: catanh (1.0 - 0x1p-54 i) == 1.906154746539849600897388334009985581467e1 - 7.853981633974483234934486536343324763447e-1 i":
+float: 1
+ifloat: 1
 Test "Imaginary part of: catanh (1.0 - 0x1p-54 i) == 1.906154746539849600897388334009985581467e1 - 7.853981633974483234934486536343324763447e-1 i":
+float: 1
+ifloat: 1
+Test "Real part of: catanh (1.0 - 0x1p-57 i) == 2.010126823623841397309973152228712047720e1 - 7.853981633974483113503843217966828154612e-1 i":
 float: 1
 ifloat: 1
 Test "Imaginary part of: catanh (1.0 - 0x1p-57 i) == 2.010126823623841397309973152228712047720e1 - 7.853981633974483113503843217966828154612e-1 i":

Modified: fsf/trunk/libc/sysdeps/unix/sysv/linux/Makefile
==============================================================================
--- fsf/trunk/libc/sysdeps/unix/sysv/linux/Makefile (original)
+++ fsf/trunk/libc/sysdeps/unix/sysv/linux/Makefile Sat May  4 00:01:56 2013
@@ -152,7 +152,7 @@
 
 ifeq ($(subdir),io)
 sysdep_routines += xstatconv internal_statvfs internal_statvfs64 \
-		   sync_file_range open_2 open64_2 fallocate fallocate64
+		   sync_file_range fallocate fallocate64
 sysdep_headers += bits/fcntl-linux.h
 endif
 

Modified: fsf/trunk/libc/sysdeps/unix/sysv/linux/bits/socket.h
==============================================================================
--- fsf/trunk/libc/sysdeps/unix/sysv/linux/bits/socket.h (original)
+++ fsf/trunk/libc/sysdeps/unix/sysv/linux/bits/socket.h Sat May  4 00:01:56 2013
@@ -79,7 +79,8 @@
 #define PF_CAIF		37	/* CAIF sockets.  */
 #define PF_ALG		38	/* Algorithm sockets.  */
 #define PF_NFC		39	/* NFC sockets.  */
-#define	PF_MAX		40	/* For now..  */
+#define PF_VSOCK	40	/* vSockets.  */
+#define	PF_MAX		41	/* For now..  */
 
 /* Address families.  */
 #define	AF_UNSPEC	PF_UNSPEC
@@ -123,6 +124,7 @@
 #define AF_CAIF		PF_CAIF
 #define AF_ALG		PF_ALG
 #define AF_NFC		PF_NFC
+#define AF_VSOCK	PF_VSOCK
 #define	AF_MAX		PF_MAX
 
 /* Socket level values.  Others are defined in the appropriate headers.

Removed: fsf/trunk/libc/sysdeps/unix/sysv/linux/open64_2.c
==============================================================================
--- fsf/trunk/libc/sysdeps/unix/sysv/linux/open64_2.c (original)
+++ fsf/trunk/libc/sysdeps/unix/sysv/linux/open64_2.c (removed)
@@ -1,31 +1,0 @@
-/* Copyright (C) 2007-2013 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/>.  */
-
-#include <fcntl.h>
-#include <stdio.h>
-
-
-int
-__open64_2 (file, oflag)
-     const char *file;
-     int oflag;
-{
-  if (oflag & O_CREAT)
-    __fortify_fail ("invalid open64 call: O_CREAT without mode");
-
-  return __open64 (file, oflag);
-}

Removed: fsf/trunk/libc/sysdeps/unix/sysv/linux/open_2.c
==============================================================================
--- fsf/trunk/libc/sysdeps/unix/sysv/linux/open_2.c (original)
+++ fsf/trunk/libc/sysdeps/unix/sysv/linux/open_2.c (removed)
@@ -1,31 +1,0 @@
-/* Copyright (C) 2007-2013 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/>.  */
-
-#include <fcntl.h>
-#include <stdio.h>
-
-
-int
-__open_2 (file, oflag)
-     const char *file;
-     int oflag;
-{
-  if (oflag & O_CREAT)
-    __fortify_fail ("invalid open call: O_CREAT without mode");
-
-  return __open (file, oflag);
-}

Modified: fsf/trunk/libc/sysdeps/unix/sysv/linux/openat.c
==============================================================================
--- fsf/trunk/libc/sysdeps/unix/sysv/linux/openat.c (original)
+++ fsf/trunk/libc/sysdeps/unix/sysv/linux/openat.c Sat May  4 00:01:56 2013
@@ -29,7 +29,6 @@
 
 #ifndef OPENAT
 # define OPENAT openat
-# define __OPENAT_2 __openat_2
 
 # ifndef __ASSUME_ATFCTS
 /* Set errno after a failed call.  If BUF is not null,
@@ -179,18 +178,3 @@
 }
 libc_hidden_def (__OPENAT)
 weak_alias (__OPENAT, OPENAT)
-
-
-int
-__OPENAT_2 (fd, file, oflag)
-     int fd;
-     const char *file;
-     int oflag;
-{
-  if (oflag & O_CREAT)
-#define MSG(s) MSG2 (s)
-#define MSG2(s) "invalid " #s " call: O_CREAT without mode"
-    __fortify_fail (MSG (OPENAT));
-
-  return __OPENAT (fd, file, oflag);
-}

Modified: fsf/trunk/libc/sysdeps/unix/sysv/linux/openat64.c
==============================================================================
--- fsf/trunk/libc/sysdeps/unix/sysv/linux/openat64.c (original)
+++ fsf/trunk/libc/sysdeps/unix/sysv/linux/openat64.c Sat May  4 00:01:56 2013
@@ -1,5 +1,4 @@
 #define OPENAT openat64
-#define __OPENAT_2 __openat64_2
 #define MORE_OFLAGS O_LARGEFILE
 
 #include "openat.c"

Modified: fsf/trunk/libc/sysdeps/unix/sysv/linux/powerpc/Versions
==============================================================================
--- fsf/trunk/libc/sysdeps/unix/sysv/linux/powerpc/Versions (original)
+++ fsf/trunk/libc/sysdeps/unix/sysv/linux/powerpc/Versions Sat May  4 00:01:56 2013
@@ -4,5 +4,6 @@
     __vdso_clock_gettime;
     __vdso_clock_getres;
     __vdso_getcpu;
+    __vdso_time;
   }
 }

Modified: fsf/trunk/libc/sysdeps/unix/sysv/linux/powerpc/bits/libc-vdso.h
==============================================================================
--- fsf/trunk/libc/sysdeps/unix/sysv/linux/powerpc/bits/libc-vdso.h (original)
+++ fsf/trunk/libc/sysdeps/unix/sysv/linux/powerpc/bits/libc-vdso.h Sat May  4 00:01:56 2013
@@ -32,14 +32,16 @@
 
 extern void *__vdso_getcpu;
 
+extern void *__vdso_time;
+
 /* This macro is needed for PPC64 to return a skeleton OPD entry of a vDSO
    symbol.  This works because _dl_vdso_vsym always return the function
    address, and no vDSO symbols use the TOC or chain pointers from the OPD
    so we can allow them to be garbage.  */
 #if defined(__PPC64__) || defined(__powerpc64__)
-#define VDSO_IFUNC_RET(value)  &value
+#define VDSO_IFUNC_RET(value)  ((void *) &(value))
 #else
-#define VDSO_IFUNC_RET(value)  value
+#define VDSO_IFUNC_RET(value)  ((void *) (value))
 #endif
 
 #endif

Modified: fsf/trunk/libc/sysdeps/unix/sysv/linux/powerpc/init-first.c
==============================================================================
--- fsf/trunk/libc/sysdeps/unix/sysv/linux/powerpc/init-first.c (original)
+++ fsf/trunk/libc/sysdeps/unix/sysv/linux/powerpc/init-first.c Sat May  4 00:01:56 2013
@@ -28,7 +28,7 @@
 void *__vdso_clock_getres;
 void *__vdso_get_tbfreq;
 void *__vdso_getcpu;
-
+void *__vdso_time;
 
 static inline void
 _libc_vdso_platform_setup (void)
@@ -44,6 +44,8 @@
   __vdso_get_tbfreq = _dl_vdso_vsym ("__kernel_get_tbfreq", &linux2615);
 
   __vdso_getcpu = _dl_vdso_vsym ("__kernel_getcpu", &linux2615);
+
+  __vdso_time = _dl_vdso_vsym ("__kernel_time", &linux2615);
 }
 
 # define VDSO_SETUP _libc_vdso_platform_setup

Added: fsf/trunk/libc/sysdeps/unix/sysv/linux/powerpc/time.c
==============================================================================
--- fsf/trunk/libc/sysdeps/unix/sysv/linux/powerpc/time.c (added)
+++ fsf/trunk/libc/sysdeps/unix/sysv/linux/powerpc/time.c Sat May  4 00:01:56 2013
@@ -1,0 +1,62 @@
+/* time system call for Linux/PowerPC.
+   Copyright (C) 2013 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/>.  */
+
+#ifdef SHARED
+
+# include <time.h>
+# include <sysdep.h>
+# include <bits/libc-vdso.h>
+
+void *time_ifunc (void) asm ("time");
+
+static time_t
+time_syscall (time_t *t)
+{
+  struct timeval tv;
+  time_t result;
+
+  if (INLINE_VSYSCALL (gettimeofday, 2, &tv, NULL) < 0)
+    result = (time_t) -1;
+  else
+    result = (time_t) tv.tv_sec;
+
+  if (t != NULL)
+    *t = result;
+  return result;
+}
+
+void *
+time_ifunc (void)
+{
+  /* If the vDSO is not available we fall back to the syscall.  */
+  return (__vdso_time ? VDSO_IFUNC_RET (__vdso_time)
+	  : time_syscall);
+}
+asm (".type time, %gnu_indirect_function");
+
+/* This is doing "libc_hidden_def (time)" but the compiler won't
+ * let us do it in C because it doesn't know we're defining time
+ * here in this file.  */
+asm (".globl __GI_time\n"
+     "__GI_time = time");
+
+#else
+
+#include <sysdeps/posix/time.c>
+
+#endif

Modified: fsf/trunk/libc/sysdeps/unix/sysv/linux/wordsize-64/openat.c
==============================================================================
--- fsf/trunk/libc/sysdeps/unix/sysv/linux/wordsize-64/openat.c (original)
+++ fsf/trunk/libc/sysdeps/unix/sysv/linux/wordsize-64/openat.c Sat May  4 00:01:56 2013
@@ -1,16 +1,14 @@
 #define __openat64 __rename___openat64
-#define __openat64_2 __rename___openat64_2
 #define __openat64_nocancel __rename___openat64_nocancel
 #define openat64 __rename_openat64
 
 #include "../openat.c"
 
 #undef __openat64
-#undef __openat64_2
 #undef __openat64_nocancel
 #undef openat64
 
-weak_alias (__openat, __openat64)
-weak_alias (__openat_2, __openat64_2)
-weak_alias (__openat_nocancel, __openat64_nocancel)
+strong_alias (__openat, __openat64)
+hidden_ver (__openat, __openat64)
+strong_alias (__openat_nocancel, __openat64_nocancel)
 weak_alias (openat, openat64)

_______________________________________________
Commits mailing list
Commits@xxxxxxxxxx
http://eglibc.org/cgi-bin/mailman/listinfo/commits