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

[Commits] r15662 - in /fsf/trunk/libc: ./ elf/ include/ nscd/ posix/ scripts/ sysdeps/unix/sysv/linux/ sysdeps/unix/sysv/linux/bits/



Author: eglibc
Date: Wed Nov  2 00:05:01 2011
New Revision: 15662

Log:
Import glibc-mainline for 2011-11-02

Modified:
    fsf/trunk/libc/ChangeLog
    fsf/trunk/libc/NEWS
    fsf/trunk/libc/elf/dl-deps.c
    fsf/trunk/libc/include/alloca.h
    fsf/trunk/libc/nscd/Makefile
    fsf/trunk/libc/nscd/connections.c
    fsf/trunk/libc/posix/tst-rfc3484-2.c
    fsf/trunk/libc/posix/tst-rfc3484-3.c
    fsf/trunk/libc/posix/tst-rfc3484.c
    fsf/trunk/libc/scripts/check-local-headers.sh
    fsf/trunk/libc/sysdeps/unix/sysv/linux/Versions
    fsf/trunk/libc/sysdeps/unix/sysv/linux/bits/uio.h
    fsf/trunk/libc/sysdeps/unix/sysv/linux/syscalls.list

Modified: fsf/trunk/libc/ChangeLog
==============================================================================
--- fsf/trunk/libc/ChangeLog (original)
+++ fsf/trunk/libc/ChangeLog Wed Nov  2 00:05:01 2011
@@ -1,3 +1,30 @@
+2011-11-01  Andreas Schwab  <schwab@xxxxxxxxxxxxxx>
+
+	* include/alloca.h (stackinfo_alloca_round): Define.
+	(extend_alloca): Use it.
+	[_STACK_GROWS_UP]: Correct check for adjacent allocation.
+	* elf/dl-deps.c (_dl_map_object_deps): Don't round alloca size
+	here.
+
+	* scripts/check-local-headers.sh: Ignore libaudit.h.
+
+	* nscd/Makefile (extra-objs): Make recursively expanded.
+
+2011-11-01  Ulrich Drepper  <drepper@xxxxxxxxx>
+
+	* posix/tst-rfc3484.c: Add missing __free_in6ai dummy function.
+	* posix/tst-rfc3484-2.c: Likewise.
+	* posix/tst-rfc3484-3.c: Likewise.
+
+	* sysdeps/unix/sysv/linux/bits/uio.h: Declare process_vm_readv and
+	process_vm_writev.
+	* sysdeps/unix/sysv/linux/syscalls.list: Add process_vm_readv and
+	process_vm_writev.
+	* sysdeps/unix/sysv/linux/Versions: Export process_vm_readv and
+	process_vm_writev from libc using GLIBC_2.15 version.
+
+	* nscd/connections.c: Use kernel headers instead of <netlink/netlink.h>.
+
 2011-10-31  Paul Pluzhnikov  <ppluzhnikov@xxxxxxxxxx>
 
 	* elf/dl-deps.c (_dl_map_object_deps): Reuse alloca space to reduce

Modified: fsf/trunk/libc/NEWS
==============================================================================
--- fsf/trunk/libc/NEWS (original)
+++ fsf/trunk/libc/NEWS Wed Nov  2 00:05:01 2011
@@ -1,4 +1,4 @@
-GNU C Library NEWS -- history of user-visible changes.  2011-10-31
+GNU C Library NEWS -- history of user-visible changes.  2011-11-1
 Copyright (C) 1992-2009, 2010, 2011 Free Software Foundation, Inc.
 See the end for copying conditions.
 
@@ -54,6 +54,8 @@
 
 * Optimized strcasecmp and strncasecmp for AVX on x86-64.
   Implemented by Ulrich Drepper.
+
+* New Linux interfaces: process_vm_readv, process_vm_writev
 
 Version 2.14
 

