diff options
| author | "Steven J. Hill" <sjhill@realitydiluted.com> | 2005-07-22 06:49:31 +0000 |
|---|---|---|
| committer | "Steven J. Hill" <sjhill@realitydiluted.com> | 2005-07-22 06:49:31 +0000 |
| commit | 7a4daea1ea52c84588630329db7e14cbc4d12c41 (patch) | |
| tree | 6d7f69512147c98b63ad7934f2a3abe1c67e7065 /libc/misc/internals/errno.c | |
| parent | 9a97faafbcd7bc23d5adf32f4ed135bdf623629a (diff) | |
| download | uClibc-alpine-7a4daea1ea52c84588630329db7e14cbc4d12c41.tar.bz2 uClibc-alpine-7a4daea1ea52c84588630329db7e14cbc4d12c41.tar.xz | |
Fixed up resolver and errno code such that both thread models can compile without stepping on each other. The original implementation pulled from glibc was done incorrectly and has been fixed.
Diffstat (limited to 'libc/misc/internals/errno.c')
| -rw-r--r-- | libc/misc/internals/errno.c | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/libc/misc/internals/errno.c b/libc/misc/internals/errno.c index f2424eae0..5197e0aec 100644 --- a/libc/misc/internals/errno.c +++ b/libc/misc/internals/errno.c @@ -1,14 +1,15 @@ #include <features.h> #undef errno +#if __PTHREADS_NATIVE__ +#include <tls.h> extern int errno; -extern int h_errno; - -#if 0 -/* Unfortunately, this doesn't work... */ -int h_errno __attribute__ ((section (".bss"))) = 0; -int errno __attribute__ ((section (".bss"))) = 0; +extern __thread int _h_errno; +int _errno = 0; +__thread int _h_errno; #else +extern int errno; +extern int h_errno; int _errno = 0; int _h_errno = 0; #endif |
