This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Fix limits.h NL_NMAX namespace (bug 19929)
- From: Joseph Myers <joseph at codesourcery dot com>
- To: <libc-alpha at sourceware dot org>
- Date: Fri, 8 Apr 2016 21:04:54 +0000
- Subject: Fix limits.h NL_NMAX namespace (bug 19929)
- Authentication-results: sourceware.org; auth=none
bits/xopen_lim.h (included by limits.h if __USE_XOPEN) defines
NL_NMAX, but this constant was removed in the 2008 edition of POSIX so
should not be defined in that case. This patch duly disables that
define for __USE_XOPEN2K8. It remains enabled for __USE_GNU to avoid
affecting sysconf (_SC_NL_NMAX), the implementation of which uses
"#ifdef NL_NMAX".
Tested for x86_64 and x86 (testsuite, and that installed stripped
shared libraries are unchanged by the patch).
2016-04-08 Joseph Myers <joseph@codesourcery.com>
[BZ #19929]
* include/bits/xopen_lim.h (NL_NMAX): Do not define if
[__USE_XOPEN2K8 && !__USE_GNU].
* conform/Makefile (test-xfail-XOPEN2K8/limits.h/conform): Remove
variable.
diff --git a/conform/Makefile b/conform/Makefile
index ed94ffc..0b5514c 100644
--- a/conform/Makefile
+++ b/conform/Makefile
@@ -225,7 +225,6 @@ test-xfail-POSIX2008/netinet/in.h/conform = yes
test-xfail-POSIX2008/signal.h/conform = yes
test-xfail-POSIX2008/sys/socket.h/conform = yes
test-xfail-POSIX2008/sys/wait.h/conform = yes
-test-xfail-XOPEN2K8/limits.h/conform = yes
test-xfail-XOPEN2K8/signal.h/conform = yes
test-xfail-XOPEN2K8/stdio.h/conform = yes
test-xfail-XOPEN2K8/sys/wait.h/conform = yes
diff --git a/include/bits/xopen_lim.h b/include/bits/xopen_lim.h
index 26b4fba..7515ddd 100644
--- a/include/bits/xopen_lim.h
+++ b/include/bits/xopen_lim.h
@@ -77,7 +77,9 @@
/* Maximum number of bytes in N-to-1 collation mapping. We have no
limit. */
-#define NL_NMAX INT_MAX
+#if defined __USE_GNU || !defined __USE_XOPEN2K8
+# define NL_NMAX INT_MAX
+#endif
/* Maximum set number. We have no limit. */
#define NL_SETMAX INT_MAX
--
Joseph S. Myers
joseph@codesourcery.com