Rename patches to -akaros instead of -ros
[akaros.git] / tools / compilers / gcc-glibc / glibc-2.14.1-akaros / include / errno.h
1 /* Modified for Akaros, removed the redefinition of errno */
2
3 #ifndef _ERRNO_H
4
5 #include <stdlib/errno.h>
6
7 #if defined _ERRNO_H && !defined _ISOMAC && !defined __cplusplus
8
9 # ifdef IS_IN_rtld
10 #  include <dl-sysdep.h>
11 # endif
12
13 # if RTLD_PRIVATE_ERRNO
14 /* The dynamic linker uses its own private errno variable.
15    All access to errno inside the dynamic linker is serialized,
16    so a single (hidden) global variable is all it needs.  */
17
18 #  undef  errno
19 #  define errno rtld_errno
20 extern int rtld_errno attribute_hidden;
21
22 # else
23
24 #  include <tls.h>
25
26 /* AKAROS doesn't want the redef of errno */
27 #  ifndef __akaros__
28 #   if USE___THREAD
29 #    undef  errno
30 #    ifndef NOT_IN_libc
31 #     define errno __libc_errno
32 #    else
33 #     define errno errno                /* For #ifndef errno tests.  */
34 #    endif
35 extern __thread int errno attribute_tls_model_ie;
36 #   endif
37 #  endif
38
39 # endif /* RTLD_PRIVATE_ERRNO */
40
41 # define __set_errno(val) (errno = (val))
42
43 # ifndef __ASSEMBLER__
44 extern int *__errno_location (void) __THROW __attribute__ ((__const__))
45 #  if RTLD_PRIVATE_ERRNO
46      attribute_hidden
47 #  endif
48 ;
49 libc_hidden_proto (__errno_location)
50 # endif
51
52 #endif /* _ERRNO_H */
53
54 #endif /* ! _ERRNO_H */