This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[PATCH 0/2] Revised: deprecate sys/sysmacros.h inclusion from sys/types.h


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]