Add d_type to 'struct dirent'
[kopensolaris-gnu/glibc.git] / include / errno.h
index 1b0aabc..80c7b6e 100644 (file)
@@ -2,7 +2,7 @@
 
 #include <stdlib/errno.h>
 
-#if defined _ERRNO_H && !defined _ISOMAC
+#if defined _ERRNO_H && !defined _ISOMAC && !defined __cplusplus
 
 # ifdef IS_IN_rtld
 #  include <dl-sysdep.h>
    so a single (hidden) global variable is all it needs.  */
 
 #  undef  errno
-#  define errno errno          /* For #ifndef errno tests.  */
-extern int errno attribute_hidden;
+#  define errno rtld_errno
+extern int rtld_errno attribute_hidden;
 
 # else
 
-#  include <tls.h>             /* Defines USE_TLS.  */
+#  include <tls.h>
 
 #  if USE___THREAD
 #   undef  errno
@@ -36,7 +36,11 @@ extern __thread int errno attribute_tls_model_ie;
 # define __set_errno(val) (errno = (val))
 
 # ifndef __ASSEMBLER__
-extern int *__errno_location (void) __THROW __attribute__ ((__const__));
+extern int *__errno_location (void) __THROW __attribute__ ((__const__))
+#  if RTLD_PRIVATE_ERRNO
+     attribute_hidden
+#  endif
+;
 libc_hidden_proto (__errno_location)
 # endif