about summary refs log tree commit diff
path: root/sysdeps/unix/sysv/linux
diff options
context:
space:
mode:
Diffstat (limited to 'sysdeps/unix/sysv/linux')
-rw-r--r--sysdeps/unix/sysv/linux/alpha/bits/errno.h42
-rw-r--r--sysdeps/unix/sysv/linux/bits/errno.h43
-rw-r--r--sysdeps/unix/sysv/linux/hppa/bits/errno.h39
-rw-r--r--sysdeps/unix/sysv/linux/mips/bits/errno.h41
-rw-r--r--sysdeps/unix/sysv/linux/sparc/bits/errno.h42
5 files changed, 72 insertions, 135 deletions
diff --git a/sysdeps/unix/sysv/linux/alpha/bits/errno.h b/sysdeps/unix/sysv/linux/alpha/bits/errno.h
index 3338621710..6a8730165e 100644
--- a/sysdeps/unix/sysv/linux/alpha/bits/errno.h
+++ b/sysdeps/unix/sysv/linux/alpha/bits/errno.h
@@ -16,23 +16,29 @@
    License along with the GNU C Library.  If not, see
    <http://www.gnu.org/licenses/>.  */
 
-#ifdef _ERRNO_H
+#ifndef _BITS_ERRNO_H
+#define _BITS_ERRNO_H 1
+
+#if !defined _ERRNO_H
+# error "Never include <bits/errno.h> directly; use <errno.h> instead."
+#endif
 
-# undef EDOM
-# undef EILSEQ
-# undef ERANGE
 # include <linux/errno.h>
 
-/* Linux has no ENOTSUP error code.  */
-# define ENOTSUP EOPNOTSUPP
+/* Older Linux headers do not define these constants.  */
+# ifndef ENOTSUP
+#  define ENOTSUP		EOPNOTSUPP
+# endif
 
 # ifndef ECANCELED
-#  define ECANCELED	131
+#  define ECANCELED		131
 # endif
 
-/* Support for error codes to support robust mutexes was added later, too.  */
 # ifndef EOWNERDEAD
 #  define EOWNERDEAD		136
+# endif
+
+# ifndef ENOTRECOVERABLE
 #  define ENOTRECOVERABLE	137
 # endif
 
@@ -44,22 +50,4 @@
 #  define EHWPOISON		139
 # endif
 
-# ifndef __ASSEMBLER__
-/* Function to get address of global `errno' variable.  */
-extern int *__errno_location (void) __THROW __attribute__ ((__const__));
-
-#  if !defined _LIBC || defined _LIBC_REENTRANT
-/* When using threads, errno is a per-thread value.  */
-#   define errno (*__errno_location ())
-#  endif
-# endif /* !__ASSEMBLER__ */
-#endif /* _ERRNO_H */
-
-#if !defined _ERRNO_H && defined __need_Emath
-/* This is ugly but the kernel header is not clean enough.  We must
-   define only the values EDOM, EILSEQ and ERANGE in case __need_Emath is
-   defined.  */
-# define EDOM	33	/* Math argument out of domain of function.  */
-# define EILSEQ	116	/* Illegal byte sequence.  */
-# define ERANGE	34	/* Math result not representable.  */
-#endif /* !_ERRNO_H && __need_Emath */
+#endif /* bits/errno.h.  */
diff --git a/sysdeps/unix/sysv/linux/bits/errno.h b/sysdeps/unix/sysv/linux/bits/errno.h
index c0f4d20fe7..66cfb483c5 100644
--- a/sysdeps/unix/sysv/linux/bits/errno.h
+++ b/sysdeps/unix/sysv/linux/bits/errno.h
@@ -16,24 +16,29 @@
    License along with the GNU C Library; if not, see
    <http://www.gnu.org/licenses/>.  */
 
-#ifdef _ERRNO_H
+#ifndef _BITS_ERRNO_H
+#define _BITS_ERRNO_H 1
+
+#if !defined _ERRNO_H
+# error "Never include <bits/errno.h> directly; use <errno.h> instead."
+#endif
 
-# undef EDOM
-# undef EILSEQ
-# undef ERANGE
 # include <linux/errno.h>
 
-/* Linux has no ENOTSUP error code.  */
-# define ENOTSUP EOPNOTSUPP
+/* Older Linux headers do not define these constants.  */
+# ifndef ENOTSUP
+#  define ENOTSUP		EOPNOTSUPP
+# endif
 
-/* Older Linux versions also had no ECANCELED error code.  */
 # ifndef ECANCELED
