diff options
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 |
