This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
[PATCH 0/2] Revised: deprecate sys/sysmacros.h inclusion from sys/types.h
- From: Zack Weinberg <zackw at panix dot com>
- To: libc-alpha at sourceware dot org
- Date: Sat, 23 Apr 2016 16:49:55 -0400
- Subject: [PATCH 0/2] Revised: deprecate sys/sysmacros.h inclusion from sys/types.h
- Authentication-results: sourceware.org; auth=none
This revised patch series incorporates all of Roland's requested
changes from https://sourceware.org/ml/libc-alpha/2016-04/msg00537.html
et seq and also corrects some problems I discovered in the process.
In addition to the changes discussed in the earlier thread:
* there is now a NEWS entry for the deprecation
* the wording of the deprecation message in the headers has been polished
* the macros in sysdeps/unix/sysv/linux/bits/sysmacros.h have been debugged
and exhaustively validated up to (dev_t)0x0000_FFFF_FFFF_FFFF /
(major,minor) 0x00FF_FFFF; these limits are well past the range actually
accepted by Linux-the-kernel
* adding gnu_dev_{major,minor,makedev} to misc/Versions entailed a
bump to every single libc.abilist, feh
I wonder if the encoding we use for dev_t on Linux should be promoted
to sysdeps/generic; it is compatible with any OS that only supports
8-bit major and minor numbers, supports 32-bit major/minor (note that
Linux only does 12-bit major and 20-bit minor), and if we ever need to
support a kernel with a different encoding for wide dev_t values
(e.g. FreeBSD) we can add an override then.
ChangeLog entries are in the commit messages.
zw
Zack Weinberg (2):
Add __clang_has_extension to sys/cdefs.h.
Deprecate inclusion of sys/sysmacros.h by sys/types.h.
NEWS | 14 ++++
include/sys/sysmacros.h | 1 +
misc/Makefile | 5 +-
misc/Versions | 3 +
misc/makedev.c | 40 +++++++++
misc/sys/cdefs.h | 21 ++++-
misc/sys/sysmacros.h | 97 ++++++++++++++++++++++
posix/Makefile | 2 +-
posix/sys/types.h | 8 +-
sysdeps/arm/nacl/libc.abilist | 4 +
sysdeps/generic/bits/sysmacros.h | 30 +++++++
sysdeps/generic/sys/sysmacros.h | 30 -------
sysdeps/unix/sysv/linux/Makefile | 2 +-
sysdeps/unix/sysv/linux/aarch64/libc.abilist | 1 +
sysdeps/unix/sysv/linux/alpha/libc.abilist | 1 +
sysdeps/unix/sysv/linux/arm/libc.abilist | 1 +
sysdeps/unix/sysv/linux/bits/sysmacros.h | 44 ++++++++++
sysdeps/unix/sysv/linux/hppa/libc.abilist | 1 +
sysdeps/unix/sysv/linux/i386/libc.abilist | 1 +
sysdeps/unix/sysv/linux/ia64/libc.abilist | 1 +
sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist | 1 +
sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist | 1 +
sysdeps/unix/sysv/linux/makedev.c | 40 ---------
sysdeps/unix/sysv/linux/microblaze/libc.abilist | 1 +
.../unix/sysv/linux/mips/mips32/fpu/libc.abilist | 1 +
.../unix/sysv/linux/mips/mips32/nofpu/libc.abilist | 1 +
.../unix/sysv/linux/mips/mips64/n32/libc.abilist | 1 +
.../unix/sysv/linux/mips/mips64/n64/libc.abilist | 1 +
sysdeps/unix/sysv/linux/nios2/libc.abilist | 1 +
.../sysv/linux/powerpc/powerpc32/fpu/libc.abilist | 1 +
.../linux/powerpc/powerpc32/nofpu/libc.abilist | 1 +
.../sysv/linux/powerpc/powerpc64/libc-le.abilist | 1 +
.../unix/sysv/linux/powerpc/powerpc64/libc.abilist | 1 +
sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist | 1 +
sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist | 1 +
sysdeps/unix/sysv/linux/sh/libc.abilist | 1 +
sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist | 1 +
sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist | 1 +
sysdeps/unix/sysv/linux/sys/sysmacros.h | 65 ---------------
.../sysv/linux/tile/tilegx/tilegx32/libc.abilist | 1 +
.../sysv/linux/tile/tilegx/tilegx64/libc.abilist | 1 +
sysdeps/unix/sysv/linux/tile/tilepro/libc.abilist | 1 +
sysdeps/unix/sysv/linux/x86_64/64/libc.abilist | 1 +
sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist | 1 +
44 files changed, 293 insertions(+), 141 deletions(-)
create mode 100644 include/sys/sysmacros.h
create mode 100644 misc/makedev.c
create mode 100644 misc/sys/sysmacros.h
create mode 100644 sysdeps/generic/bits/sysmacros.h
delete mode 100644 sysdeps/generic/sys/sysmacros.h
create mode 100644 sysdeps/unix/sysv/linux/bits/sysmacros.h
delete mode 100644 sysdeps/unix/sysv/linux/makedev.c
delete mode 100644 sysdeps/unix/sysv/linux/sys/sysmacros.h
--
2.8.1