-#  define ECANCELED	125
+#  define ECANCELED		125
 # endif
 
-/* Support for error codes to support robust mutexes was added later, too.  */
 # ifndef EOWNERDEAD
 #  define EOWNERDEAD		130
+# endif
+
+#ifndef ENOTRECOVERABLE
 #  define ENOTRECOVERABLE	131
 # endif
 
@@ -45,22 +50,4 @@
 #  define EHWPOISON		133
 # endif
 
-# ifndef __ASSEMBLER__
-/* Function to get address of global `errno' variable.  */
-extern int *__errno_location (void) __THROW __attribute__ ((__const__));
-
-#  if !defined _LIBC || defined _LIBC_REENTRANT
-/* When using threads, errno is a per-thread value.  */
-#   define errno (*__errno_location ())
-#  endif
-# endif /* !__ASSEMBLER__ */
-#endif /* _ERRNO_H */
-
-#if !defined _ERRNO_H && defined __need_Emath
-/* This is ugly but the kernel header is not clean enough.  We must
-   define only the values EDOM, EILSEQ and ERANGE in case __need_Emath is
-   defined.  */
-# define EDOM	33	/* Math argument out of domain of function.  */
-# define EILSEQ	84	/* Illegal byte sequence.  */
-# define ERANGE	34	/* Math result not representable.  */
-#endif /* !_ERRNO_H && __need_Emath */
+#endif /* bits/errno.h.  */
diff --git a/sysdeps/unix/sysv/linux/hppa/bits/errno.h b/sysdeps/unix/sysv/linux/hppa/bits/errno.h
index ce6bebe8b0..2ccc30ac75 100644
--- a/sysdeps/unix/sysv/linux/hppa/bits/errno.h
+++ b/sysdeps/unix/sysv/linux/hppa/bits/errno.h
@@ -16,17 +16,22 @@
    License along with the GNU C Library.  If not, see
    <http://www.gnu.org/licenses/>.  */
 
-#ifdef _ERRNO_H
+#ifndef _BITS_ERRNO_H
+#define _BITS_ERRNO_H 1
+
+#if !defined _ERRNO_H
+# error "Never include <bits/errno.h> directly; use <errno.h> instead."
+#endif
 
-# undef EDOM
-# undef EILSEQ
-# undef ERANGE
 # include <linux/errno.h>
 
-/* Linux also has no ECANCELED error code.  Since it is not used here
-   we define it to an invalid value.  */
+/* Older Linux headers do not define these constants.  */
+# ifndef ENOTSUP
+#  define ENOTSUP		EOPNOTSUPP
+# endif
+
 # ifndef ECANCELED
-#  define ECANCELED	ECANCELLED
+#  define ECANCELED		253
 # endif
 
 # ifndef EOWNERDEAD
@@ -45,22 +50,4 @@
 #  define EHWPOISON		257
 # endif
 
-# ifndef __ASSEMBLER__
-/* Function to get address of global `errno' variable.  */
-extern int *__errno_location (void) __THROW __attribute__ ((__const__));
-
-#  if !defined _LIBC || defined _LIBC_REENTRANT
-/* When using threads, errno is a per-thread value.  */
-#   define errno (*__errno_location ())
-#  endif
-# endif /* !__ASSEMBLER__ */
-#endif /* _ERRNO_H */
-
-#if !defined _ERRNO_H && defined __need_Emath
-/* This is ugly but the kernel header is not clean enough.  We must
-   define only the values EDOM, EILSEQ and ERANGE in case __need_Emath is
-   defined.  */
-# define EDOM	33	/* Math argument out of domain of function.  */
-# define EILSEQ	47	/* Illegal byte sequence.  */
-# define ERANGE	34	/* Math result not representable.  */
-#endif /* !_ERRNO_H && __need_Emath */
+#endif /* bits/errno.h.  */
diff --git a/sysdeps/unix/sysv/linux/mips/bits/errno.h b/sysdeps/unix/sysv/linux/mips/bits/errno.h
index fa62e1fc83..84dcf0204d 100644
--- a/sysdeps/unix/sysv/linux/mips/bits/errno.h
+++ b/sysdeps/unix/sysv/linux/mips/bits/errno.h
@@ -16,23 +16,28 @@
    License along with the GNU C Library.  If not, see
    <http://www.gnu.org/licenses/>.  */
 
-#ifdef _ERRNO_H
+#ifndef _BITS_ERRNO_H
+
+#if !defined _ERRNO_H
+# error "Never include <bits/errno.h> directly; use <errno.h> instead."
+#endif
 
