summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoseph Myers <joseph@codesourcery.com>2016-04-08 22:52:51 +0000
committerJoseph Myers <joseph@codesourcery.com>2016-04-08 22:52:51 +0000
commiteb64b6d4571caea5fe39f6427565f849b09c23b6 (patch)
treee1316cbbe409b02749aa46fc312ff1ed02f9f00c
parented80f206f42906ec7d2634595fb5ef8338c7c943 (diff)
downloadglibc-eb64b6d4571caea5fe39f6427565f849b09c23b6.tar.gz
Fix limits.h NL_NMAX namespace (bug 19929).
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). [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.
-rw-r--r--ChangeLog6
-rw-r--r--conform/Makefile1
-rw-r--r--include/bits/xopen_lim.h4
3 files changed, 9 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index 61562e2a7c..541d189cf5 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,11 @@
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.
+
[BZ #19925]
* sysdeps/unix/sysv/linux/alpha/bits/termios.h (XCASE): Do not
define if [!__USE_MISC && __USE_XOPEN2K].
diff --git a/conform/Makefile b/conform/Makefile
index ed94ffc735..0b5514c861 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 26b4fba970..7515ddd61c 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