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

[commits] r3973 - in /fsf/trunk/libc: ./ intl/ malloc/ manual/ math/ nptl/ nptl/sysdeps/pthread/ nptl/sysdeps/unix/sysv/linux/ sysdeps...



Author: eglibc
Date: Sun Oct 28 00:03:09 2007
New Revision: 3973

Log:
Import glibc-mainline for 2007-10-28

Modified:
    fsf/trunk/libc/BUGS
    fsf/trunk/libc/ChangeLog
    fsf/trunk/libc/FAQ.in
    fsf/trunk/libc/intl/locale.alias
    fsf/trunk/libc/malloc/arena.c
    fsf/trunk/libc/manual/libc.texinfo
    fsf/trunk/libc/manual/process.texi
    fsf/trunk/libc/manual/socket.texi
    fsf/trunk/libc/manual/startup.texi
    fsf/trunk/libc/manual/stdio.texi
    fsf/trunk/libc/manual/sysinfo.texi
    fsf/trunk/libc/manual/syslog.texi
    fsf/trunk/libc/manual/time.texi
    fsf/trunk/libc/math/libm-test.inc
    fsf/trunk/libc/nptl/ChangeLog
    fsf/trunk/libc/nptl/sysdeps/pthread/malloc-machine.h
    fsf/trunk/libc/nptl/sysdeps/unix/sysv/linux/fork.h
    fsf/trunk/libc/nptl/sysdeps/unix/sysv/linux/register-atfork.c
    fsf/trunk/libc/nptl/sysdeps/unix/sysv/linux/unregister-atfork.c
    fsf/trunk/libc/sysdeps/i386/backtrace.c
    fsf/trunk/libc/sysdeps/ia64/backtrace.c
    fsf/trunk/libc/sysdeps/unix/sysv/linux/readahead.c
    fsf/trunk/libc/sysdeps/unix/sysv/linux/sys/epoll.h

Modified: fsf/trunk/libc/BUGS
==============================================================================
--- fsf/trunk/libc/BUGS (original)
+++ fsf/trunk/libc/BUGS Sun Oct 28 00:03:09 2007
@@ -1,7 +1,7 @@
 	    List of known bugs (certainly very incomplete)
 	    ----------------------------------------------
 
-Time-stamp: <2005-09-23 13:25:42 drepper>
+Time-stamp: <2007-10-27 18:37:51 drepper>
 
 This following list contains those bugs which I'm aware of.  Please
 make sure that bugs you report are not listed here.  If you can fix one
@@ -12,12 +12,10 @@
 
        http://sourceware.org/bugzilla/
 
