diff options
Diffstat (limited to 'lib/libc/errno')
| -rw-r--r-- | lib/libc/errno/errno.c | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/lib/libc/errno/errno.c b/lib/libc/errno/errno.c index fc7c99bb..56925b9f 100644 --- a/lib/libc/errno/errno.c +++ b/lib/libc/errno/errno.c @@ -1 +1,13 @@ -_Thread_local int errno; +#include <__thread.h> +#include <libc.h> + +#include <threads.h> + +/* Ensure TLS is initialized if errno is used */ +extern void __init_tls(void); +void *__force_tls_init = (void *) __init_tls; + +int *__errno(void) +{ + return &thrd_current()->errno_v; +} |
