about summary refs log tree commit diff
path: root/ChangeLog
diff options
context:
space:
mode:
authorZack Weinberg <zackw@panix.com>2016-05-10 11:07:42 -0400
committerZack Weinberg <zackw@panix.com>2016-08-03 15:28:49 -0400
commitdbab6577c6684c62bd2521c1c29dc25c3cac966f (patch)
tree99009b6d1ef5a0aa9579fb198f77c031dbb84be3 /ChangeLog
parent63eb8df85a17f7f966d4daa4cf44c8e956636a86 (diff)
downloadglibc-dbab6577c6684c62bd2521c1c29dc25c3cac966f.tar.gz
glibc-dbab6577c6684c62bd2521c1c29dc25c3cac966f.tar.xz
glibc-dbab6577c6684c62bd2521c1c29dc25c3cac966f.zip
Deprecate inclusion of <sys/sysmacros.h> by <sys/types.h>
The macros defined by <sys/sysmacros.h> are not part of POSIX nor XSI, and
their names frequently collide with user code; see for instance glibc bug
19239 and Red Hat bug 130601.  <stdlib.h> includes <sys/types.h> under
_GNU_SOURCE, and C++ code presently cannot avoid being compiled under
_GNU_SOURCE, exacerbating the problem.

	* NEWS: Inclusion of <sys/sysmacros.h> by <sys/types.h> is deprecated.
	* misc/sys/sysmacros.h: If __SYSMACROS_DEPRECATED_INCLUSION is defined,
	define major, minor, and makedev to issue deprecation warnings on use.
	If __SYSMACROS_DEPRECATED_INCLUSION is *not* defined, suppress
	previously-activated deprecation warnings for these macros and prevent
	subsequent inclusions of this header from having any effect.
	* posix/sys/types.h: Define __SYSMACROS_DEPRECATED_INCLUSION before
	including <sys/sysmacros.h>, and undefine it again afterward.
Diffstat (limited to 'ChangeLog')
-rw-r--r--ChangeLog12
1 files changed, 12 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index d6a30781b4..a261adac9f 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,17 @@
 2016-08-03  Zack Weinberg  <zackw@panix.com>
 
+	[BZ #19239]
+	* NEWS: Inclusion of <sys/sysmacros.h> by <sys/types.h> is deprecated.
+	* misc/sys/sysmacros.h: If __SYSMACROS_DEPRECATED_INCLUSION is defined,
+	define major, minor, and makedev to issue deprecation warnings on use.
+	If __SYSMACROS_DEPRECATED_INCLUSION is *not* defined, suppress
+	previously-activated deprecation warnings for these macros and prevent
+	subsequent inclusions of this header from having any effect.
+	* posix/sys/types.h: Define __SYSMACROS_DEPRECATED_INCLUSION before
+	including <sys/sysmacros.h>, and undefine it again afterward.
+
+2016-08-03  Zack Weinberg  <zackw@panix.com>
+
 	* sysdeps/generic/sys/sysmacros.h: Delete file.
 	* sysdeps/unix/sysv/linux/makedev.c: Delete file.
 	* sysdeps/unix/sysv/linux/sys/sysmacros.h: Move file ...