-I would appreciate it very much if you could verify the problem was not
-reported before by looking through the database.  To make the information
-in this database as useful as possible please report bugs always using the
-`glibcbug' shell script which gets installed with GNU libc.  Before reporting
-a bug please check the FAQ since it discusses also a lot of problematic
-situations.
+I would appreciate it very much if you could verify the problem was
+not reported before by looking through the database. Before reporting
+a bug please check the FAQ since it discusses also a lot of
+problematic situations.
 
 
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Modified: fsf/trunk/libc/ChangeLog
==============================================================================
--- fsf/trunk/libc/ChangeLog (original)
+++ fsf/trunk/libc/ChangeLog Sun Oct 28 00:03:09 2007
@@ -1,3 +1,31 @@
+2007-10-27  Andreas Jaeger  <aj@xxxxxxx>
+
+	[BZ #5040]
+	* sysdeps/unix/sysv/linux/sys/epoll.h (EPOLLRDHUP): Add value.
+
+	[BZ #3112]
+	* sysdeps/ia64/backtrace.c (init): Free shared library if incorrect.
+	(__cleanup): Free shared library when exiting.
+	* sysdeps/i386/backtrace.c (init): Free shared library if incorrect.
+	(__cleanup): Free shared library when exiting.
+
+2006-04-14  H.J. Lu  <hongjiu.lu@xxxxxxxxx>
+
+	[BZ #2549]
+	* math/libm-test.inc (check_float_internal): Support
+	denormalized return.
+
+2007-10-23  Andreas Jaeger  <aj@xxxxxxx>
+
+	[BZ #5208]
+	* sysdeps/unix/sysv/linux/readahead.c (__readahead): Use
+	__LONG_LONG_PAIR to handle little endian byte order.
+	Suggested by abhishekrai@xxxxxxxxxx
+
+2007-10-27  Ulrich Drepper  <drepper@xxxxxxxxxx>
+
+	* malloc/arena.c [!NO_THREADS]: Use ATFORK_MEM if defined.
+
 2007-10-26  Ulrich Drepper  <drepper@xxxxxxxxxx>
 
 	* nscd/cache.c (prune_cache): Move test for modified file outside

Modified: fsf/trunk/libc/FAQ.in
==============================================================================
--- fsf/trunk/libc/FAQ.in (original)
+++ fsf/trunk/libc/FAQ.in Sun Oct 28 00:03:09 2007
@@ -287,12 +287,12 @@
 failure should be looked into.  Depending on the failures, you probably
 should not install the library at all.
 
-You should consider using the `glibcbug' script to report the failure,
-providing as much detail as possible.  If you run a test directly, please
-remember to set up the environment correctly.  You want to test the compiled
-library - and not your installed one.  The best way is to copy the exact
-command line which failed and run the test from the subdirectory for this
-test in the sources.
+You should consider reporting it in bugzilla
+<http://sourceware.org/bugzilla/> providing as much detail as possible.
+If you run a test directly, please remember to set up the environment
+correctly. You want to test the compiled library - and not your installed
+one. The best way is to copy the exact command line which failed and run
+the test from the subdirectory for this test in the sources.
 
 There are some failures which are not directly related to the GNU libc:
 - Some compilers produce buggy code.  No compiler gets single precision

Modified: fsf/trunk/libc/intl/locale.alias
==============================================================================
--- fsf/trunk/libc/intl/locale.alias (original)
+++ fsf/trunk/libc/intl/locale.alias Sun Oct 28 00:03:09 2007
@@ -1,5 +1,5 @@
 # Locale name alias data base.
-# Copyright (C) 1996-2001,2003 Free Software Foundation, Inc.
+# Copyright (C) 1996-2001,2003,2007 Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -21,10 +21,9 @@
 # A single line contains two fields: an alias and a substitution value.
 # All entries are case independent.
 
-# Note: This file is far from being complete.  If you have a value for
-# your own site which you think might be useful for others too, share
-# it with the rest of us.  Send it using the `glibcbug' script to
-# bugs@xxxxxxxx
+# Note: This file is obsolete and is kept around for the time being for
+# backward compatibility.  Nobody should rely on the names defined here.
+# Locales should always be specified by their full name.
 
 bokmal		nb_NO.ISO-8859-1
 bokmål		nb_NO.ISO-8859-1

Modified: fsf/trunk/libc/malloc/arena.c
==============================================================================
--- fsf/trunk/libc/malloc/arena.c (original)
+++ fsf/trunk/libc/malloc/arena.c Sun Oct 28 00:03:09 2007
@@ -159,6 +159,10 @@
 static void           (*save_free_hook) (__malloc_ptr_t __ptr,
 					 __const __malloc_ptr_t);
 static Void_t*        save_arena;
+
+#ifdef ATFORK_MEM
+ATFORK_MEM;
+#endif
 
 /* Magic value for the thread-specific arena pointer when
    malloc_atfork() is in use.  */

Modified: fsf/trunk/libc/manual/libc.texinfo
==============================================================================
--- fsf/trunk/libc/manual/libc.texinfo (original)
+++ fsf/trunk/libc/manual/libc.texinfo Sun Oct 28 00:03:09 2007
@@ -18,9 +18,9 @@
 @comment %**end of header (This is for running Texinfo on a region.)
 
 @c sold 0.06/1.09, print run out 21may96
