This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[PATCH] Add support for Linux error EHWPOISON


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.

diff --git a/manual/errno.texi b/manual/errno.texi
index 70ce277..868a28a 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 28a295f..75085c0 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 a45a8e14..6a003f9 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 8fb638b..3da1a25 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 082f429..e3e5e8b 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__));
-- 
1.7.9.1


-- 
Andreas Schwab, schwab@linux-m68k.org
GPG Key fingerprint = 58CA 54C7 6D53 942B 1756  01D3 44D5 214B 8276 4ED5
"And now for something completely different."


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]