Modified: fsf/trunk/libc/elf/dl-deps.c
==============================================================================
--- fsf/trunk/libc/elf/dl-deps.c (original)
+++ fsf/trunk/libc/elf/dl-deps.c Wed Nov  2 00:05:01 2011
@@ -221,15 +221,11 @@
       if (l->l_searchlist.r_list == NULL && l->l_initfini == NULL
 	  && l != map && l->l_ldnum > 0)
 	{
-	  /* 16-align so extend_alloca has a chance to re-use the space.
-	     Note that extend_alloca is broken for recent versions of GCC
-	     on x86: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50938  */
-	  size_t new_size
-            = (l->l_ldnum * sizeof (struct link_map *) + 15) & ~15;
+	  size_t new_size = l->l_ldnum * sizeof (struct link_map *);
 
 	  if (new_size > needed_space_bytes)
 	    needed_space
-              = extend_alloca (needed_space, needed_space_bytes, new_size);
+	      = extend_alloca (needed_space, needed_space_bytes, new_size);
 
 	  needed = needed_space;
 	}

Modified: fsf/trunk/libc/include/alloca.h
==============================================================================
--- fsf/trunk/libc/include/alloca.h (original)
+++ fsf/trunk/libc/include/alloca.h Wed Nov  2 00:05:01 2011
@@ -20,9 +20,13 @@
 
 #include <allocalim.h>
 
+#ifndef stackinfo_alloca_round
+# define stackinfo_alloca_round(l) (((l) + 15) & -16)
+#endif
+
 #if _STACK_GROWS_DOWN
 # define extend_alloca(buf, len, newlen) \