-@set EDITION 0.11
-@set VERSION 2.7
-@set UPDATED 2007-09-09
+@set EDITION 0.12
+@set VERSION 2.8
+@set UPDATED 2007-10-27
 @set ISBN 1-882114-55-8
 
 @copying

Modified: fsf/trunk/libc/manual/process.texi
==============================================================================
--- fsf/trunk/libc/manual/process.texi (original)
+++ fsf/trunk/libc/manual/process.texi Sun Oct 28 00:03:09 2007
@@ -277,7 +277,7 @@
 process execute a new program after it has been forked.
 
 To see the effects of @code{exec} from the point of view of the called
-program, @xref{Program Basics}.
+program, see @ref{Program Basics}.
 
 @pindex unistd.h
 The functions in this family differ in how you specify the arguments,

Modified: fsf/trunk/libc/manual/socket.texi
==============================================================================
--- fsf/trunk/libc/manual/socket.texi (original)
+++ fsf/trunk/libc/manual/socket.texi Sun Oct 28 00:03:09 2007
@@ -2070,7 +2070,7 @@
 
 @comment sys/socket.h
 @comment BSD
-@deftypefun int listen (int @var{socket}, unsigned int @var{n})
+@deftypefun int listen (int @var{socket}, int @var{n})
 The @code{listen} function enables the socket @var{socket} to accept
 connections, thus making it a server socket.
 

Modified: fsf/trunk/libc/manual/startup.texi
==============================================================================
--- fsf/trunk/libc/manual/startup.texi (original)
+++ fsf/trunk/libc/manual/startup.texi Sun Oct 28 00:03:09 2007
@@ -31,7 +31,7 @@
 
 A program starts another program with the @code{exec} family of system calls.
 This chapter looks at program startup from the execee's point of view.  To
-see the event from the execor's point of view, @xref{Executing a File}.
+see the event from the execor's point of view, see @ref{Executing a File}.
 
 @menu
 * Program Arguments::           Parsing your program's command-line arguments.
@@ -309,9 +309,9 @@
 
 The value of an environment variable can be accessed with the
 @code{getenv} function.  This is declared in the header file
-@file{stdlib.h}.  All of the following functions can be safely used in
-multi-threaded programs.  It is made sure that concurrent modifications
-to the environment do not lead to errors.
+@file{stdlib.h}.  Modifications of enviroment variables are not
+allowed in Multi-threaded programs.  The @code{getenv} function
+can be safely used in multi-threaded programs
 @pindex stdlib.h
 
 @comment stdlib.h

Modified: fsf/trunk/libc/manual/stdio.texi
==============================================================================
--- fsf/trunk/libc/manual/stdio.texi (original)
+++ fsf/trunk/libc/manual/stdio.texi Sun Oct 28 00:03:09 2007
@@ -3907,7 +3907,7 @@
 know that a function uses a @code{scanf}-style format string.  Then it
 can check the number and types of arguments in each call to the
 function, and warn you when they do not match the format string.
