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

[commits] r10138 - in /fsf/trunk/libc: ChangeLog elf/rtld.c sysdeps/mach/hurd/dl-sysdep.c sysdeps/unix/sysv/linux/bits/socket.h



Author: eglibc
Date: Tue Mar 30 00:03:55 2010
New Revision: 10138

Log:
Import glibc-mainline for 2010-03-30

Modified:
    fsf/trunk/libc/ChangeLog
    fsf/trunk/libc/elf/rtld.c
    fsf/trunk/libc/sysdeps/mach/hurd/dl-sysdep.c
    fsf/trunk/libc/sysdeps/unix/sysv/linux/bits/socket.h

Modified: fsf/trunk/libc/ChangeLog
==============================================================================
--- fsf/trunk/libc/ChangeLog (original)
+++ fsf/trunk/libc/ChangeLog Tue Mar 30 00:03:55 2010
@@ -1,3 +1,14 @@
+2010-03-29  Ulrich Drepper  <drepper@xxxxxxxxxx>
+
+	* sysdeps/unix/sysv/linux/bits/socket.h: Define MSG_WAITFORONE.
+
+2010-03-28  Thomas Schwinge  <thomas@xxxxxxxxxxxxx>
+
+	* sysdeps/mach/hurd/dl-sysdep.c (_dl_sysdep_start): Adapt to auxv
+	changes in the generic code.
+	* elf/rtld.c (dl_main): Conditionalize the code that dereferences auxv
+	to [HAVE_AUX_VECTOR].
+
 2010-03-27  Ulrich Drepper  <drepper@xxxxxxxxxx>
 
 	* sysdeps/unix/sysv/linux/getpagesize.c (__getpagesize): If

Modified: fsf/trunk/libc/elf/rtld.c
==============================================================================
--- fsf/trunk/libc/elf/rtld.c (original)
+++ fsf/trunk/libc/elf/rtld.c Tue Mar 30 00:03:55 2010
@@ -928,8 +928,6 @@
 
   if (*user_entry == (ElfW(Addr)) ENTRY_POINT)
     {
-      ElfW(auxv_t) *av;
-
       /* Ho ho.  We are not the program interpreter!  We are the program
 	 itself!  This means someone ran ld.so as a command.  Well, that
 	 might be convenient to do sometimes.  We support it by
@@ -1086,9 +1084,10 @@
       main_map->l_name = (char *) "";
       *user_entry = main_map->l_entry;
 
+#ifdef HAVE_AUX_VECTOR
       /* Adjust the on-stack auxiliary vector so that it looks like the
 	 binary was executed directly.  */
-      for (av = auxv; av->a_type != AT_NULL; av++)
+      for (ElfW(auxv_t) *av = auxv; av->a_type != AT_NULL; av++)
 	switch (av->a_type)
 	  {
 	  case AT_PHDR:
@@ -1101,6 +1100,7 @@
 	    av->a_un.a_val = *user_entry;
 	    break;
 	  }
+#endif
     }
   else
     {

Modified: fsf/trunk/libc/sysdeps/mach/hurd/dl-sysdep.c
==============================================================================
--- fsf/trunk/libc/sysdeps/mach/hurd/dl-sysdep.c (original)
+++ fsf/trunk/libc/sysdeps/mach/hurd/dl-sysdep.c Tue Mar 30 00:03:55 2010
@@ -1,5 +1,5 @@
 /* Operating system support for run-time dynamic linker.  Hurd version.
-   Copyright (C) 1995,1996,1997,1998,1999,2000,2001,2002,2003,2004
+   Copyright (C) 1995,1996,1997,1998,1999,2000,2001,2002,2003,2004,2010
 	Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
@@ -116,7 +116,8 @@
 ElfW(Addr)
 _dl_sysdep_start (void **start_argptr,
 		  void (*dl_main) (const ElfW(Phdr) *phdr, ElfW(Word) phent,
-				   ElfW(Addr) *user_entry))
+				   ElfW(Addr) *user_entry,
+				   ElfW(auxv_t) *auxv))
 {
   void go (intptr_t *argdata)
     {
@@ -197,7 +198,7 @@
 	 up and leave us to transfer control to USER_ENTRY.  */
       (*dl_main) ((const ElfW(Phdr) *) _dl_hurd_data->phdr,
 		  _dl_hurd_data->phdrsz / sizeof (ElfW(Phdr)),
-		  &_dl_hurd_data->user_entry);
+		  &_dl_hurd_data->user_entry, NULL);
 
       /* The call above might screw a few things up.
 

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 Tue Mar 30 00:03:55 2010
@@ -1,5 +1,5 @@
 /* System-specific socket constants and types.  Linux version.
-   Copyright (C) 1991, 1992, 1994-2001, 2004, 2006, 2007, 2008, 2009
+   Copyright (C) 1991, 1992, 1994-2001, 2004, 2006, 2007, 2008, 2009, 2010
    Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
@@ -232,6 +232,8 @@
 #define	MSG_NOSIGNAL	MSG_NOSIGNAL
     MSG_MORE		= 0x8000,  /* Sender will send more.  */
 #define	MSG_MORE	MSG_MORE
+    MSG_WAITFORONE	= 0x10000, /* Wait for at least one packet to return.*/
+#define MSG_WAITFORONE	MSG_WAITFORONE
 
     MSG_CMSG_CLOEXEC	= 0x40000000	/* Set close_on_exit for file
 					   descriptor received through