This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
[PATCH] Add support for Linux error EHWPOISON
- From: Andreas Schwab <schwab at linux-m68k dot org>
- To: libc-alpha at sourceware dot org
- Date: Sun, 19 Feb 2012 17:32:12 +0100
- Subject: [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."