-For details, @xref{Function Attributes, , Declaring Attributes of Functions,
+For details, see @ref{Function Attributes, , Declaring Attributes of Functions,
 gcc.info, Using GNU CC}.
 
 @node EOF and Errors

Modified: fsf/trunk/libc/manual/sysinfo.texi
==============================================================================
--- fsf/trunk/libc/manual/sysinfo.texi (original)
+++ fsf/trunk/libc/manual/sysinfo.texi Sun Oct 28 00:03:09 2007
@@ -78,7 +78,7 @@
 
 In some contexts, the host name is called a ``node name.''
 
-For more information on DNS host naming, @xref{Host Names}.
+For more information on DNS host naming, see @ref{Host Names}.
 
 @pindex hostname
 @pindex hostid

Modified: fsf/trunk/libc/manual/syslog.texi
==============================================================================
--- fsf/trunk/libc/manual/syslog.texi (original)
+++ fsf/trunk/libc/manual/syslog.texi Sun Oct 28 00:03:09 2007
@@ -90,7 +90,7 @@
 @item priority
 This tells how important the content of the message is.  Examples of
 defined priority values are: debug, informational, warning, critical.
-For the complete list, @xref{syslog; vsyslog}.  Except for
+For the complete list, see @ref{syslog; vsyslog}.  Except for
 the fact that the priorities have a defined order, the meaning of each
 of these priorities is entirely determined by the system administrator.
 

Modified: fsf/trunk/libc/manual/time.texi
==============================================================================
--- fsf/trunk/libc/manual/time.texi (original)
+++ fsf/trunk/libc/manual/time.texi Sun Oct 28 00:03:09 2007
@@ -212,7 +212,7 @@
 same value approximately every 72 minutes.
 
 For additional functions to examine a process' use of processor time,
-and to control it, @xref{Resource Usage And Limitation}.
+and to control it, see @ref{Resource Usage And Limitation}.
 
 
 @menu

Modified: fsf/trunk/libc/math/libm-test.inc
==============================================================================
--- fsf/trunk/libc/math/libm-test.inc (original)
+++ fsf/trunk/libc/math/libm-test.inc Sun Oct 28 00:03:09 2007
@@ -487,11 +487,24 @@
   else
     {
       diff = FUNC(fabs) (computed - expected);
-      /* ilogb (0) isn't allowed.  */
-      if (expected == 0.0)
-	ulp = diff / FUNC(ldexp) (1.0, - MANT_DIG);
-      else
-	ulp = diff / FUNC(ldexp) (1.0, FUNC(ilogb) (expected) - MANT_DIG);
+      switch (fpclassify (expected))
+	{
+	case FP_ZERO:
+	  /* ilogb (0) isn't allowed. */
+	  ulp = diff / FUNC(ldexp) (1.0, - MANT_DIG);
+	  break;
+	case FP_NORMAL:
+	  ulp = diff / FUNC(ldexp) (1.0, FUNC(ilogb) (expected) - MANT_DIG);
+	  break;
+	case FP_SUBNORMAL:
+	  ulp = (FUNC(ldexp) (diff, MANT_DIG)
+		 / FUNC(ldexp) (1.0, FUNC(ilogb) (expected)));
+	  break;
+	default:
+	  /* It should never happen. */
+	  abort ();
+	  break;
+	}
       set_max_error (ulp, curr_max_error);
       print_diff = 1;
       if ((exceptions & IGNORE_ZERO_INF_SIGN) == 0

Modified: fsf/trunk/libc/nptl/ChangeLog
==============================================================================
--- fsf/trunk/libc/nptl/ChangeLog (original)
+++ fsf/trunk/libc/nptl/ChangeLog Sun Oct 28 00:03:09 2007
@@ -1,3 +1,13 @@
+2007-10-27  Ulrich Drepper  <drepper@xxxxxxxxxx>
+
+	* sysdeps/pthread/malloc-machine.h: Define ATFORK_MEM.
+	Redefine thread_atfork for use of ATFORK_MEM.
+	* sysdeps/unix/sysv/linux/fork.h: Define __linkin_atfork.
+	* sysdeps/unix/sysv/linux/register-atfork.c (__linkin_atfork): New
+	function.
+	* sysdeps/unix/sysv/linux/unregister-atfork.c (__unregister_atfork):
+	Use atomic operation when removing first element of list.
+
 2007-10-17  Jakub Jelinek  <jakub@xxxxxxxxxx>
 
 	* sysdeps/unix/sysv/linux/i386/i486/sem_post.S (__old_sem_post): New

Modified: fsf/trunk/libc/nptl/sysdeps/pthread/malloc-machine.h
==============================================================================
--- fsf/trunk/libc/nptl/sysdeps/pthread/malloc-machine.h (original)
+++ fsf/trunk/libc/nptl/sysdeps/pthread/malloc-machine.h Sun Oct 28 00:03:09 2007
@@ -1,6 +1,6 @@
 /* Basic platform-independent macro definitions for mutexes,
    thread-specific data and parameters for malloc.
-   Copyright (C) 2003 Free Software Foundation, Inc.
+   Copyright (C) 2003, 2007 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
@@ -38,13 +38,24 @@
 
 #include <fork.h>
 
+#define ATFORK_MEM static struct fork_handler atfork_mem
+
 #ifdef SHARED
 # define thread_atfork(prepare, parent, child) \
-   __register_atfork (prepare, parent, child, __dso_handle)
+  atfork_mem.prepare_handler = prepare;					      \
+  atfork_mem.parent_handler = parent;					      \
+  atfork_mem.child_handler = child;					      \
+  atfork_mem.dso_handle = __dso_handle;					      \
+  atfork_mem.refcntr = 1;						      \
+  __linkin_atfork (&atfork_mem)
 #else
 # define thread_atfork(prepare, parent, child) \
-   __register_atfork (prepare, parent, child,				      \
-		      &__dso_handle == NULL ? NULL : __dso_handle)
+  atfork_mem.prepare_handler = prepare;					      \
+  atfork_mem.parent_handler = parent;					      \
+  atfork_mem.child_handler = child;					      \
+  atfork_mem.dso_handle = &__dso_handle == NULL ? NULL : __dso_handle;	      \
+  atfork_mem.refcntr = 1;						      \
+  __linkin_atfork (&atfork_mem)
 #endif
 
 /* thread specific data for glibc */

Modified: fsf/trunk/libc/nptl/sysdeps/unix/sysv/linux/fork.h
==============================================================================
--- fsf/trunk/libc/nptl/sysdeps/unix/sysv/linux/fork.h (original)
+++ fsf/trunk/libc/nptl/sysdeps/unix/sysv/linux/fork.h Sun Oct 28 00:03:09 2007
@@ -55,3 +55,6 @@
 			      void (*__child) (void),
 			      void *dso_handle);
 libc_hidden_proto (__register_atfork)
+
+/* Add a new element to the fork list.  */
+extern void __linkin_atfork (struct fork_handler *newp) attribute_hidden;

Modified: fsf/trunk/libc/nptl/sysdeps/unix/sysv/linux/register-atfork.c
==============================================================================
--- fsf/trunk/libc/nptl/sysdeps/unix/sysv/linux/register-atfork.c (original)
+++ fsf/trunk/libc/nptl/sysdeps/unix/sysv/linux/register-atfork.c Sun Oct 28 00:03:09 2007
@@ -21,6 +21,7 @@
 #include <stdlib.h>
 #include <string.h>
 #include <fork.h>
+#include <atomic.h>
 
 
 /* Lock to protect allocation and deallocation of fork handlers.  */
@@ -109,6 +110,17 @@
 libc_hidden_def (__register_atfork)
 
 
+void
+attribute_hidden
+__linkin_atfork (struct fork_handler *newp)
+{
+  do
+    newp->next = __fork_handlers;
+  while (catomic_compare_and_exchange_bool_acq (&__fork_handlers,
+						newp, newp->next) != 0);
+}
+
+
 libc_freeres_fn (free_mem)
 {
   /* Get the lock to not conflict with running forks.  */

Modified: fsf/trunk/libc/nptl/sysdeps/unix/sysv/linux/unregister-atfork.c
==============================================================================
--- fsf/trunk/libc/nptl/sysdeps/unix/sysv/linux/unregister-atfork.c (original)
+++ fsf/trunk/libc/nptl/sysdeps/unix/sysv/linux/unregister-atfork.c Sun Oct 28 00:03:09 2007
@@ -67,10 +67,21 @@
      It's a single linked list so readers are.  */
   do
     {
+    again:
       if (runp->dso_handle == dso_handle)
 	{
 	  if (lastp == NULL)
-	    __fork_handlers = runp->next;
+	    {
+	      /* We have to use an atomic operation here because
+		 __linkin_atfork also uses one.  */
+	      if (catomic_compare_and_exchange_bool_acq (&__fork_handlers,
+							 runp->next, runp)
+		  != 0)
+		{
+		  runp = __fork_handlers;
+		  goto again;
+		}
+	    }
 	  else
 	    lastp->next = runp->next;
 

Modified: fsf/trunk/libc/sysdeps/i386/backtrace.c
==============================================================================
--- fsf/trunk/libc/sysdeps/i386/backtrace.c (original)
+++ fsf/trunk/libc/sysdeps/i386/backtrace.c Sun Oct 28 00:03:09 2007
@@ -1,5 +1,5 @@
 /* Return backtrace of current program state.
-   Copyright (C) 1998, 2000, 2003, 2004, 2005 Free Software Foundation, Inc.
+   Copyright (C) 1998, 2000, 2003-2005, 2007 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@xxxxxxxxxx>, 1998.
 
@@ -36,21 +36,26 @@
 static _Unwind_Ptr (*unwind_getip) (struct _Unwind_Context *);
 static _Unwind_Ptr (*unwind_getcfa) (struct _Unwind_Context *);
 static _Unwind_Ptr (*unwind_getgr) (struct _Unwind_Context *, int);
+static void *libgcc_handle;
 
 static void
 init (void)
 {
-  void *handle = __libc_dlopen ("libgcc_s.so.1");
+  libgcc_handle = __libc_dlopen ("libgcc_s.so.1");
 
-  if (handle == NULL)
+  if (libgcc_handle == NULL)
     return;
 
-  unwind_backtrace = __libc_dlsym (handle, "_Unwind_Backtrace");
-  unwind_getip = __libc_dlsym (handle, "_Unwind_GetIP");
-  unwind_getcfa = __libc_dlsym (handle, "_Unwind_GetCFA");
-  unwind_getgr = __libc_dlsym (handle, "_Unwind_GetGR");
+  unwind_backtrace = __libc_dlsym (libgcc_handle, "_Unwind_Backtrace");
+  unwind_getip = __libc_dlsym (libgcc_handle, "_Unwind_GetIP");
+  unwind_getcfa = __libc_dlsym (libgcc_handle, "_Unwind_GetCFA");
+  unwind_getgr = __libc_dlsym (libgcc_handle, "_Unwind_GetGR");
   if (unwind_getip == NULL || unwind_getgr == NULL || unwind_getcfa == NULL)
-    unwind_backtrace = NULL;
+    {
+      unwind_backtrace = NULL;
+      __libc_dlclose (libgcc_handle);
+      libgcc_handle = NULL;
+    }
 }
 #else
 # define unwind_backtrace _Unwind_Backtrace
@@ -142,3 +147,17 @@
 }
 weak_alias (__backtrace, backtrace)
 libc_hidden_def (__backtrace)
+
+
+#ifdef SHARED
+/* Free all resources if necessary.  */
+libc_freeres_fn (free_mem)
+{
+  unwind_backtrace = NULL;
+  if (libgcc_handle != NULL)
+    {
+      __libc_dlclose (libgcc_handle);
+      libgcc_handle = NULL;
+    }
+}
+#endif

Modified: fsf/trunk/libc/sysdeps/ia64/backtrace.c
==============================================================================
--- fsf/trunk/libc/sysdeps/ia64/backtrace.c (original)
+++ fsf/trunk/libc/sysdeps/ia64/backtrace.c Sun Oct 28 00:03:09 2007
@@ -1,5 +1,5 @@
 /* Return backtrace of current program state.
-   Copyright (C) 2003, 2004, 2005 Free Software Foundation, Inc.
+   Copyright (C) 2003, 2004, 2005, 2007 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Jakub Jelinek <jakub@xxxxxxxxxx>, 2003.
 
@@ -33,17 +33,18 @@
 #ifdef SHARED
 static _Unwind_Reason_Code (*unwind_backtrace) (_Unwind_Trace_Fn, void *);
 static _Unwind_Ptr (*unwind_getip) (struct _Unwind_Context *);
+static void *libgcc_handle;
 
 static void
 init (void)
 {
-  void *handle = __libc_dlopen ("libgcc_s.so.1");
+  libgcc_handle = __libc_dlopen ("libgcc_s.so.1");
 
-  if (handle == NULL)
+  if (libgcc_handle == NULL)
     return;
 
-  unwind_backtrace = __libc_dlsym (handle, "_Unwind_Backtrace");
-  unwind_getip = __libc_dlsym (handle, "_Unwind_GetIP");
+  unwind_backtrace = __libc_dlsym (libgcc_handle, "_Unwind_Backtrace");
+  unwind_getip = __libc_dlsym (libgcc_handle, "_Unwind_GetIP");
   if (unwind_getip == NULL)
     unwind_backtrace = NULL;
 }
@@ -91,3 +92,17 @@
 }
 weak_alias (__backtrace, backtrace)
 libc_hidden_def (__backtrace)
+
+
+#ifdef SHARED
+/* Free all resources if necessary.  */
+libc_freeres_fn (free_mem)
+{
+  unwind_backtrace = NULL;
+  if (libgcc_handle != NULL)
+    {
+      __libc_dlclose (libgcc_handle);
+      libgcc_handle = NULL;
+    }
+}
+#endif

Modified: fsf/trunk/libc/sysdeps/unix/sysv/linux/readahead.c
==============================================================================
--- fsf/trunk/libc/sysdeps/unix/sysv/linux/readahead.c (original)
+++ fsf/trunk/libc/sysdeps/unix/sysv/linux/readahead.c Sun Oct 28 00:03:09 2007
@@ -1,5 +1,5 @@
 /* Provide kernel hint to read ahead.
-   Copyright (C) 2002, 2003, 2004 Free Software Foundation, Inc.
+   Copyright (C) 2002, 2003, 2004, 2007 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
@@ -30,8 +30,10 @@
 ssize_t
 __readahead (int fd, off64_t offset, size_t count)
 {
-  return INLINE_SYSCALL (readahead, 4, fd, (off_t) (offset >> 32),
-			 (off_t) (offset & 0xffffffff), count);
+  return INLINE_SYSCALL (readahead, 4, fd,
+			 __LONG_LONG_PAIR ((off_t) (offset >> 32),
+					   (off_t) (offset & 0xffffffff)),
+			 count);
 }
 #else
 ssize_t

Modified: fsf/trunk/libc/sysdeps/unix/sysv/linux/sys/epoll.h
==============================================================================
--- fsf/trunk/libc/sysdeps/unix/sysv/linux/sys/epoll.h (original)
+++ fsf/trunk/libc/sysdeps/unix/sysv/linux/sys/epoll.h Sun Oct 28 00:03:09 2007
@@ -1,4 +1,4 @@
-/* Copyright (C) 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
+/* Copyright (C) 2002-2006, 2007 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
@@ -53,6 +53,8 @@
 #define EPOLLERR EPOLLERR
     EPOLLHUP = 0x010,
 #define EPOLLHUP EPOLLHUP
+    EPOLLRDHUP = 0x2000,
+#define EPOLLRDHUP EPOLLRDHUP
     EPOLLONESHOT = (1 << 30),
 #define EPOLLONESHOT EPOLLONESHOT
     EPOLLET = (1 << 31)