3 #include <stdlib/errno.h>
5 #if defined _ERRNO_H && !defined _ISOMAC && !defined __cplusplus
8 # include <dl-sysdep.h>
11 # if RTLD_PRIVATE_ERRNO
12 /* The dynamic linker uses its own private errno variable.
13 All access to errno inside the dynamic linker is serialized,
14 so a single (hidden) global variable is all it needs. */
17 # define errno rtld_errno
18 extern int rtld_errno attribute_hidden
;
26 # define errno __libc_errno
28 # define errno errno /* For #ifndef errno tests. */
30 extern __thread
int errno attribute_tls_model_ie
;
32 # endif /* RTLD_PRIVATE_ERRNO */
34 # define __set_errno(val) (errno = (val))
36 # ifndef __ASSEMBLER__
37 extern int *__errno_location (void) __THROW
__attribute__ ((__const__
))
38 # if RTLD_PRIVATE_ERRNO
42 libc_hidden_proto (__errno_location
)
47 #endif /* ! _ERRNO_H */