summaryrefslogtreecommitdiff
path: root/libc/sysdeps/linux/powerpc/bits/errno.h
diff options
context:
space:
mode:
authorEric Andersen <andersen@codepoet.org>2001-05-04 22:29:43 +0000
committerEric Andersen <andersen@codepoet.org>2001-05-04 22:29:43 +0000
commit91307a366625e3ec7e618f012269130d2e5bba57 (patch)
tree9174f2733dd20ff6cd4b25d0038bdccf268e519f /libc/sysdeps/linux/powerpc/bits/errno.h
parentae9bb92ccc2b4a9a75b09c59e1351a78e6a6da53 (diff)
This patch allows powerpc to compile again. It also checks if we
are compiling for an arch for which uClibc has an ld.so or not, and otherwise sets things up to use the system ld.so. -Erik
Diffstat (limited to 'libc/sysdeps/linux/powerpc/bits/errno.h')
-rw-r--r--libc/sysdeps/linux/powerpc/bits/errno.h60
1 files changed, 60 insertions, 0 deletions
diff --git a/libc/sysdeps/linux/powerpc/bits/errno.h b/libc/sysdeps/linux/powerpc/bits/errno.h
new file mode 100644
index 000000000..7da7daf79
--- /dev/null
+++ b/libc/sysdeps/linux/powerpc/bits/errno.h
@@ -0,0 +1,60 @@
+/* Error constants. Linux specific version.
+ Copyright (C) 1996, 1997, 1998, 1999 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
+ modify it under the terms of the GNU Library General Public License as
+ published by the Free Software Foundation; either version 2 of the
+ License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public
+ License along with the GNU C Library; see the file COPYING.LIB. If not,
+ write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ Boston, MA 02111-1307, USA. */
+
+#ifdef _ERRNO_H
+
+# undef EDOM
+# undef EILSEQ
+# undef ERANGE
+# include <linux/errno.h>
+
+/* Linux has no ENOTSUP error code. */
+# define ENOTSUP EOPNOTSUPP
+
+/* Linux also has no ECANCELED error code. Since it is not used here
+ we define it to an invalid value. */
+# define ECANCELED 125
+
+# ifndef __ASSEMBLER__
+/* We now need a declaration of the `errno' variable. */
+extern int errno;
+
+/* Function to get address of global `errno' variable. */
+extern int *__errno_location (void);
+
+# if defined _LIBC
+/* We wouldn't need a special macro anymore but it is history. */
+# define __set_errno(val) (*__errno_location ()) = (val)
+# endif /* _LIBC */
+
+# 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 */