about summary refs log tree commit diff
diff options
context:
space:
mode:
authorAndreas Schwab <schwab@linux-m68k.org>2012-02-19 15:51:40 +0100
committerAndreas Schwab <schwab@linux-m68k.org>2012-02-19 18:27:02 +0100
commit7638c0fda568726f52ee5a88e1eadcddcd9fa290 (patch)
tree200c0fef9860a081dfb95c54e87e292adbdcf316
parent92221550d72bafcd322ac5ab2a951054184b7f1a (diff)
downloadglibc-7638c0fda568726f52ee5a88e1eadcddcd9fa290.tar.gz
glibc-7638c0fda568726f52ee5a88e1eadcddcd9fa290.tar.xz
glibc-7638c0fda568726f52ee5a88e1eadcddcd9fa290.zip
Add support for Linux error EHWPOISON
-rw-r--r--ChangeLog10
-rw-r--r--manual/errno.texi6
-rw-r--r--sysdeps/gnu/errlist.c8
-rw-r--r--sysdeps/unix/sysv/linux/bits/errno.h6
-rw-r--r--sysdeps/unix/sysv/linux/sparc/Versions4
-rw-r--r--sysdeps/unix/sysv/linux/sparc/bits/errno.h6
6 files changed, 38 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index 98dce70996..b20fc3f4cb 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,13 @@
+2012-02-19  Andreas Schwab  <schwab@linux-m68k.org>
+
+	* manual/errno.texi (Error Codes): Add EHWPOISON entry.
+	* sysdeps/unix/sysv/linux/bits/errno.h (EHWPOISON): Define if not
+	defined.
+	* sysdeps/unix/sysv/linux/sparc/bits/errno.h (EHWPOISON):
+	Likewise.
+	* sysdeps/unix/sysv/linux/sparc/Versions: Add new errlist compat
+	entry for 2.16.
+
 2012-02-19  Aurelien Jarno  <aurelien@aurel32.net>
 
 	* math/w_acos.c: Use non-signaling floating-point comparisons.
diff --git a/manual/errno.texi b/manual/errno.texi
index 70ce27761b..868a28a59f 100644
--- a/manual/errno.texi
+++ b/manual/errno.texi
@@ -1271,6 +1271,12 @@ They are not yet documented.}
 @comment errno ???/???
 @end deftypevr
 
+@comment errno.h
+@comment Linux: Memory page has hardware error
+@deftypevr Macro int EHWPOISON
+@comment errno ???/???
+@end deftypevr
+
 @node Error Messages,  , Error Codes, Error Reporting
 @section Error Messages
 
diff --git a/sysdeps/gnu/errlist.c b/sysdeps/gnu/errlist.c
index 28a295fc67..75085c01f6 100644
--- a/sysdeps/gnu/errlist.c
+++ b/sysdeps/gnu/errlist.c
@@ -1464,6 +1464,14 @@ TRANS error; @pxref{Cancel AIO Operations}. */
 # define ERR_MAX ERFKILL
 # endif
 #endif
+#ifdef EHWPOISON
+/* */
+    [ERR_REMAP (EHWPOISON)] = N_("Memory page has hardware error"),
+# if EHWPOISON > ERR_MAX
+# undef ERR_MAX
+# define ERR_MAX EHWPOISON
+# endif
+#endif
   };
 
 #define NERR \
diff --git a/sysdeps/unix/sysv/linux/bits/errno.h b/sysdeps/unix/sysv/linux/bits/errno.h
index a45a8e14d5..6a003f9140 100644
--- a/sysdeps/unix/sysv/linux/bits/errno.h
+++ b/sysdeps/unix/sysv/linux/bits/errno.h
@@ -1,5 +1,5 @@
 /* Error constants.  Linux specific version.
-   Copyright (C) 1996-1999, 2005, 2009 Free Software Foundation, Inc.
+   Copyright (C) 1996-1999, 2005, 2009, 2012 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
@@ -41,6 +41,10 @@
 #  define ERFKILL		132
 # endif
 
+# ifndef EHWPOISON
+#  define EHWPOISON		133
+# endif
+
 # ifndef __ASSEMBLER__
 /* Function to get address of global `errno' variable.  */
 extern int *__errno_location (void) __THROW __attribute__ ((__const__));
diff --git a/sysdeps/unix/sysv/linux/sparc/Versions b/sysdeps/unix/sysv/linux/sparc/Versions
index 8fb638bb30..3da1a25be8 100644
--- a/sysdeps/unix/sysv/linux/sparc/Versions
+++ b/sysdeps/unix/sysv/linux/sparc/Versions
@@ -23,6 +23,10 @@ libc {
     #errlist-compat	135
     _sys_errlist; sys_errlist; _sys_nerr; sys_nerr;
   }
+  GLIBC_2.16 {
+    #errlist-compat	136
+    _sys_errlist; sys_errlist; _sys_nerr; sys_nerr;
+  }
 }
 librt {
   GLIBC_2.3 {
diff --git a/sysdeps/unix/sysv/linux/sparc/bits/errno.h b/sysdeps/unix/sysv/linux/sparc/bits/errno.h
index 082f429762..e3e5e8bbba 100644
--- a/sysdeps/unix/sysv/linux/sparc/bits/errno.h
+++ b/sysdeps/unix/sysv/linux/sparc/bits/errno.h
@@ -1,5 +1,5 @@
 /* Error constants.  Linux/Sparc specific version.
-   Copyright (C) 1996-1999,2002,2005,2009 Free Software Foundation, Inc.
+   Copyright (C) 1996-1999,2002,2005,2009,2012 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
@@ -40,6 +40,10 @@
 #  define ERFKILL		134
 # endif
 
+# ifndef EHWPOISON
+#  define EHWPOISON		135
+# endif
+
 # ifndef __ASSEMBLER__
 /* Function to get address of global `errno' variable.  */
 extern int *__errno_location (void) __THROW __attribute__ ((__const__));