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

[commits] r9304 - in /branches/eglibc-2_11: libc/ libc/locale/ libc/posix/ libc/sysdeps/unix/sysv/linux/i386/ libc/sysdeps/unix/sysv/l...



Author: joseph
Date: Thu Nov 19 08:22:59 2009
New Revision: 9304

Log:
Merge changes between r9287 and r9302 from /fsf/glibc-2_11-branch.

Added:
    branches/eglibc-2_11/libc/locale/tst-duplocale.c
      - copied unchanged from r9302, fsf/glibc-2_11-branch/libc/locale/tst-duplocale.c
    branches/eglibc-2_11/libc/locale/tst-locname.c
      - copied unchanged from r9302, fsf/glibc-2_11-branch/libc/locale/tst-locname.c
    branches/eglibc-2_11/libc/posix/bug-regex30.c
      - copied unchanged from r9302, fsf/glibc-2_11-branch/libc/posix/bug-regex30.c
Modified:
    branches/eglibc-2_11/libc/ChangeLog
    branches/eglibc-2_11/libc/locale/Makefile
    branches/eglibc-2_11/libc/locale/duplocale.c
    branches/eglibc-2_11/libc/locale/langinfo.h
    branches/eglibc-2_11/libc/posix/Makefile
    branches/eglibc-2_11/libc/posix/bug-regex29.c
    branches/eglibc-2_11/libc/posix/regcomp.c
    branches/eglibc-2_11/libc/sysdeps/unix/sysv/linux/i386/bits/mman.h
    branches/eglibc-2_11/libc/sysdeps/unix/sysv/linux/i386/fallocate.c
    branches/eglibc-2_11/libc/sysdeps/unix/sysv/linux/i386/fallocate64.c
    branches/eglibc-2_11/libc/sysdeps/unix/sysv/linux/ia64/bits/mman.h
    branches/eglibc-2_11/libc/sysdeps/unix/sysv/linux/powerpc/bits/mman.h
    branches/eglibc-2_11/libc/sysdeps/unix/sysv/linux/s390/bits/mman.h
    branches/eglibc-2_11/libc/sysdeps/unix/sysv/linux/sh/bits/mman.h
    branches/eglibc-2_11/libc/sysdeps/unix/sysv/linux/sparc/bits/mman.h
    branches/eglibc-2_11/libc/sysdeps/unix/sysv/linux/x86_64/bits/mman.h
    branches/eglibc-2_11/ports/ChangeLog.arm
    branches/eglibc-2_11/ports/ChangeLog.m68k
    branches/eglibc-2_11/ports/ChangeLog.mips
    branches/eglibc-2_11/ports/sysdeps/unix/sysv/linux/arm/bits/mman.h
    branches/eglibc-2_11/ports/sysdeps/unix/sysv/linux/m68k/bits/mman.h
    branches/eglibc-2_11/ports/sysdeps/unix/sysv/linux/mips/bits/mman.h