-  (__typeof (buf)) ({ size_t __newlen = (newlen);			      \
+  (__typeof (buf)) ({ size_t __newlen = stackinfo_alloca_round (newlen);      \
 		      char *__newbuf = __alloca (__newlen);		      \
 		      if (__newbuf + __newlen == (char *) buf)		      \
 			len += __newlen;				      \
@@ -31,10 +35,10 @@
 		      __newbuf; })
 #elif _STACK_GROWS_UP
 # define extend_alloca(buf, len, newlen) \
-  (__typeof (buf)) ({ size_t __newlen = (newlen);			      \
+  (__typeof (buf)) ({ size_t __newlen = stackinfo_alloca_round (newlen);      \
 		      char *__newbuf = __alloca (__newlen);		      \
 		      char *__buf = (buf);				      \
-		      if (__buf + __newlen == __newbuf)			      \
+		      if (__buf + len == __newbuf)			      \
 			{						      \
 			  len += __newlen;				      \
 			  __newbuf = __buf;				      \

Modified: fsf/trunk/libc/nscd/Makefile
==============================================================================
--- fsf/trunk/libc/nscd/Makefile (original)
+++ fsf/trunk/libc/nscd/Makefile Wed Nov  2 00:05:01 2011
@@ -43,7 +43,7 @@
 others-pie += nscd
 install-sbin := nscd
 
-extra-objs := $(nscd-modules:=.o)
+extra-objs = $(nscd-modules:=.o)
 
 endif
 

Modified: fsf/trunk/libc/nscd/connections.c
==============================================================================
--- fsf/trunk/libc/nscd/connections.c (original)
+++ fsf/trunk/libc/nscd/connections.c Wed Nov  2 00:05:01 2011
@@ -34,7 +34,8 @@
 #include <unistd.h>
 #include <arpa/inet.h>
 #ifdef HAVE_NETLINK
-# include <netlink/netlink.h>
+# include <linux/netlink.h>
+# include <linux/rtnetlink.h>
 #endif
 #ifdef HAVE_EPOLL
 # include <sys/epoll.h>

Modified: fsf/trunk/libc/posix/tst-rfc3484-2.c
==============================================================================
--- fsf/trunk/libc/posix/tst-rfc3484-2.c (original)
+++ fsf/trunk/libc/posix/tst-rfc3484-2.c Wed Nov  2 00:05:01 2011
@@ -17,6 +17,12 @@
   *p1 = *p2 = true;
   *in6ai = NULL;
   *in6ailen = 0;
+}
+
+void
+attribute_hidden
+__free_in6ai (struct in6addrinfo *ai)
+{
 }
 
 void

Modified: fsf/trunk/libc/posix/tst-rfc3484-3.c
==============================================================================
--- fsf/trunk/libc/posix/tst-rfc3484-3.c (original)
+++ fsf/trunk/libc/posix/tst-rfc3484-3.c Wed Nov  2 00:05:01 2011
@@ -17,6 +17,12 @@
   *p1 = *p2 = true;
   *in6ai = NULL;
   *in6ailen = 0;
+}
+
+void
+attribute_hidden
+__free_in6ai (struct in6addrinfo *ai)
+{
 }
 
 void

Modified: fsf/trunk/libc/posix/tst-rfc3484.c
==============================================================================
--- fsf/trunk/libc/posix/tst-rfc3484.c (original)
+++ fsf/trunk/libc/posix/tst-rfc3484.c Wed Nov  2 00:05:01 2011
@@ -17,6 +17,12 @@
   *p1 = *p2 = true;
   *in6ai = NULL;
   *in6ailen = 0;
+}
+
+void
+attribute_hidden
+__free_in6ai (struct in6addrinfo *ai)
+{
 }
 
 void

Modified: fsf/trunk/libc/scripts/check-local-headers.sh
==============================================================================
--- fsf/trunk/libc/scripts/check-local-headers.sh (original)
+++ fsf/trunk/libc/scripts/check-local-headers.sh Wed Nov  2 00:05:01 2011
@@ -29,7 +29,7 @@
 BEGIN {
   status = 0
   exclude = "^" includedir \
-    "/(asm[-/]|linux/|selinux/|gd|nss3/|sys/capability\\.h)"
+    "/(asm[-/]|linux/|selinux/|gd|nss3/|sys/capability\\.h|libaudit\\.h)"
 }
 /^[^ ]/ && $1 ~ /.*:/ { obj = $1 }
 {

Modified: fsf/trunk/libc/sysdeps/unix/sysv/linux/Versions
==============================================================================
--- fsf/trunk/libc/sysdeps/unix/sysv/linux/Versions (original)
+++ fsf/trunk/libc/sysdeps/unix/sysv/linux/Versions Wed Nov  2 00:05:01 2011
@@ -163,6 +163,9 @@
 
     sendmmsg;
   }
+  GLIBC_2.15 {
+    process_vm_readv; process_vm_writev;
+  }
   GLIBC_PRIVATE {
     # functions used in other libraries
     __syscall_rt_sigqueueinfo;

Modified: fsf/trunk/libc/sysdeps/unix/sysv/linux/bits/uio.h
==============================================================================
--- fsf/trunk/libc/sysdeps/unix/sysv/linux/bits/uio.h (original)
+++ fsf/trunk/libc/sysdeps/unix/sysv/linux/bits/uio.h Wed Nov  2 00:05:01 2011
@@ -1,4 +1,4 @@
-/* Copyright (C) 1996, 1997, 2006 Free Software Foundation, Inc.
+/* Copyright (C) 1996, 1997, 2006, 2011 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
@@ -48,3 +48,28 @@
   };
 
 #endif
+
+#if defined _SYS_UIO_H && !defined _BITS_UIO_H_FOR_SYS_UIO_H
+#define _BITS_UIO_H_FOR_SYS_UIO_H 1
+
+__BEGIN_DECLS
+
+/* Read from another process' address space.  */
+extern ssize_t process_vm_readv (pid_t __pid, __const struct iovec *__lvec,
+				 unsigned long int __liovcnt,
+				 __const struct iovec *__rvec,
+				 unsigned long int __riovcnt,
+				 unsigned long int __flags)
+  __THROW;
+
+/* Write to another process' address space.  */
+extern ssize_t process_vm_writev (pid_t __pid, __const struct iovec *__lvec,
+				  unsigned long int __liovcnt,
+				  __const struct iovec *__rvec,
+				  unsigned long int __riovcnt,
+				  unsigned long int __flags)
+  __THROW;
+
+__END_DECLS
+
+#endif

Modified: fsf/trunk/libc/sysdeps/unix/sysv/linux/syscalls.list
==============================================================================
--- fsf/trunk/libc/sysdeps/unix/sysv/linux/syscalls.list (original)
+++ fsf/trunk/libc/sysdeps/unix/sysv/linux/syscalls.list Wed Nov  2 00:05:01 2011
@@ -109,3 +109,6 @@
 open_by_handle_at EXTRA	open_by_handle_at Ci:ipi  open_by_handle_at
 
 setns		EXTRA	setns		i:ii	setns
+
+process_vm_readv EXTRA	process_vm_readv i:ipipii process_vm_readv
+process_vm_writev EXTRA	process_vm_writev i:ipipii process_vm_writev

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