Don't use GLIBC_PRIVATE errno outside of libraries
authorAndreas Schwab <schwab@suse.de>
Mon, 28 Jan 2013 16:51:03 +0000 (17:51 +0100)
committerAndreas Schwab <schwab@suse.de>
Mon, 4 Feb 2013 09:01:54 +0000 (10:01 +0100)
ChangeLog
NEWS
elf/tst-stackguard1.c
include/errno.h
include/netdb.h
nptl/ChangeLog
nptl/tst-cancel14.c
nptl/tst-cancel15.c
nptl/tst-mutex9.c
nptl/tst-stackguard1.c

index 74b9a59..0c19491 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2013-02-04  Andreas Schwab  <schwab@suse.de>
+
+       [BZ #14142]
+       * include/errno.h: Redefine errno only if !NOT_IN_libc || IN_LIB.
+       * include/netdb.h: Likewise for h_errno.
+       * elf/tst-stackguard1.c: Include <tls.h>.
+
 2013-02-02  Jan Kratochvil  <jan.kratochvil@redhat.com>
 
        * elf/link.h (struct link_map): Extend the l_addr comment.
diff --git a/NEWS b/NEWS
index 8c21790..b5c465d 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -9,8 +9,8 @@ Version 2.18
 
 * The following bugs are resolved with this release:
 
-  13951, 14200, 14317, 14327, 14496, 14964, 14981, 14982, 14985, 14994,
-  14996, 15003, 15020, 15023, 15036, 15062.
+  13951, 14142, 14200, 14317, 14327, 14496, 14964, 14981, 14982, 14985,
+  14994, 14996, 15003, 15020, 15023, 15036, 15062.
 
 \f
 Version 2.17
index 2b4fd9a..fba60bd 100644 (file)
@@ -23,6 +23,7 @@
 #include <string.h>
 #include <sys/wait.h>
 #include <stackguard-macros.h>
+#include <tls.h>
 #include <unistd.h>
 
 static const char *command;
index 98c6080..f1b93a8 100644 (file)
@@ -17,7 +17,7 @@
 #  define errno rtld_errno
 extern int rtld_errno attribute_hidden;
 
-# else
+# elif !defined NOT_IN_libc || defined IN_LIB
 
 #  include <tls.h>
 
@@ -29,7 +29,7 @@ extern int rtld_errno attribute_hidden;
 #  endif
 extern __thread int errno attribute_tls_model_ie;
 
-# endif        /* RTLD_PRIVATE_ERRNO */
+# endif        /* !NOT_IN_libc || IN_LIB */
 
 # define __set_errno(val) (errno = (val))
 
index 3f2ae06..8a569ba 100644 (file)
@@ -3,18 +3,20 @@
 
 #ifndef _ISOMAC
 /* Macros for accessing h_errno from inside libc.  */
-# undef  h_errno
-# ifdef _LIBC_REENTRANT
-#  include <tls.h>
-#  ifndef NOT_IN_libc
-#   define h_errno __libc_h_errno
-#  else
-#   define h_errno h_errno     /* For #ifndef h_errno tests.  */
-#  endif
+# if !defined NOT_IN_libc || defined IN_LIB
+#  undef  h_errno
+#  ifdef _LIBC_REENTRANT
+#   include <tls.h>
+#   ifndef NOT_IN_libc
+#    define h_errno __libc_h_errno
+#   else
+#    define h_errno h_errno    /* For #ifndef h_errno tests.  */
+#   endif
 extern __thread int h_errno attribute_tls_model_ie;
-# else
+#  else
 extern int h_errno;
-# endif        /* _LIBC_REENTRANT */
+#  endif       /* _LIBC_REENTRANT */
+# endif /* !NOT_IN_libc || IN_LIB */
 # define __set_h_errno(x) (h_errno = (x))
 
 libc_hidden_proto (hstrerror)
index c4f6c63..bcc1660 100644 (file)
@@ -1,3 +1,11 @@
+2013-02-04  Andreas Schwab  <schwab@suse.de>
+
+       [BZ #14142]
+       * tst-cancel14.c: Include <sys/time.h>.
+       * tst-cancel15.c: Likewise.
+       * tst-mutex9.c: Include <stdint.h>, <stdlib.h> and <sys/time.h>.
+       * tst-stackguard1.c: Include <tls.h>
+
 2013-01-16  Andreas Schwab  <schwab@suse.de>
 
        [BZ #14327]
index fbaed49..ca9042d 100644 (file)
@@ -23,6 +23,7 @@
 #include <stdlib.h>
 #include <string.h>
 #include <unistd.h>
+#include <sys/time.h>
 
 
 static pthread_barrier_t bar;
index 0119cc7..3f320ad 100644 (file)
@@ -23,6 +23,7 @@
 #include <stdlib.h>
 #include <string.h>
 #include <unistd.h>
+#include <sys/time.h>
 
 
 static pthread_barrier_t bar;
index adb3b61..1d689bd 100644 (file)
 
 #include <errno.h>
 #include <pthread.h>
+#include <stdint.h>
 #include <stdio.h>
+#include <stdlib.h>
 #include <string.h>
 #include <unistd.h>
 #include <sys/mman.h>
+#include <sys/time.h>
 #include <sys/wait.h>
 
 
index f0f707f..57a48ad 100644 (file)
@@ -24,6 +24,7 @@
 #include <string.h>
 #include <sys/wait.h>
 #include <stackguard-macros.h>
+#include <tls.h>
 #include <unistd.h>
 
 static const char *command;