Modified: branches/eglibc-2_11/libc/ChangeLog
==============================================================================
--- branches/eglibc-2_11/libc/ChangeLog (original)
+++ branches/eglibc-2_11/libc/ChangeLog Thu Nov 19 08:22:59 2009
@@ -1,3 +1,44 @@
+2009-11-17  Paolo Bonzini  <bonzini@xxxxxxx>
+
+	* posix/bug-regex30.c: New file.
+	* posix/Makefile: Add rules to build and run bug-regex30.
+	* posix/regcomp.c (re_compile_fastmap_iter): Add all multibyte
+	character lead bytes when there is a range in a COMPLEX_BRACKET.
+	Reported by Oleg Bylatov.
+
+2009-11-17  Ulrich Drepper  <drepper@xxxxxxxxxx>
+
+	[BZ #10969]
+	* locale/duplocale.c (__duplocale): Handle LC_GLOBAL_LOCALE special.
+	* locale/tst-duplocale.c: New file.
+	* locale/Makefile (tests): Add tst-duplocale.
+
+	[BZ #10968]
+	* locale/langinfo.h (_NL_LOCALE_NAME): Correct definition.
+	Patch by Bruno Haible <bruno@xxxxxxxxx>.
+	* locale/tst-locname.c: New file.
+	* locale/Makefile (tests): Add tst-locname.
+
+	[BZ #10972]
+	* sysdeps/unix/sysv/linux/powerpc/bits/mman.h: Add new MADV_*
+	constants from recent kernels.
+	* sysdeps/unix/sysv/linux/i386/bits/mman.h: Likewise.
+	* sysdeps/unix/sysv/linux/x86_64/bits/mman.h: Likewise.
+	* sysdeps/unix/sysv/linux/s390/bits/mman.h: Likewise.
+	* sysdeps/unix/sysv/linux/sparc/bits/mman.h: Likewise.
+	* sysdeps/unix/sysv/linux/sh/bits/mman.h: Likewise.
+	* sysdeps/unix/sysv/linux/ia64/bits/mman.h: Likewise.
+
+2009-11-09  Mike Frysinger  <vapier@xxxxxxxxxx>
+
+	* sysdeps/unix/sysv/linux/i386/fallocate.c: Include errno.h.
+	(fallocate): Return ENOSYS if __NR_fallocate is not defined.
+	* sysdeps/unix/sysv/linux/i386/fallocate64.c: Likewise.
+
+2009-11-06  Mike Frysinger  <vapier@xxxxxxxxxx>
+
+	* posix/bug-regex29.c: Include stdio.h.
+
 2009-11-14  Ulrich Drepper  <drepper@xxxxxxxxxx>
 
 	* sysdeps/unix/sysv/linux/sh/bits/fcntl.h: Update F_SETOWN_EX and

Modified: branches/eglibc-2_11/libc/locale/Makefile
==============================================================================
--- branches/eglibc-2_11/libc/locale/Makefile (original)
+++ branches/eglibc-2_11/libc/locale/Makefile Thu Nov 19 08:22:59 2009
@@ -1,4 +1,4 @@
-# Copyright (C) 1991,1992,1995-2003,2005 Free Software Foundation, Inc.
+# Copyright (C) 1991,1992,1995-2003,2005,2009 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,7 +48,7 @@
 ifneq (y,$(OPTION_EGLIBC_LOCALE_CODE))
 routines-y	+= dummy-setlocale
 endif
-tests-$(OPTION_EGLIBC_LOCALE_CODE) += tst-C-locale
+tests-$(OPTION_EGLIBC_LOCALE_CODE) += tst-C-locale tst-locname tst-duplocale
 categories	= ctype messages monetary numeric time paper name \
 		  address telephone measurement identification collate
 # C-messages belongs in an intl option group.
@@ -123,7 +123,7 @@
 
 # This makes sure -DNOT_IN_libc is passed for all these modules.
 cpp-srcs-left := $(addsuffix .c,$(localedef-modules) $(localedef-aux) \
-			        $(locale-modules) $(lib-modules))
+				$(locale-modules) $(lib-modules))
 lib := nonlib
 include $(patsubst %,$(..)cppflags-iterator.mk,$(cpp-srcs-left))
 

Modified: branches/eglibc-2_11/libc/locale/duplocale.c
==============================================================================
--- branches/eglibc-2_11/libc/locale/duplocale.c (original)
+++ branches/eglibc-2_11/libc/locale/duplocale.c Thu Nov 19 08:22:59 2009
@@ -1,5 +1,5 @@
 /* Duplicate handle for selection of locales.
-   Copyright (C) 1997,2000,2001,2002,2005,2008 Free Software Foundation, Inc.
+   Copyright (C) 1997,2000-2002,2005,2008,2009 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@xxxxxxxxxx>, 1997.
 
@@ -36,6 +36,10 @@
   /* This static object is returned for newlocale (LC_ALL_MASK, "C").  */
   if (dataset == _nl_C_locobj_ptr)
     return dataset;
+
+  /* Handle a special value.  */
+  if (dataset == LC_GLOBAL_LOCALE)
+    dataset = &_nl_global_locale;
 
   __locale_t result;
   int cnt;

Modified: branches/eglibc-2_11/libc/locale/langinfo.h
==============================================================================
--- branches/eglibc-2_11/libc/locale/langinfo.h (original)
+++ branches/eglibc-2_11/libc/locale/langinfo.h Thu Nov 19 08:22:59 2009
@@ -568,7 +568,8 @@
 
 /* This macro produces an item you can pass to `nl_langinfo' or
    `nl_langinfo_l' to get the name of the locale in use for CATEGORY.  */
-#define _NL_LOCALE_NAME(category)	_NL_ITEM ((category), -1)
+#define _NL_LOCALE_NAME(category)	_NL_ITEM ((category),		      \
+						  _NL_ITEM_INDEX (-1))
 #ifdef __USE_GNU
 # define NL_LOCALE_NAME(category)	_NL_LOCALE_NAME (category)
 #endif

Modified: branches/eglibc-2_11/libc/posix/Makefile
==============================================================================
--- branches/eglibc-2_11/libc/posix/Makefile (original)
+++ branches/eglibc-2_11/libc/posix/Makefile Thu Nov 19 08:22:59 2009
@@ -93,7 +93,7 @@
 		   bug-regex8 bug-regex9 bug-regex10 bug-regex12 \
 		   bug-regex14 bug-regex15 \
 		   bug-regex21 bug-regex24 \
-		   bug-regex27 bug-regex28 bug-regex29 \
+		   bug-regex27 bug-regex28 bug-regex29 bug-regex30 \
 		   tst-nice tst-nanosleep \
 		   transbug \
 		   tst-vfork1 tst-vfork2 tst-vfork3 tst-waitid \
@@ -226,6 +226,7 @@
 bug-regex23-ENV = LOCPATH=$(common-objpfx)localedata
 bug-regex25-ENV = LOCPATH=$(common-objpfx)localedata
 bug-regex26-ENV = LOCPATH=$(common-objpfx)localedata
+bug-regex30-ENV = LOCPATH=$(common-objpfx)localedata
 tst-rxspencer-ARGS = rxspencer/tests
 ifeq (y,$(OPTION_EGLIBC_LOCALE_CODE))
 tst-rxspencer-ARGS += --utf8 

Modified: branches/eglibc-2_11/libc/posix/bug-regex29.c
==============================================================================
--- branches/eglibc-2_11/libc/posix/bug-regex29.c (original)
+++ branches/eglibc-2_11/libc/posix/bug-regex29.c Thu Nov 19 08:22:59 2009
@@ -1,4 +1,5 @@
 #include <regex.h>
+#include <stdio.h>
 
 static int
 do_test (void)

Modified: branches/eglibc-2_11/libc/posix/regcomp.c
==============================================================================
--- branches/eglibc-2_11/libc/posix/regcomp.c (original)
+++ branches/eglibc-2_11/libc/posix/regcomp.c Thu Nov 19 08:22:59 2009
@@ -383,7 +383,7 @@
 	     applies to multibyte character sets; for single byte character
 	     sets, the SIMPLE_BRACKET again suffices.  */
 	  if (dfa_mb_cur_max (dfa) > 1
-	      && (cset->nchar_classes || cset->non_match
+	      && (cset->nchar_classes || cset->non_match || cset->nranges
 # ifdef _LIBC
 		  || cset->nequiv_classes
 # endif /* _LIBC */

Modified: branches/eglibc-2_11/libc/sysdeps/unix/sysv/linux/i386/bits/mman.h
==============================================================================
--- branches/eglibc-2_11/libc/sysdeps/unix/sysv/linux/i386/bits/mman.h (original)
+++ branches/eglibc-2_11/libc/sysdeps/unix/sysv/linux/i386/bits/mman.h Thu Nov 19 08:22:59 2009
@@ -1,5 +1,5 @@
 /* Definitions for POSIX memory map interface.  Linux/i386 version.
-   Copyright (C) 1997, 2000, 2003, 2005, 2006 Free Software Foundation, Inc.
+   Copyright (C) 1997,2000,2003,2005,2006,2009 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
@@ -84,14 +84,17 @@
 
 /* Advice to `madvise'.  */
 #ifdef __USE_BSD
-# define MADV_NORMAL	 0	/* No further special treatment.  */
-# define MADV_RANDOM	 1	/* Expect random page references.  */
-# define MADV_SEQUENTIAL 2	/* Expect sequential page references.  */
-# define MADV_WILLNEED	 3	/* Will need these pages.  */
-# define MADV_DONTNEED	 4	/* Don't need these pages.  */
-# define MADV_REMOVE	 9	/* Remove these pages and resources.  */
-# define MADV_DONTFORK	 10	/* Do not inherit across fork.  */
-# define MADV_DOFORK	 11	/* Do inherit across fork.  */
+# define MADV_NORMAL	  0	/* No further special treatment.  */
+# define MADV_RANDOM	  1	/* Expect random page references.  */
+# define MADV_SEQUENTIAL  2	/* Expect sequential page references.  */
+# define MADV_WILLNEED	  3	/* Will need these pages.  */
+# define MADV_DONTNEED	  4	/* Don't need these pages.  */
+# define MADV_REMOVE	  9	/* Remove these pages and resources.  */
+# define MADV_DONTFORK	  10	/* Do not inherit across fork.  */
+# define MADV_DOFORK	  11	/* Do inherit across fork.  */
+# define MADV_MERGEABLE	  12	/* KSM may merge identical pages.  */
+# define MADV_UNMERGEABLE 13	/* KSM may not merge identical pages.  */
+# define MADV_HWPOISON	  100	/* Poison a page for testing.  */
 #endif
 
 /* The POSIX people had to invent similar names for the same things.  */

Modified: branches/eglibc-2_11/libc/sysdeps/unix/sysv/linux/i386/fallocate.c
==============================================================================
--- branches/eglibc-2_11/libc/sysdeps/unix/sysv/linux/i386/fallocate.c (original)
+++ branches/eglibc-2_11/libc/sysdeps/unix/sysv/linux/i386/fallocate.c Thu Nov 19 08:22:59 2009
@@ -16,6 +16,7 @@
    Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
    02111-1307 USA.  */
 
+#include <errno.h>
 #include <fcntl.h>
 #include <sysdep.h>
 
@@ -28,5 +29,10 @@
 int
 fallocate (int fd, int mode, __off_t offset, __off_t len)
 {
+#ifdef __NR_fallocate
   return __call_fallocate (fd, mode, offset, len);
+#else
+  __set_errno (ENOSYS);
+  return -1;
+#endif
 }

Modified: branches/eglibc-2_11/libc/sysdeps/unix/sysv/linux/i386/fallocate64.c
==============================================================================
--- branches/eglibc-2_11/libc/sysdeps/unix/sysv/linux/i386/fallocate64.c (original)
+++ branches/eglibc-2_11/libc/sysdeps/unix/sysv/linux/i386/fallocate64.c Thu Nov 19 08:22:59 2009
@@ -16,6 +16,7 @@
    Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
    02111-1307 USA.  */
 
+#include <errno.h>
 #include <fcntl.h>
 #include <sysdep.h>
 
@@ -28,5 +29,10 @@
 int
 fallocate64 (int fd, int mode, __off64_t offset, __off64_t len)
 {
+#ifdef __NR_fallocate
   return __call_fallocate (fd, mode, offset, len);
+#else
+  __set_errno (ENOSYS);
+  return -1;
+#endif
 }

Modified: branches/eglibc-2_11/libc/sysdeps/unix/sysv/linux/ia64/bits/mman.h
==============================================================================
--- branches/eglibc-2_11/libc/sysdeps/unix/sysv/linux/ia64/bits/mman.h (original)
+++ branches/eglibc-2_11/libc/sysdeps/unix/sysv/linux/ia64/bits/mman.h Thu Nov 19 08:22:59 2009
@@ -1,5 +1,6 @@
 /* Definitions for POSIX memory map interface.  Linux/ia64 version.
-   Copyright (C) 1997,1998,2000,2003,2005,2006 Free Software Foundation, Inc.
+   Copyright (C) 1997,1998,2000,2003,2005,2006,2009
+   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
@@ -84,14 +85,17 @@
 
 /* Advice to `madvise'.  */
 #ifdef __USE_BSD
-# define MADV_NORMAL	 0	/* No further special treatment.  */
-# define MADV_RANDOM	 1	/* Expect random page references.  */
-# define MADV_SEQUENTIAL 2	/* Expect sequential page references.  */
-# define MADV_WILLNEED	 3	/* Will need these pages.  */
-# define MADV_DONTNEED	 4	/* Don't need these pages.  */
-# define MADV_REMOVE	 9	/* Remove these pages and resources.  */
-# define MADV_DONTFORK	 10	/* Do not inherit across fork.  */
-# define MADV_DOFORK	 11	/* Do inherit across fork.  */
+# define MADV_NORMAL	  0	/* No further special treatment.  */
+# define MADV_RANDOM	  1	/* Expect random page references.  */
+# define MADV_SEQUENTIAL  2	/* Expect sequential page references.  */
+# define MADV_WILLNEED	  3	/* Will need these pages.  */
+# define MADV_DONTNEED	  4	/* Don't need these pages.  */
+# define MADV_REMOVE	  9	/* Remove these pages and resources.  */
+# define MADV_DONTFORK	  10	/* Do not inherit across fork.  */
+# define MADV_DOFORK	  11	/* Do inherit across fork.  */
+# define MADV_MERGEABLE	  12	/* KSM may merge identical pages.  */
+# define MADV_UNMERGEABLE 13	/* KSM may not merge identical pages.  */
+# define MADV_HWPOISON	  100	/* Poison a page for testing.  */
 #endif
 
 /* The POSIX people had to invent similar names for the same things.  */

Modified: branches/eglibc-2_11/libc/sysdeps/unix/sysv/linux/powerpc/bits/mman.h
==============================================================================
--- branches/eglibc-2_11/libc/sysdeps/unix/sysv/linux/powerpc/bits/mman.h (original)
+++ branches/eglibc-2_11/libc/sysdeps/unix/sysv/linux/powerpc/bits/mman.h Thu Nov 19 08:22:59 2009
@@ -1,5 +1,6 @@
 /* Definitions for POSIX memory map interface.  Linux/PowerPC version.
-   Copyright (C) 1997,2000,2003,2005,2006,2008 Free Software Foundation, Inc.
+   Copyright (C) 1997,2000,2003,2005,2006,2008,2009
+   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
@@ -85,14 +86,17 @@
 
 /* Advice to `madvise'.  */
 #ifdef __USE_BSD
-# define MADV_NORMAL	 0	/* No further special treatment.  */
-# define MADV_RANDOM	 1	/* Expect random page references.  */
-# define MADV_SEQUENTIAL 2	/* Expect sequential page references.  */
-# define MADV_WILLNEED	 3	/* Will need these pages.  */
-# define MADV_DONTNEED	 4	/* Don't need these pages.  */
-# define MADV_REMOVE	 9	/* Remove these pages and resources.  */
-# define MADV_DONTFORK	 10	/* Do not inherit across fork.  */
-# define MADV_DOFORK	 11	/* Do inherit across fork.  */
+# define MADV_NORMAL	  0	/* No further special treatment.  */
+# define MADV_RANDOM	  1	/* Expect random page references.  */
+# define MADV_SEQUENTIAL  2	/* Expect sequential page references.  */
+# define MADV_WILLNEED	  3	/* Will need these pages.  */
+# define MADV_DONTNEED	  4	/* Don't need these pages.  */
+# define MADV_REMOVE	  9	/* Remove these pages and resources.  */
+# define MADV_DONTFORK	  10	/* Do not inherit across fork.  */
+# define MADV_DOFORK	  11	/* Do inherit across fork.  */
+# define MADV_MERGEABLE	  12	/* KSM may merge identical pages.  */
+# define MADV_UNMERGEABLE 13	/* KSM may not merge identical pages.  */
+# define MADV_HWPOISON	  100	/* Poison a page for testing.  */
 #endif
 
 /* The POSIX people had to invent similar names for the same things.  */

Modified: branches/eglibc-2_11/libc/sysdeps/unix/sysv/linux/s390/bits/mman.h
==============================================================================
--- branches/eglibc-2_11/libc/sysdeps/unix/sysv/linux/s390/bits/mman.h (original)
+++ branches/eglibc-2_11/libc/sysdeps/unix/sysv/linux/s390/bits/mman.h Thu Nov 19 08:22:59 2009
@@ -1,5 +1,5 @@
 /* Definitions for POSIX memory map interface.  Linux/s390 version.
-   Copyright (C) 2000,2001,2002,2003,2005,2006 Free Software Foundation, Inc.
+   Copyright (C) 2000-2003,2005,2006,2009 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
@@ -84,14 +84,17 @@
 
 /* Advice to `madvise'.  */
 #ifdef __USE_BSD
-# define MADV_NORMAL	 0	/* No further special treatment.  */
-# define MADV_RANDOM	 1	/* Expect random page references.  */
-# define MADV_SEQUENTIAL 2	/* Expect sequential page references.  */
-# define MADV_WILLNEED	 3	/* Will need these pages.  */
-# define MADV_DONTNEED	 4	/* Don't need these pages.  */
-# define MADV_REMOVE	 9	/* Remove these pages and resources.  */
-# define MADV_DONTFORK	 10	/* Do not inherit across fork.  */
-# define MADV_DOFORK	 11	/* Do inherit across fork.  */
+# define MADV_NORMAL	  0	/* No further special treatment.  */
+# define MADV_RANDOM	  1	/* Expect random page references.  */
+# define MADV_SEQUENTIAL  2	/* Expect sequential page references.  */
+# define MADV_WILLNEED	  3	/* Will need these pages.  */
+# define MADV_DONTNEED	  4	/* Don't need these pages.  */
+# define MADV_REMOVE	  9	/* Remove these pages and resources.  */
+# define MADV_DONTFORK	  10	/* Do not inherit across fork.  */
+# define MADV_DOFORK	  11	/* Do inherit across fork.  */
+# define MADV_MERGEABLE	  12	/* KSM may merge identical pages.  */
+# define MADV_UNMERGEABLE 13	/* KSM may not merge identical pages.  */
+# define MADV_HWPOISON	  100	/* Poison a page for testing.  */
 #endif
 
 /* The POSIX people had to invent similar names for the same things.  */

Modified: branches/eglibc-2_11/libc/sysdeps/unix/sysv/linux/sh/bits/mman.h
==============================================================================
--- branches/eglibc-2_11/libc/sysdeps/unix/sysv/linux/sh/bits/mman.h (original)
+++ branches/eglibc-2_11/libc/sysdeps/unix/sysv/linux/sh/bits/mman.h Thu Nov 19 08:22:59 2009
@@ -1,5 +1,6 @@
 /* Definitions for POSIX memory map interface.  Linux/SH version.
-   Copyright (C) 1997,1999,2000,2003,2005,2006 Free Software Foundation, Inc.
+   Copyright (C) 1997,1999,2000,2003,2005,2006,2009
+   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
@@ -83,14 +84,17 @@
 
 /* Advice to `madvise'.  */
 #ifdef __USE_BSD
-# define MADV_NORMAL	 0	/* No further special treatment.  */
-# define MADV_RANDOM	 1	/* Expect random page references.  */
-# define MADV_SEQUENTIAL 2	/* Expect sequential page references.  */
-# define MADV_WILLNEED	 3	/* Will need these pages.  */
-# define MADV_DONTNEED	 4	/* Don't need these pages.  */
-# define MADV_REMOVE	 9	/* Remove these pages and resources.  */
-# define MADV_DONTFORK	 10	/* Do not inherit across fork.  */
-# define MADV_DOFORK	 11	/* Do inherit across fork.  */
+# define MADV_NORMAL	  0	/* No further special treatment.  */
+# define MADV_RANDOM	  1	/* Expect random page references.  */
+# define MADV_SEQUENTIAL  2	/* Expect sequential page references.  */
+# define MADV_WILLNEED	  3	/* Will need these pages.  */
+# define MADV_DONTNEED	  4	/* Don't need these pages.  */
+# define MADV_REMOVE	  9	/* Remove these pages and resources.  */
+# define MADV_DONTFORK	  10	/* Do not inherit across fork.  */
+# define MADV_DOFORK	  11	/* Do inherit across fork.  */
+# define MADV_MERGEABLE	  12	/* KSM may merge identical pages.  */
+# define MADV_UNMERGEABLE 13	/* KSM may not merge identical pages.  */
+# define MADV_HWPOISON	  100	/* Poison a page for testing.  */
 #endif
 
 /* The POSIX people had to invent similar names for the same things.  */

Modified: branches/eglibc-2_11/libc/sysdeps/unix/sysv/linux/sparc/bits/mman.h
==============================================================================
--- branches/eglibc-2_11/libc/sysdeps/unix/sysv/linux/sparc/bits/mman.h (original)
+++ branches/eglibc-2_11/libc/sysdeps/unix/sysv/linux/sparc/bits/mman.h Thu Nov 19 08:22:59 2009
@@ -1,5 +1,6 @@
 /* Definitions for POSIX memory map interface.  Linux/SPARC version.
-   Copyright (C) 1997,1999,2000,2003,2005,2006 Free Software Foundation, Inc.
+   Copyright (C) 1997,1999,2000,2003,2005,2006,2009
+   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
@@ -85,15 +86,18 @@
 
 /* Advice to `madvise'.  */
 #ifdef __USE_BSD
-# define MADV_NORMAL	 0	/* No further special treatment.  */
-# define MADV_RANDOM	 1	/* Expect random page references.  */
-# define MADV_SEQUENTIAL 2	/* Expect sequential page references.  */
-# define MADV_WILLNEED	 3	/* Will need these pages.  */
-# define MADV_DONTNEED	 4	/* Don't need these pages.  */
-# define MADV_FREE	 5	/* Content can be freed (Solaris).  */
-# define MADV_REMOVE	 9	/* Remove these pages and resources.  */
-# define MADV_DONTFORK	 10	/* Do not inherit across fork.  */
-# define MADV_DOFORK	 11	/* Do inherit across fork.  */
+# define MADV_NORMAL	  0	/* No further special treatment.  */
+# define MADV_RANDOM	  1	/* Expect random page references.  */
+# define MADV_SEQUENTIAL  2	/* Expect sequential page references.  */
+# define MADV_WILLNEED	  3	/* Will need these pages.  */
+# define MADV_DONTNEED	  4	/* Don't need these pages.  */
+# define MADV_FREE	  5	/* Content can be freed (Solaris).  */
+# define MADV_REMOVE	  9	/* Remove these pages and resources.  */
+# define MADV_DONTFORK	  10	/* Do not inherit across fork.  */
+# define MADV_DOFORK	  11	/* Do inherit across fork.  */
+# define MADV_MERGEABLE	  12	/* KSM may merge identical pages.  */
+# define MADV_UNMERGEABLE 13	/* KSM may not merge identical pages.  */
+# define MADV_HWPOISON	  100	/* Poison a page for testing.  */
 #endif
 
 /* The POSIX people had to invent similar names for the same things.  */

Modified: branches/eglibc-2_11/libc/sysdeps/unix/sysv/linux/x86_64/bits/mman.h
==============================================================================
--- branches/eglibc-2_11/libc/sysdeps/unix/sysv/linux/x86_64/bits/mman.h (original)
+++ branches/eglibc-2_11/libc/sysdeps/unix/sysv/linux/x86_64/bits/mman.h Thu Nov 19 08:22:59 2009
@@ -1,5 +1,5 @@
 /* Definitions for POSIX memory map interface.  Linux/x86_64 version.
-   Copyright (C) 2001, 2003, 2005, 2006 Free Software Foundation, Inc.
+   Copyright (C) 2001, 2003, 2005, 2006, 2009 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
@@ -85,14 +85,17 @@
 
 /* Advice to `madvise'.  */
 #ifdef __USE_BSD
-# define MADV_NORMAL	 0	/* No further special treatment.  */
-# define MADV_RANDOM	 1	/* Expect random page references.  */
-# define MADV_SEQUENTIAL 2	/* Expect sequential page references.  */
-# define MADV_WILLNEED	 3	/* Will need these pages.  */
-# define MADV_DONTNEED	 4	/* Don't need these pages.  */
-# define MADV_REMOVE	 9	/* Remove these pages and resources.  */
-# define MADV_DONTFORK	 10	/* Do not inherit across fork.  */
-# define MADV_DOFORK	 11	/* Do inherit across fork.  */
+# define MADV_NORMAL	  0	/* No further special treatment.  */
+# define MADV_RANDOM	  1	/* Expect random page references.  */
+# define MADV_SEQUENTIAL  2	/* Expect sequential page references.  */
+# define MADV_WILLNEED	  3	/* Will need these pages.  */
+# define MADV_DONTNEED	  4	/* Don't need these pages.  */
+# define MADV_REMOVE	  9	/* Remove these pages and resources.  */
+# define MADV_DONTFORK	  10	/* Do not inherit across fork.  */
+# define MADV_DOFORK	  11	/* Do inherit across fork.  */
+# define MADV_MERGEABLE	  12	/* KSM may merge identical pages.  */
+# define MADV_UNMERGEABLE 13	/* KSM may not merge identical pages.  */
+# define MADV_HWPOISON	  100	/* Poison a page for testing.  */
 #endif
 
 /* The POSIX people had to invent similar names for the same things.  */

Modified: branches/eglibc-2_11/ports/ChangeLog.arm
==============================================================================
--- branches/eglibc-2_11/ports/ChangeLog.arm (original)
+++ branches/eglibc-2_11/ports/ChangeLog.arm Thu Nov 19 08:22:59 2009
@@ -1,3 +1,9 @@
+2009-11-17  Joseph Myers  <joseph@xxxxxxxxxxxxxxxx>
+
+	[BZ #10972]
+	* sysdeps/unix/sysv/linux/arm/bits/mman.h: Add new MADV_*
+	constants from recent kernels.
+
 2009-11-14  Joseph Myers  <joseph@xxxxxxxxxxxxxxxx>
 
 	* sysdeps/unix/sysv/linux/arm/bits/fcntl.h (F_SETOWN_EX,

Modified: branches/eglibc-2_11/ports/ChangeLog.m68k
==============================================================================
--- branches/eglibc-2_11/ports/ChangeLog.m68k (original)
+++ branches/eglibc-2_11/ports/ChangeLog.m68k Thu Nov 19 08:22:59 2009
@@ -1,3 +1,9 @@
+2009-11-17  Joseph Myers  <joseph@xxxxxxxxxxxxxxxx>
+
+	[BZ #10972]
+	* sysdeps/unix/sysv/linux/m68k/bits/mman.h: Add new MADV_*
+	constants from recent kernels.
+
 2009-11-15  Andreas Schwab  <schwab@xxxxxxxxxxxxxx>
 
 	* sysdeps/m68k/libgcc_s.h: New file.

Modified: branches/eglibc-2_11/ports/ChangeLog.mips
==============================================================================
--- branches/eglibc-2_11/ports/ChangeLog.mips (original)
+++ branches/eglibc-2_11/ports/ChangeLog.mips Thu Nov 19 08:22:59 2009
@@ -1,3 +1,9 @@
+2009-11-17  Joseph Myers  <joseph@xxxxxxxxxxxxxxxx>
+
+	[BZ #10972]
+	* sysdeps/unix/sysv/linux/mips/bits/mman.h: Add new MADV_*
+	constants from recent kernels.
+
 2009-11-14  Joseph Myers  <joseph@xxxxxxxxxxxxxxxx>
 
 	* sysdeps/unix/sysv/linux/mips/bits/fcntl.h (F_SETOWN_EX,

Modified: branches/eglibc-2_11/ports/sysdeps/unix/sysv/linux/arm/bits/mman.h
==============================================================================
--- branches/eglibc-2_11/ports/sysdeps/unix/sysv/linux/arm/bits/mman.h (original)
+++ branches/eglibc-2_11/ports/sysdeps/unix/sysv/linux/arm/bits/mman.h Thu Nov 19 08:22:59 2009
@@ -1,5 +1,6 @@
 /* Definitions for POSIX memory map interface.  Linux/ARM version.
-   Copyright (C) 1997, 2000, 2003, 2005, 2006 Free Software Foundation, Inc.
+   Copyright (C) 1997, 2000, 2003, 2005, 2006, 2009
+   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
@@ -83,14 +84,17 @@
 
 /* Advice to `madvise'.  */
 #ifdef __USE_BSD
-# define MADV_NORMAL	 0	/* No further special treatment.  */
-# define MADV_RANDOM	 1	/* Expect random page references.  */
-# define MADV_SEQUENTIAL 2	/* Expect sequential page references.  */
-# define MADV_WILLNEED	 3	/* Will need these pages.  */
-# define MADV_DONTNEED	 4	/* Don't need these pages.  */
-# define MADV_REMOVE	 9	/* Remove these pages and resources.  */
-# define MADV_DONTFORK	 10	/* Do not inherit across fork.  */
-# define MADV_DOFORK	 11	/* Do inherit across fork.  */
+# define MADV_NORMAL	  0	/* No further special treatment.  */
+# define MADV_RANDOM	  1	/* Expect random page references.  */
+# define MADV_SEQUENTIAL  2	/* Expect sequential page references.  */
+# define MADV_WILLNEED	  3	/* Will need these pages.  */
+# define MADV_DONTNEED	  4	/* Don't need these pages.  */
+# define MADV_REMOVE	  9	/* Remove these pages and resources.  */
+# define MADV_DONTFORK	  10	/* Do not inherit across fork.  */
+# define MADV_DOFORK	  11	/* Do inherit across fork.  */
+# define MADV_MERGEABLE	  12	/* KSM may merge identical pages.  */
+# define MADV_UNMERGEABLE 13	/* KSM may not merge identical pages.  */
+# define MADV_HWPOISON	  100	/* Poison a page for testing.  */
 #endif
 
 /* The POSIX people had to invent similar names for the same things.  */

Modified: branches/eglibc-2_11/ports/sysdeps/unix/sysv/linux/m68k/bits/mman.h
==============================================================================
--- branches/eglibc-2_11/ports/sysdeps/unix/sysv/linux/m68k/bits/mman.h (original)
+++ branches/eglibc-2_11/ports/sysdeps/unix/sysv/linux/m68k/bits/mman.h Thu Nov 19 08:22:59 2009
@@ -1,5 +1,6 @@
 /* Definitions for POSIX memory map interface.  Linux/m68k version.
-   Copyright (C) 1997, 2000, 2003, 2005, 2008 Free Software Foundation, Inc.
+   Copyright (C) 1997, 2000, 2003, 2005, 2008, 2009
+   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
@@ -83,14 +84,17 @@
 
 /* Advice to `madvise'.  */
 #ifdef __USE_BSD
-# define MADV_NORMAL	 0	/* No further special treatment.  */
-# define MADV_RANDOM	 1	/* Expect random page references.  */
-# define MADV_SEQUENTIAL 2	/* Expect sequential page references.  */
-# define MADV_WILLNEED	 3	/* Will need these pages.  */
-# define MADV_DONTNEED	 4	/* Don't need these pages.  */
-# define MADV_REMOVE	 9	/* Remove these pages and resources.  */
-# define MADV_DONTFORK	 10	/* Do not inherit across fork.  */
-# define MADV_DOFORK	 11	/* Do inherit across fork.  */
+# define MADV_NORMAL	  0	/* No further special treatment.  */
+# define MADV_RANDOM	  1	/* Expect random page references.  */
+# define MADV_SEQUENTIAL  2	/* Expect sequential page references.  */
+# define MADV_WILLNEED	  3	/* Will need these pages.  */
+# define MADV_DONTNEED	  4	/* Don't need these pages.  */
+# define MADV_REMOVE	  9	/* Remove these pages and resources.  */
+# define MADV_DONTFORK	  10	/* Do not inherit across fork.  */
+# define MADV_DOFORK	  11	/* Do inherit across fork.  */
+# define MADV_MERGEABLE	  12	/* KSM may merge identical pages.  */
+# define MADV_UNMERGEABLE 13	/* KSM may not merge identical pages.  */
+# define MADV_HWPOISON	  100	/* Poison a page for testing.  */
 #endif
 
 /* The POSIX people had to invent similar names for the same things.  */

Modified: branches/eglibc-2_11/ports/sysdeps/unix/sysv/linux/mips/bits/mman.h
==============================================================================
--- branches/eglibc-2_11/ports/sysdeps/unix/sysv/linux/mips/bits/mman.h (original)
+++ branches/eglibc-2_11/ports/sysdeps/unix/sysv/linux/mips/bits/mman.h Thu Nov 19 08:22:59 2009
@@ -1,5 +1,5 @@
 /* Definitions for POSIX memory map interface.  Linux/MIPS version.
-   Copyright (C) 1997, 2000, 2003, 2004, 2005, 2006
+   Copyright (C) 1997, 2000, 2003, 2004, 2005, 2006, 2009
    Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
@@ -86,14 +86,17 @@
 
 /* Advice to `madvise'.  */
 #ifdef __USE_BSD
-# define MADV_NORMAL	 0	/* No further special treatment.  */
-# define MADV_RANDOM	 1	/* Expect random page references.  */
-# define MADV_SEQUENTIAL 2	/* Expect sequential page references.  */
-# define MADV_WILLNEED	 3	/* Will need these pages.  */
-# define MADV_DONTNEED	 4	/* Don't need these pages.  */
-# define MADV_REMOVE	 9	/* Remove these pages and resources.  */
-# define MADV_DONTFORK	 10	/* Do not inherit across fork.  */
-# define MADV_DOFORK	 11	/* Do inherit across fork.  */
+# define MADV_NORMAL	  0	/* No further special treatment.  */
+# define MADV_RANDOM	  1	/* Expect random page references.  */
+# define MADV_SEQUENTIAL  2	/* Expect sequential page references.  */
+# define MADV_WILLNEED	  3	/* Will need these pages.  */
+# define MADV_DONTNEED	  4	/* Don't need these pages.  */
+# define MADV_REMOVE	  9	/* Remove these pages and resources.  */
+# define MADV_DONTFORK	  10	/* Do not inherit across fork.  */
+# define MADV_DOFORK	  11	/* Do inherit across fork.  */
+# define MADV_MERGEABLE	  12	/* KSM may merge identical pages.  */
+# define MADV_UNMERGEABLE 13	/* KSM may not merge identical pages.  */
+# define MADV_HWPOISON	  100	/* Poison a page for testing.  */
 #endif
 
 /* The POSIX people had to invent similar names for the same things.  */