-# undef EDOM
-# undef EILSEQ
-# undef ERANGE
 # include <linux/errno.h>
 
-/* Linux has no ENOTSUP error code.  */
-# define ENOTSUP EOPNOTSUPP
+/* Older Linux headers do not define these constants.  */
+# ifndef ENOTSUP
+#  define ENOTSUP		EOPNOTSUPP
+# endif
 
 # ifndef ECANCELED
-#  define ECANCELED	158
+#  define ECANCELED		158
 # endif
 
-/* Support for error codes to support robust mutexes was added later, too.  */
 # ifndef EOWNERDEAD
 #  define EOWNERDEAD		165
+# endif
+
+# ifndef ENOTRECOVERABLE
 #  define ENOTRECOVERABLE	166
 # endif
 
@@ -44,22 +49,4 @@
 #  define EHWPOISON		168
 # endif
 
-# ifndef __ASSEMBLER__
-/* Function to get address of global `errno' variable.  */
-extern int *__errno_location (void) __THROW __attribute__ ((__const__));
-
-#  if !defined _LIBC || defined _LIBC_REENTRANT
-/* When using threads, errno is a per-thread value.  */
-#   define errno (*__errno_location ())
-#  endif
-# endif /* !__ASSEMBLER__ */
-#endif /* _ERRNO_H */
-
-#if !defined _ERRNO_H && defined __need_Emath
-/* This is ugly but the kernel header is not clean enough.  We must
-   define only the values EDOM, EILSEQ and ERANGE in case __need_Emath is
-   defined.  */
-# define EDOM	33	/* Math argument out of domain of function.  */
-# define EILSEQ	88	/* Illegal byte sequence.  */
-# define ERANGE	34	/* Math result not representable.  */
-#endif /* !_ERRNO_H && __need_Emath */
+#endif /* bits/errno.h.  */
diff --git a/sysdeps/unix/sysv/linux/sparc/bits/errno.h b/sysdeps/unix/sysv/linux/sparc/bits/errno.h
index 4a8d8a0879..afa22beb15 100644
--- a/sysdeps/unix/sysv/linux/sparc/bits/errno.h
+++ b/sysdeps/unix/sysv/linux/sparc/bits/errno.h
@@ -16,23 +16,29 @@
    License along with the GNU C Library; if not, see
    <http://www.gnu.org/licenses/>.  */
 
-#ifdef _ERRNO_H
+#ifndef _BITS_ERRNO_H
+#define _BITS_ERRNO_H 1
+
+#if !defined _ERRNO_H
+# error "Never include <bits/errno.h> directly; use <errno.h> instead."
+#endif
 
-# undef EDOM
-# undef EILSEQ
-# undef ERANGE
 # include <linux/errno.h>
 
-/* Linux has no ENOTSUP error code.  */
-# define ENOTSUP EOPNOTSUPP
+/* Older Linux headers do not define these constants.  */
+# ifndef ENOTSUP
+#  define ENOTSUP		EOPNOTSUPP
+# endif
 
 # ifndef ECANCELED
-#  define ECANCELED	127
+#  define ECANCELED		127
 # endif
 
-/* Support for error codes to support robust mutexes was added later, too.  */
 # ifndef EOWNERDEAD
 #  define EOWNERDEAD		132
+# endif
+
+# ifndef ENOTRECOVERABLE
 #  define ENOTRECOVERABLE	133
 # endif
 
@@ -44,22 +50,4 @@
 #  define EHWPOISON		135
 # endif
 
-# ifndef __ASSEMBLER__
-/* Function to get address of global `errno' variable.  */
-extern int *__errno_location (void) __THROW __attribute__ ((__const__));
-
-#  if !defined _LIBC || defined _LIBC_REENTRANT
-/* When using threads, errno is a per-thread value.  */
-#   define errno (*__errno_location ())
-#  endif
-# endif /* !__ASSEMBLER__ */
-#endif /* _ERRNO_H */
-
-#if !defined _ERRNO_H && defined __need_Emath
-/* This is ugly but the kernel header is not clean enough.  We must
-   define only the values EDOM, EILSEQ and ERANGE in case __need_Emath is
-   defined.  */
-# define EDOM	33	/* Math argument out of domain of function.  */
-# define EILSEQ	122	/* Illegal byte sequence.  */
-# define ERANGE	34	/* Math result not representable.  */
-#endif /* !_ERRNO_H && __need_Emath */
+#endif /* bits/errno.h.  */