summaryrefslogtreecommitdiffstats
path: root/uclibc-crosstools-gcc-4.4.2-1/usr/include/bits/uClibc_errno.h
diff options
context:
space:
mode:
Diffstat (limited to 'uclibc-crosstools-gcc-4.4.2-1/usr/include/bits/uClibc_errno.h')
-rw-r--r--uclibc-crosstools-gcc-4.4.2-1/usr/include/bits/uClibc_errno.h43
1 files changed, 43 insertions, 0 deletions
diff --git a/uclibc-crosstools-gcc-4.4.2-1/usr/include/bits/uClibc_errno.h b/uclibc-crosstools-gcc-4.4.2-1/usr/include/bits/uClibc_errno.h
new file mode 100644
index 0000000..b16de32
--- /dev/null
+++ b/uclibc-crosstools-gcc-4.4.2-1/usr/include/bits/uClibc_errno.h
@@ -0,0 +1,43 @@
+/*
+ * Copyright (C) 2000-2006 Erik Andersen <andersen@uclibc.org>
+ *
+ * Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
+ */
+#ifndef _BITS_UCLIBC_ERRNO_H
+#define _BITS_UCLIBC_ERRNO_H 1
+
+#ifdef IS_IN_rtld
+# undef errno
+# define errno _dl_errno
+extern int _dl_errno; // attribute_hidden;
+#elif defined __UCLIBC_HAS_THREADS__
+# include <tls.h>
+# if defined USE___THREAD && USE___THREAD
+# undef errno
+# ifndef NOT_IN_libc
+# define errno __libc_errno
+# else
+# define errno errno
+# endif
+extern __thread int errno __attribute_tls_model_ie;
+# endif /* USE___THREAD */
+#endif /* IS_IN_rtld */
+
+#define __set_errno(val) (errno = (val))
+
+#ifndef __ASSEMBLER__
+extern int *__errno_location (void) __THROW __attribute__ ((__const__))
+# ifdef IS_IN_rtld
+ attribute_hidden
+# endif
+;
+# if defined __UCLIBC_HAS_THREADS__
+# include <tls.h>
+# if defined USE___THREAD && USE___THREAD
+libc_hidden_proto(__errno_location)
+# endif
+# endif
+
+#endif /* !__ASSEMBLER__ */
+
+#endif