[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...
- To: commits@xxxxxxxxxx
- Subject: [Commits] r22991 - in /fsf/trunk/libc: ./ elf/ io/ localedata/locales/ math/ sysdeps/gnu/netinet/ sysdeps/mach/hurd/ sysdeps/powerpc/f...
- From: eglibc@xxxxxxxxxx
- Date: Sat, 04 May 2013 00:01:57 -0000
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