summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoseph Myers <joseph@codesourcery.com>2015-06-05 21:14:16 +0000
committerJoseph Myers <joseph@codesourcery.com>2015-06-05 21:14:16 +0000
commit007f2dd1228a4b21b10756c696876babb8cf86cd (patch)
treebcacb9b8f9a33ae5a2ce437207a5b412b38344e2
parent9dd6b7799a0b04034f2d2266845c64a309b015a3 (diff)
downloadglibc-007f2dd1228a4b21b10756c696876babb8cf86cd.tar.gz
Fix psignal, psiginfo declaration conditions (bug 18483).
signal.h declares psignal and psiginfo if __USE_XOPEN2K - that is, for the 2001 edition of POSIX. These functions were actually added in the 2008 edition (as indicated in the header comments). This patch fixes the header conditionals. This fixes some linknamespace test failures because psiginfo uses fmemopen, which is also new in the 2008 edition, so before the header fix this appeared to the linknamespace tests as a 2001 function bringing in references to a 2008 function. The problem also appeared in conformtest header namespace test results (the conformtest data has correct conditionals for when these functions should be visible), but the affected headers still have other namespace problems so this doesn't fix any of those XFAILs. Tested for x86_64 and x86 (testsuite, and that installed stripped shared libraries are unchanged by the patch). [BZ #18483] * signal/signal.h [__USE_XOPEN2K] (psignal): Change condition to [__USE_XOPEN2K8]. Remove redundant #endif. [__USE_XOPEN2K] (psiginfo): Change condition to [__USE_XOPEN2K8]. Remove redundant #if. * conform/Makefile (test-xfail-XOPEN2K/signal.h/linknamespace): Remove variable. (test-xfail-XOPEN2K/sys/wait.h/linknamespace): Likewise. (test-xfail-XOPEN2K/ucontext.h/linknamespace): Likewise.
-rw-r--r--ChangeLog10
-rw-r--r--NEWS2
-rw-r--r--conform/Makefile3
-rw-r--r--signal/signal.h4
4 files changed, 12 insertions, 7 deletions
diff --git a/ChangeLog b/ChangeLog
index 1ebd443ef2..ec0086be6f 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,15 @@
2015-06-05 Joseph Myers <joseph@codesourcery.com>
+ [BZ #18483]
+ * signal/signal.h [__USE_XOPEN2K] (psignal): Change condition to
+ [__USE_XOPEN2K8]. Remove redundant #endif.
+ [__USE_XOPEN2K] (psiginfo): Change condition to [__USE_XOPEN2K8].
+ Remove redundant #if.
+ * conform/Makefile (test-xfail-XOPEN2K/signal.h/linknamespace):
+ Remove variable.
+ (test-xfail-XOPEN2K/sys/wait.h/linknamespace): Likewise.
+ (test-xfail-XOPEN2K/ucontext.h/linknamespace): Likewise.
+
[BZ #18495]
* wctype/wcfuncs.c (__iswalnum): Use libc_hidden_def.
(__iswlower): Likewise.
diff --git a/NEWS b/NEWS
index 5537dedb39..17fd20735a 100644
--- a/NEWS
+++ b/NEWS
@@ -20,7 +20,7 @@ Version 2.22
18111, 18116, 18125, 18128, 18138, 18185, 18196, 18197, 18206, 18210,
18211, 18217, 18220, 18221, 18234, 18244, 18247, 18287, 18319, 18324,
18333, 18346, 18397, 18409, 18410, 18412, 18418, 18422, 18434, 18444,
- 18468, 18469, 18470, 18495.
+ 18468, 18469, 18470, 18483, 18495.
* Cache information can be queried via sysconf() function on s390 e.g. with
_SC_LEVEL1_ICACHE_SIZE as argument.
diff --git a/conform/Makefile b/conform/Makefile
index de009af881..662ea96d16 100644
--- a/conform/Makefile
+++ b/conform/Makefile
@@ -374,11 +374,8 @@ test-xfail-UNIX98/unistd.h/linknamespace = yes
test-xfail-UNIX98/wchar.h/linknamespace = yes
test-xfail-XOPEN2K/fmtmsg.h/linknamespace = yes
test-xfail-XOPEN2K/netdb.h/linknamespace = yes
-test-xfail-XOPEN2K/signal.h/linknamespace = yes
test-xfail-XOPEN2K/stdlib.h/linknamespace = yes
-test-xfail-XOPEN2K/sys/wait.h/linknamespace = yes
test-xfail-XOPEN2K/syslog.h/linknamespace = yes
-test-xfail-XOPEN2K/ucontext.h/linknamespace = yes
test-xfail-XOPEN2K/unistd.h/linknamespace = yes
test-xfail-POSIX2008/grp.h/linknamespace = yes
test-xfail-POSIX2008/netdb.h/linknamespace = yes
diff --git a/signal/signal.h b/signal/signal.h
index c32e8d961b..712cd95c76 100644
--- a/signal/signal.h
+++ b/signal/signal.h
@@ -146,12 +146,10 @@ extern __sighandler_t ssignal (int __sig, __sighandler_t __handler)
extern int gsignal (int __sig) __THROW;
#endif /* Use misc. */
-#ifdef __USE_XOPEN2K
+#ifdef __USE_XOPEN2K8
/* Print a message describing the meaning of the given signal number. */
extern void psignal (int __sig, const char *__s);
-#endif /* Use POSIX 2008. */
-#ifdef __USE_XOPEN2K
/* Print a message describing the meaning of the given signal information. */
extern void psiginfo (const siginfo_t *__pinfo, const char *__s);
#endif /* POSIX 2008. */