diff options
| author | "Steven J. Hill" <sjhill@realitydiluted.com> | 2006-08-24 03:17:53 +0000 |
|---|---|---|
| committer | "Steven J. Hill" <sjhill@realitydiluted.com> | 2006-08-24 03:17:53 +0000 |
| commit | 31b3ef38e24c2477b3786f3614f168ecd3890397 (patch) | |
| tree | a97c95138c735703e9d820ee77399bba591dab53 /libc/sysdeps/linux/common/bits/uClibc_errno.h | |
| parent | 4a208f72ced0bfd835ef1530907db1e8e33295c7 (diff) | |
| download | uClibc-alpine-31b3ef38e24c2477b3786f3614f168ecd3890397.tar.bz2 uClibc-alpine-31b3ef38e24c2477b3786f3614f168ecd3890397.tar.xz | |
Copy from trunk.
Diffstat (limited to 'libc/sysdeps/linux/common/bits/uClibc_errno.h')
| -rw-r--r-- | libc/sysdeps/linux/common/bits/uClibc_errno.h | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/libc/sysdeps/linux/common/bits/uClibc_errno.h b/libc/sysdeps/linux/common/bits/uClibc_errno.h new file mode 100644 index 000000000..9da9f8155 --- /dev/null +++ b/libc/sysdeps/linux/common/bits/uClibc_errno.h @@ -0,0 +1,46 @@ +/* + * 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 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 +; +#include <tls.h> +#if USE___THREAD +libc_hidden_proto(__errno_location) +#endif + +/* We now need a declaration of the `errno' variable. */ +# ifndef __UCLIBC_HAS_THREADS__ +/*extern int errno;*/ +libc_hidden_proto(errno) +# endif +#endif /* !__ASSEMBLER__ */ + +#endif |
