public inbox for glibc-cvs@sourceware.org
help / color / mirror / Atom feed
* [glibc/zack/no-nested-includes] (4 commits) fixup: hurd sys/socket.h is now conformant
@ 2019-06-25 20:34 Zack Weinberg
  0 siblings, 0 replies; only message in thread
From: Zack Weinberg @ 2019-06-25 20:34 UTC (permalink / raw)
  To: glibc-cvs

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain; charset="us-ascii", Size: 26473 bytes --]

The branch 'zack/no-nested-includes' was updated to point to:

 a9f7f78... fixup: hurd sys/socket.h is now conformant

It previously pointed to:

 6ac34e2... fixup: hurd sys/socket.h is now conformant

Diff:

!!! WARNING: THE FOLLOWING COMMITS ARE NO LONGER ACCESSIBLE (LOST):
-------------------------------------------------------------------

  6ac34e2... fixup: hurd sys/socket.h is now conformant
  00bf9a9... fixup: hurd sys/sem.h is now conformant
  c90e883... fixup: hurd fcntl.h is now conformant
  fd937b6... Rename sys/ucontext.h to bits/ucontext.h.
  52c44a2... Rename sys/ucontext.h to bits/ucontext.h.

commit 6ac34e2f07dee3abcfc42252932b6ce3d16e2c4c
Author: Zack Weinberg <zackw@panix.com>
Date:   Thu Jun 6 10:43:37 2019 -0400

    fixup: hurd sys/socket.h is now conformant

commit 00bf9a9505d2c4ddb2d8573876a5b4995b35715c
Author: Zack Weinberg <zackw@panix.com>
Date:   Thu Jun 6 10:43:21 2019 -0400

    fixup: hurd sys/sem.h is now conformant

commit c90e883e86ea4b0f80100f1e2a88a63f94783444
Author: Zack Weinberg <zackw@panix.com>
Date:   Thu Jun 6 10:42:55 2019 -0400

    fixup: hurd fcntl.h is now conformant

commit fd937b61650f992c03f72bf4569eb491ca9d2c65
Author: Zack Weinberg <zackw@panix.com>
Date:   Tue Jun 25 16:18:31 2019 -0400

    Rename sys/ucontext.h to bits/ucontext.h.
    
    sys/ucontext.h is effectively a bits header.  Its contents are
    extremely system-specific, and it’s strongly associated with a
    specific public header (ucontext.h) that provides a superset of its
    definitions, but there are other public headers that also require some
    of its definitions.  This patch therefore moves it into the bits/
    namespace and adjusts all the headers that refer to it.  In case there
    are external users, a stub is added that includes ucontext.h.
    
    Most of the fallout changes are trivial, but aarch64, ia64 and riscv
    need a little more work.  aarch64 sys/ucontext.h (now bits/ucontext.h)
    was including sys/procfs.h for the definition of elf_greg_t etc;
    the simplest fix is to have it include bits/procfs.h instead (and then
    that needs to include sys/user.h for user_regs_struct).  This is not
    ideal but fixing it properly would require disentangling all of the
    debugger interface headers which is more than I’m up for at the moment.
    
    ia64 bits/ptrace.h and bits/procfs.h were both including
    bits/sigcontext.h, which is only licensed to be included from
    signal.h.  (I’m not sure how this ever worked, or why it broke with
    this patch and not some previous one.)  This is fixed by creating
    another single-type header, bits/types/__ia64_fpreg.h, which provides
    the only thing they need from bits/sigcontext.h.
    
    s/u/s/l/riscv/makecontext.c was defining makecontext with a function
    head that didn’t agree with its official prototype (in ucontext.h);
    formerly that file did not include ucontext.h, only sys/ucontext.h,
    so we were getting away with it, but it’s still wrong.  Making the
    function head match the prototype actually simplifies the code.
    
    	* sysdeps/generic/sys/ucontext.h: Move to top level bits/ucontext.h.
    	Adjust multiple inclusion guard.
    	* sysdeps/arm/sys/ucontext.h: Move to sysdeps/arm/bits/ucontext.h.
    	Adjust multiple inclusion guard.
    	* sysdeps/i386/sys/ucontext.h: Similarly.
    	* sysdeps/m68k/sys/ucontext.h: Similarly.
    	* sysdeps/mips/sys/ucontext.h: Similarly.
    	* sysdeps/unix/sysv/linux/aarch64/sys/ucontext.h: Similarly.
    	* sysdeps/unix/sysv/linux/alpha/sys/ucontext.h: Similarly.
    	* sysdeps/unix/sysv/linux/arm/sys/ucontext.h: Similarly.
    	* sysdeps/unix/sysv/linux/csky/sys/ucontext.h: Similarly.
    	* sysdeps/unix/sysv/linux/hppa/sys/ucontext.h: Similarly.
    	* sysdeps/unix/sysv/linux/ia64/sys/ucontext.h: Similarly.
    	* sysdeps/unix/sysv/linux/m68k/sys/ucontext.h: Similarly.
    	* sysdeps/unix/sysv/linux/microblaze/sys/ucontext.h: Similarly.
    	* sysdeps/unix/sysv/linux/mips/sys/ucontext.h: Similarly.
    	* sysdeps/unix/sysv/linux/nios2/sys/ucontext.h: Similarly.
    	* sysdeps/unix/sysv/linux/powerpc/sys/ucontext.h: Similarly.
    	* sysdeps/unix/sysv/linux/riscv/sys/ucontext.h: Similarly.
    	* sysdeps/unix/sysv/linux/s390/sys/ucontext.h: Similarly.
    	* sysdeps/unix/sysv/linux/sh/sys/ucontext.h: Similarly.
    	* sysdeps/unix/sysv/linux/sparc/sys/ucontext.h: Similarly.
    	* sysdeps/unix/sysv/linux/x86/sys/ucontext.h: Similarly.
    	* stdlib/Makefile: Install bits/ucontext.h.
    
    	* stdlib/sys/ucontext.h: New backward compatibility stub header,
    	includes ucontext.h.
    	* include/sys/ucontext.h: New wrapper.
    
    	* sysdeps/unix/sysv/linux/aarch64/bits/procfs.h: Allow inclusion
    	by bits/ucontext.h as well as sys/procfs.h.  Include sys/user.h.
    	* sysdeps/unix/sysv/linux/aarch64/bits/ucontext.h: Include
    	bits/procfs.h instead of sys/procfs.h.
    
    	* sysdeps/unix/sysv/linux/ia64/bits/types/__ia64_fpreg.h:
    	New file, contents factored out of ia64/bits/sigcontext.h and
    	ia64/bits/ucontext.h.
    	* sysdeps/unix/sysv/linux/ia64/Makefile:
    	Install bits/types/__ia64_fpreg.h.  Merge subdir=misc blocks.
    	* sysdeps/unix/sysv/linux/ia64/bits/sigcontext.h
    	* sysdeps/unix/sysv/linux/ia64/bits/ucontext.h:
    	Include bits/types/__ia64_fpreg.h for struct ia64_fpreg.
    
    	* sysdeps/unix/sysv/linux/ia64/bits/procfs.h:
    	Include bits/types/__ia64_fpreg.h for struct ia64_fpreg.
    	Don’t include bits/sigcontext.h or bits/ucontext.h.
    	* sysdeps/unix/sysv/linux/ia64/sys/ptrace.h:
    	Don’t include bits/sigcontext.h.
    
    	* sysdeps/unix/sysv/linux/riscv/makecontext.c: Include
    	ucontext.h, not sys/ucontext.h. Correct function head to match
    	prototype in ucontext.h.  Use va_arg to retrieve all arguments
    	past argc.
    
    	* sysdeps/unix/sysv/linux/s390/tst-ptrace-singleblock.c:
    	Sort list of includes.
    
    	* signal/signal.h, stdlib/ucontext.h
    	* sysdeps/unix/sysv/linux/alpha/bits/procfs-prregset.h
    	* sysdeps/unix/sysv/linux/ia64/sys/ptrace.h
    	* sysdeps/unix/sysv/linux/riscv/bits/procfs.h
    	* sysdeps/unix/sysv/linux/s390/bits/procfs.h:
    	Include bits/ucontext.h, not sys/ucontext.h.
    
    	* sysdeps/unix/sysv/linux/aarch64/sigcontextinfo.h
    	* sysdeps/unix/sysv/linux/arm/sigcontextinfo.h
    	* sysdeps/unix/sysv/linux/nios2/sigcontextinfo.h
    	* sysdeps/unix/sysv/linux/riscv/sigcontextinfo.h:
    	Include signal.h, not sys/ucontext.h.
    
    	* sysdeps/unix/sysv/linux/arm/register-dump.h
    	* sysdeps/unix/sysv/linux/csky/register-dump.h:
    	Include ucontext.h, not sys/ucontext.h.
    
    	* sysdeps/unix/sysv/linux/aarch64/ucontext_i.sym
    	* sysdeps/unix/sysv/linux/alpha/ucontext-offsets.sym
    	* sysdeps/unix/sysv/linux/arm/ucontext_i.sym
    	* sysdeps/unix/sysv/linux/csky/abiv2/ucontext_i.sym
    	* sysdeps/unix/sysv/linux/hppa/ucontext_i.sym
    	* sysdeps/unix/sysv/linux/i386/ucontext_i.sym
    	* sysdeps/unix/sysv/linux/ia64/sigcontext-offsets.sym
    	* sysdeps/unix/sysv/linux/m68k/m680x0/ucontext_i.sym
    	* sysdeps/unix/sysv/linux/powerpc/powerpc32/ucontext_i.sym
    	* sysdeps/unix/sysv/linux/powerpc/powerpc64/ucontext_i.sym
    	* sysdeps/unix/sysv/linux/mips/ucontext_i.sym
    	* sysdeps/unix/sysv/linux/nios2/ucontext_i.sym
    	* sysdeps/unix/sysv/linux/riscv/ucontext_i.sym
    	* sysdeps/unix/sysv/linux/s390/ucontext_i.sym
    	* sysdeps/unix/sysv/linux/sh/sh3/ucontext_i.sym
    	* sysdeps/unix/sysv/linux/sh/sh4/ucontext_i.sym
    	* sysdeps/unix/sysv/linux/sparc/sparc32/ucontext_i.sym
    	* sysdeps/unix/sysv/linux/x86_64/ucontext_i.sym:
    	Include stddef.h and signal.h; don’t include any other headers.
    
    	* scripts/check-obsolete-constructs.py (HEADER_ALLOWED_INCLUDES)
    	(SYSDEP_ALLOWED_INCLUDES): Update.
    
    # Please enter the commit message for your changes. Lines starting
    # with '#' will be ignored, and an empty message aborts the commit.
    #
    # Date:      Tue Jun 11 13:05:02 2019 -0400
    #
    # On branch after-amend
    # Changes to be committed:
    #	renamed:    sysdeps/generic/sys/ucontext.h -> bits/ucontext.h
    #	new file:   include/sys/ucontext.h
    #	modified:   scripts/check-obsolete-constructs.py
    #	modified:   signal/signal.h
    #	modified:   stdlib/Makefile
    #	new file:   stdlib/sys/ucontext.h
    #	modified:   stdlib/ucontext.h
    #	renamed:    sysdeps/arm/sys/ucontext.h -> sysdeps/arm/bits/ucontext.h
    #	renamed:    sysdeps/i386/sys/ucontext.h -> sysdeps/i386/bits/ucontext.h
    #	renamed:    sysdeps/m68k/sys/ucontext.h -> sysdeps/m68k/bits/ucontext.h
    #	renamed:    sysdeps/mips/sys/ucontext.h -> sysdeps/mips/bits/ucontext.h
    #	modified:   sysdeps/unix/sysv/linux/aarch64/bits/procfs.h
    #	renamed:    sysdeps/unix/sysv/linux/aarch64/sys/ucontext.h -> sysdeps/unix/sysv/linux/aarch64/bits/ucontext.h
    #	modified:   sysdeps/unix/sysv/linux/aarch64/sigcontextinfo.h
    #	modified:   sysdeps/unix/sysv/linux/aarch64/ucontext_i.sym
    #	modified:   sysdeps/unix/sysv/linux/alpha/bits/procfs-prregset.h
    #	renamed:    sysdeps/unix/sysv/linux/alpha/sys/ucontext.h -> sysdeps/unix/sysv/linux/alpha/bits/ucontext.h
    #	modified:   sysdeps/unix/sysv/linux/alpha/ucontext-offsets.sym
    #	renamed:    sysdeps/unix/sysv/linux/arm/sys/ucontext.h -> sysdeps/unix/sysv/linux/arm/bits/ucontext.h
    #	modified:   sysdeps/unix/sysv/linux/arm/register-dump.h
    #	modified:   sysdeps/unix/sysv/linux/arm/sigcontextinfo.h
    #	modified:   sysdeps/unix/sysv/linux/arm/ucontext_i.sym
    #	modified:   sysdeps/unix/sysv/linux/csky/abiv2/ucontext_i.sym
    #	renamed:    sysdeps/unix/sysv/linux/csky/sys/ucontext.h -> sysdeps/unix/sysv/linux/csky/bits/ucontext.h
    #	modified:   sysdeps/unix/sysv/linux/csky/register-dump.h
    #	renamed:    sysdeps/unix/sysv/linux/hppa/sys/ucontext.h -> sysdeps/unix/sysv/linux/hppa/bits/ucontext.h
    #	modified:   sysdeps/unix/sysv/linux/hppa/ucontext_i.sym
    #	modified:   sysdeps/unix/sysv/linux/i386/ucontext_i.sym
    #	modified:   sysdeps/unix/sysv/linux/ia64/Makefile
    #	modified:   sysdeps/unix/sysv/linux/ia64/bits/procfs.h
    #	modified:   sysdeps/unix/sysv/linux/ia64/bits/sigcontext.h
    #	new file:   sysdeps/unix/sysv/linux/ia64/bits/types/__ia64_fpreg.h
    #	renamed:    sysdeps/unix/sysv/linux/ia64/sys/ucontext.h -> sysdeps/unix/sysv/linux/ia64/bits/ucontext.h
    #	modified:   sysdeps/unix/sysv/linux/ia64/sigcontext-offsets.sym
    #	modified:   sysdeps/unix/sysv/linux/ia64/sys/ptrace.h
    #	renamed:    sysdeps/unix/sysv/linux/m68k/sys/ucontext.h -> sysdeps/unix/sysv/linux/m68k/bits/ucontext.h
    #	modified:   sysdeps/unix/sysv/linux/m68k/m680x0/ucontext_i.sym
    #	renamed:    sysdeps/unix/sysv/linux/microblaze/sys/ucontext.h -> sysdeps/unix/sysv/linux/microblaze/bits/ucontext.h
    #	renamed:    sysdeps/unix/sysv/linux/mips/sys/ucontext.h -> sysdeps/unix/sysv/linux/mips/bits/ucontext.h
    #	modified:   sysdeps/unix/sysv/linux/mips/ucontext_i.sym
    #	renamed:    sysdeps/unix/sysv/linux/nios2/sys/ucontext.h -> sysdeps/unix/sysv/linux/nios2/bits/ucontext.h
    #	modified:   sysdeps/unix/sysv/linux/nios2/sigcontextinfo.h
    #	modified:   sysdeps/unix/sysv/linux/nios2/ucontext_i.sym
    #	renamed:    sysdeps/unix/sysv/linux/powerpc/sys/ucontext.h -> sysdeps/unix/sysv/linux/powerpc/bits/ucontext.h
    #	modified:   sysdeps/unix/sysv/linux/powerpc/powerpc32/ucontext_i.sym
    #	modified:   sysdeps/unix/sysv/linux/powerpc/powerpc64/ucontext_i.sym
    #	modified:   sysdeps/unix/sysv/linux/riscv/bits/procfs.h
    #	renamed:    sysdeps/unix/sysv/linux/riscv/sys/ucontext.h -> sysdeps/unix/sysv/linux/riscv/bits/ucontext.h
    #	modified:   sysdeps/unix/sysv/linux/riscv/makecontext.c
    #	modified:   sysdeps/unix/sysv/linux/riscv/sigcontextinfo.h
    #	modified:   sysdeps/unix/sysv/linux/riscv/ucontext_i.sym
    #	modified:   sysdeps/unix/sysv/linux/s390/bits/procfs.h
    #	renamed:    sysdeps/unix/sysv/linux/s390/sys/ucontext.h -> sysdeps/unix/sysv/linux/s390/bits/ucontext.h
    #	modified:   sysdeps/unix/sysv/linux/s390/tst-ptrace-singleblock.c
    #	modified:   sysdeps/unix/sysv/linux/s390/ucontext_i.sym
    #	renamed:    sysdeps/unix/sysv/linux/sh/sys/ucontext.h -> sysdeps/unix/sysv/linux/sh/bits/ucontext.h
    #	modified:   sysdeps/unix/sysv/linux/sh/sh3/ucontext_i.sym
    #	modified:   sysdeps/unix/sysv/linux/sh/sh4/ucontext_i.sym
    #	renamed:    sysdeps/unix/sysv/linux/sparc/sys/ucontext.h -> sysdeps/unix/sysv/linux/sparc/bits/ucontext.h
    #	modified:   sysdeps/unix/sysv/linux/sparc/sparc32/ucontext_i.sym
    #	renamed:    sysdeps/unix/sysv/linux/x86/sys/ucontext.h -> sysdeps/unix/sysv/linux/x86/bits/ucontext.h
    #	modified:   sysdeps/unix/sysv/linux/x86_64/ucontext_i.sym
    #

commit 52c44a2a8e5598cea3f66038bd5506e0b5eab9f7
Author: Zack Weinberg <zackw@panix.com>
Date:   Tue Jun 11 13:05:02 2019 -0400

    Rename sys/ucontext.h to bits/ucontext.h.
    
    sys/ucontext.h is effectively a bits header.  Its contents are
    extremely system-specific, and it’s strongly associated with a
    specific public header (ucontext.h) that provides a superset of its
    definitions, but there are other public headers that also require some
    of its definitions.  This patch therefore moves it into the bits/
    namespace and adjusts all the headers that refer to it.  In case there
    are external users, a stub is added that includes ucontext.h.
    
    Most of the fallout changes are trivial, but ia64 and riscv need a
    little more work.  ia64 bits/ptrace.h and bits/procfs.h were both
    including bits/sigcontext.h, which is only licensed to be included
    from signal.h.  (I’m not sure how this ever worked, or why it broke
    with this patch and not some previous one.)  This is fixed by creating
    another single-type header, bits/types/__ia64_fpreg.h, which provides
    the only thing they need from bits/sigcontext.h.
    
    s/u/s/l/riscv/makecontext.c was defining makecontext with a function
    head that didn’t agree with its official prototype (in ucontext.h);
    formerly that file did not include ucontext.h, only sys/ucontext.h,
    so we were getting away with it, but it’s still wrong.  Making the
    function head match the prototype actually simplifies the code.
    
    	* sysdeps/generic/sys/ucontext.h: Move to top level bits/ucontext.h.
    	Adjust multiple inclusion guard.
    	* sysdeps/arm/sys/ucontext.h: Move to sysdeps/arm/bits/ucontext.h.
    	Adjust multiple inclusion guard.
    	* sysdeps/i386/sys/ucontext.h: Similarly.
    	* sysdeps/m68k/sys/ucontext.h: Similarly.
    	* sysdeps/mips/sys/ucontext.h: Similarly.
    	* sysdeps/unix/sysv/linux/aarch64/sys/ucontext.h: Similarly.
    	* sysdeps/unix/sysv/linux/alpha/sys/ucontext.h: Similarly.
    	* sysdeps/unix/sysv/linux/arm/sys/ucontext.h: Similarly.
    	* sysdeps/unix/sysv/linux/csky/sys/ucontext.h: Similarly.
    	* sysdeps/unix/sysv/linux/hppa/sys/ucontext.h: Similarly.
    	* sysdeps/unix/sysv/linux/ia64/sys/ucontext.h: Similarly.
    	* sysdeps/unix/sysv/linux/m68k/sys/ucontext.h: Similarly.
    	* sysdeps/unix/sysv/linux/microblaze/sys/ucontext.h: Similarly.
    	* sysdeps/unix/sysv/linux/mips/sys/ucontext.h: Similarly.
    	* sysdeps/unix/sysv/linux/nios2/sys/ucontext.h: Similarly.
    	* sysdeps/unix/sysv/linux/powerpc/sys/ucontext.h: Similarly.
    	* sysdeps/unix/sysv/linux/riscv/sys/ucontext.h: Similarly.
    	* sysdeps/unix/sysv/linux/s390/sys/ucontext.h: Similarly.
    	* sysdeps/unix/sysv/linux/sh/sys/ucontext.h: Similarly.
    	* sysdeps/unix/sysv/linux/sparc/sys/ucontext.h: Similarly.
    	* sysdeps/unix/sysv/linux/x86/sys/ucontext.h: Similarly.
    	* stdlib/Makefile: Install bits/ucontext.h.
    
    	* stdlib/sys/ucontext.h: New backward compatibility stub header,
    	includes ucontext.h.
    	* include/sys/ucontext.h: New wrapper.
    
    	* sysdeps/unix/sysv/linux/ia64/bits/types/__ia64_fpreg.h:
    	New file, contents factored out of ia64/bits/sigcontext.h and
    	ia64/bits/ucontext.h.
    	* sysdeps/unix/sysv/linux/ia64/Makefile:
    	Install bits/types/__ia64_fpreg.h.  Merge subdir=misc blocks.
    	* sysdeps/unix/sysv/linux/ia64/bits/sigcontext.h
    	* sysdeps/unix/sysv/linux/ia64/bits/ucontext.h:
    	Include bits/types/__ia64_fpreg.h for struct ia64_fpreg.
    
    	* sysdeps/unix/sysv/linux/ia64/bits/procfs.h:
    	Include bits/types/__ia64_fpreg.h for struct ia64_fpreg.
    	Don’t include bits/sigcontext.h or bits/ucontext.h.
    	* sysdeps/unix/sysv/linux/ia64/sys/ptrace.h:
    	Don’t include bits/sigcontext.h.
    
    	* sysdeps/unix/sysv/linux/riscv/makecontext.c: Include
    	ucontext.h, not sys/ucontext.h. Correct function head to match
    	prototype in ucontext.h.  Use va_arg to retrieve all arguments
    	past argc.
    
    	* sysdeps/unix/sysv/linux/s390/tst-ptrace-singleblock.c:
    	Sort list of includes.
    
    	* signal/signal.h, stdlib/ucontext.h
    	* sysdeps/unix/sysv/linux/alpha/bits/procfs-prregset.h
    	* sysdeps/unix/sysv/linux/ia64/sys/ptrace.h
    	* sysdeps/unix/sysv/linux/riscv/bits/procfs.h
    	* sysdeps/unix/sysv/linux/s390/bits/procfs.h:
    	Include bits/ucontext.h, not sys/ucontext.h.
    
    	* sysdeps/unix/sysv/linux/aarch64/sigcontextinfo.h
    	* sysdeps/unix/sysv/linux/arm/sigcontextinfo.h
    	* sysdeps/unix/sysv/linux/nios2/sigcontextinfo.h
    	* sysdeps/unix/sysv/linux/riscv/sigcontextinfo.h:
    	Include signal.h, not sys/ucontext.h.
    
    	* sysdeps/unix/sysv/linux/arm/register-dump.h
    	* sysdeps/unix/sysv/linux/csky/register-dump.h:
    	Include ucontext.h, not sys/ucontext.h.
    
    	* sysdeps/unix/sysv/linux/aarch64/ucontext_i.sym
    	* sysdeps/unix/sysv/linux/alpha/ucontext-offsets.sym
    	* sysdeps/unix/sysv/linux/arm/ucontext_i.sym
    	* sysdeps/unix/sysv/linux/csky/abiv2/ucontext_i.sym
    	* sysdeps/unix/sysv/linux/hppa/ucontext_i.sym
    	* sysdeps/unix/sysv/linux/i386/ucontext_i.sym
    	* sysdeps/unix/sysv/linux/ia64/sigcontext-offsets.sym
    	* sysdeps/unix/sysv/linux/m68k/m680x0/ucontext_i.sym
    	* sysdeps/unix/sysv/linux/powerpc/powerpc32/ucontext_i.sym
    	* sysdeps/unix/sysv/linux/powerpc/powerpc64/ucontext_i.sym
    	* sysdeps/unix/sysv/linux/mips/ucontext_i.sym
    	* sysdeps/unix/sysv/linux/nios2/ucontext_i.sym
    	* sysdeps/unix/sysv/linux/riscv/ucontext_i.sym
    	* sysdeps/unix/sysv/linux/s390/ucontext_i.sym
    	* sysdeps/unix/sysv/linux/sh/sh3/ucontext_i.sym
    	* sysdeps/unix/sysv/linux/sh/sh4/ucontext_i.sym
    	* sysdeps/unix/sysv/linux/sparc/sparc32/ucontext_i.sym
    	* sysdeps/unix/sysv/linux/x86_64/ucontext_i.sym:
    	Include stddef.h and signal.h; don’t include any other headers.
    
    	* scripts/check-obsolete-constructs.py (HEADER_ALLOWED_INCLUDES)
    	(SYSDEP_ALLOWED_INCLUDES): Update.


Summary of changes (added commits):
-----------------------------------

  a9f7f78... fixup: hurd sys/socket.h is now conformant
  35611ad... fixup: hurd sys/sem.h is now conformant
  bb5cf78... fixup: hurd fcntl.h is now conformant
  b3343b9... Rename sys/ucontext.h to bits/ucontext.h.

commit a9f7f78112398517c9e7e15468117a9710f4450f
Author: Zack Weinberg <zackw@panix.com>
Date:   Thu Jun 6 10:43:37 2019 -0400

    fixup: hurd sys/socket.h is now conformant

commit 35611ad9549d46f65e9427b0f07d0291f23dde04
Author: Zack Weinberg <zackw@panix.com>
Date:   Thu Jun 6 10:43:21 2019 -0400

    fixup: hurd sys/sem.h is now conformant

commit bb5cf784bcc26e7c7d2bf7617d8ad809ce316e20
Author: Zack Weinberg <zackw@panix.com>
Date:   Thu Jun 6 10:42:55 2019 -0400

    fixup: hurd fcntl.h is now conformant

commit b3343b9ec953f0a8469ae736d9e32489801f5b76
Author: Zack Weinberg <zackw@panix.com>
Date:   Tue Jun 11 13:05:02 2019 -0400

    Rename sys/ucontext.h to bits/ucontext.h.
    
    sys/ucontext.h is effectively a bits header.  Its contents are
    extremely system-specific, and it’s strongly associated with a
    specific public header (ucontext.h) that provides a superset of its
    definitions, but there are other public headers that also require some
    of its definitions.  This patch therefore moves it into the bits/
    namespace and adjusts all the headers that refer to it.  In case there
    are external users, a stub is added that includes ucontext.h.
    
    Most of the fallout changes are trivial, but aarch64, ia64 and riscv
    need a little more work.  aarch64 sys/ucontext.h (now bits/ucontext.h)
    was including sys/procfs.h for the definition of elf_greg_t etc;
    the simplest fix is to have it include bits/procfs.h instead (and then
    that needs to include sys/user.h for user_regs_struct).  This is not
    ideal but fixing it properly would require disentangling all of the
    debugger interface headers which is more than I’m up for at the moment.
    
    ia64 bits/ptrace.h and bits/procfs.h were both including
    bits/sigcontext.h, which is only licensed to be included from
    signal.h.  (I’m not sure how this ever worked, or why it broke with
    this patch and not some previous one.)  This is fixed by creating
    another single-type header, bits/types/__ia64_fpreg.h, which provides
    the only thing they need from bits/sigcontext.h.
    
    s/u/s/l/riscv/makecontext.c was defining makecontext with a function
    head that didn’t agree with its official prototype (in ucontext.h);
    formerly that file did not include ucontext.h, only sys/ucontext.h,
    so we were getting away with it, but it’s still wrong.  Making the
    function head match the prototype actually simplifies the code.
    
    	* sysdeps/generic/sys/ucontext.h: Move to top level bits/ucontext.h.
    	Adjust multiple inclusion guard.
    	* sysdeps/arm/sys/ucontext.h: Move to sysdeps/arm/bits/ucontext.h.
    	Adjust multiple inclusion guard.
    	* sysdeps/i386/sys/ucontext.h: Similarly.
    	* sysdeps/m68k/sys/ucontext.h: Similarly.
    	* sysdeps/mips/sys/ucontext.h: Similarly.
    	* sysdeps/unix/sysv/linux/aarch64/sys/ucontext.h: Similarly.
    	* sysdeps/unix/sysv/linux/alpha/sys/ucontext.h: Similarly.
    	* sysdeps/unix/sysv/linux/arm/sys/ucontext.h: Similarly.
    	* sysdeps/unix/sysv/linux/csky/sys/ucontext.h: Similarly.
    	* sysdeps/unix/sysv/linux/hppa/sys/ucontext.h: Similarly.
    	* sysdeps/unix/sysv/linux/ia64/sys/ucontext.h: Similarly.
    	* sysdeps/unix/sysv/linux/m68k/sys/ucontext.h: Similarly.
    	* sysdeps/unix/sysv/linux/microblaze/sys/ucontext.h: Similarly.
    	* sysdeps/unix/sysv/linux/mips/sys/ucontext.h: Similarly.
    	* sysdeps/unix/sysv/linux/nios2/sys/ucontext.h: Similarly.
    	* sysdeps/unix/sysv/linux/powerpc/sys/ucontext.h: Similarly.
    	* sysdeps/unix/sysv/linux/riscv/sys/ucontext.h: Similarly.
    	* sysdeps/unix/sysv/linux/s390/sys/ucontext.h: Similarly.
    	* sysdeps/unix/sysv/linux/sh/sys/ucontext.h: Similarly.
    	* sysdeps/unix/sysv/linux/sparc/sys/ucontext.h: Similarly.
    	* sysdeps/unix/sysv/linux/x86/sys/ucontext.h: Similarly.
    	* stdlib/Makefile: Install bits/ucontext.h.
    
    	* stdlib/sys/ucontext.h: New backward compatibility stub header,
    	includes ucontext.h.
    	* include/sys/ucontext.h: New wrapper.
    
    	* sysdeps/unix/sysv/linux/aarch64/bits/procfs.h: Allow inclusion
    	by bits/ucontext.h as well as sys/procfs.h.  Include sys/user.h.
    	* sysdeps/unix/sysv/linux/aarch64/bits/ucontext.h: Include
    	bits/procfs.h instead of sys/procfs.h.
    
    	* sysdeps/unix/sysv/linux/ia64/bits/types/__ia64_fpreg.h:
    	New file, contents factored out of ia64/bits/sigcontext.h and
    	ia64/bits/ucontext.h.
    	* sysdeps/unix/sysv/linux/ia64/Makefile:
    	Install bits/types/__ia64_fpreg.h.  Merge subdir=misc blocks.
    	* sysdeps/unix/sysv/linux/ia64/bits/sigcontext.h
    	* sysdeps/unix/sysv/linux/ia64/bits/ucontext.h:
    	Include bits/types/__ia64_fpreg.h for struct ia64_fpreg.
    
    	* sysdeps/unix/sysv/linux/ia64/bits/procfs.h:
    	Include bits/types/__ia64_fpreg.h for struct ia64_fpreg.
    	Don’t include bits/sigcontext.h or bits/ucontext.h.
    	* sysdeps/unix/sysv/linux/ia64/sys/ptrace.h:
    	Don’t include bits/sigcontext.h.
    
    	* sysdeps/unix/sysv/linux/riscv/makecontext.c: Include
    	ucontext.h, not sys/ucontext.h. Correct function head to match
    	prototype in ucontext.h.  Use va_arg to retrieve all arguments
    	past argc.
    
    	* sysdeps/unix/sysv/linux/s390/tst-ptrace-singleblock.c:
    	Sort list of includes.
    
    	* signal/signal.h, stdlib/ucontext.h
    	* sysdeps/unix/sysv/linux/alpha/bits/procfs-prregset.h
    	* sysdeps/unix/sysv/linux/ia64/sys/ptrace.h
    	* sysdeps/unix/sysv/linux/riscv/bits/procfs.h
    	* sysdeps/unix/sysv/linux/s390/bits/procfs.h:
    	Include bits/ucontext.h, not sys/ucontext.h.
    
    	* sysdeps/unix/sysv/linux/aarch64/sigcontextinfo.h
    	* sysdeps/unix/sysv/linux/arm/sigcontextinfo.h
    	* sysdeps/unix/sysv/linux/nios2/sigcontextinfo.h
    	* sysdeps/unix/sysv/linux/riscv/sigcontextinfo.h:
    	Include signal.h, not sys/ucontext.h.
    
    	* sysdeps/unix/sysv/linux/arm/register-dump.h
    	* sysdeps/unix/sysv/linux/csky/register-dump.h:
    	Include ucontext.h, not sys/ucontext.h.
    
    	* sysdeps/unix/sysv/linux/aarch64/ucontext_i.sym
    	* sysdeps/unix/sysv/linux/alpha/ucontext-offsets.sym
    	* sysdeps/unix/sysv/linux/arm/ucontext_i.sym
    	* sysdeps/unix/sysv/linux/csky/abiv2/ucontext_i.sym
    	* sysdeps/unix/sysv/linux/hppa/ucontext_i.sym
    	* sysdeps/unix/sysv/linux/i386/ucontext_i.sym
    	* sysdeps/unix/sysv/linux/ia64/sigcontext-offsets.sym
    	* sysdeps/unix/sysv/linux/m68k/m680x0/ucontext_i.sym
    	* sysdeps/unix/sysv/linux/powerpc/powerpc32/ucontext_i.sym
    	* sysdeps/unix/sysv/linux/powerpc/powerpc64/ucontext_i.sym
    	* sysdeps/unix/sysv/linux/mips/ucontext_i.sym
    	* sysdeps/unix/sysv/linux/nios2/ucontext_i.sym
    	* sysdeps/unix/sysv/linux/riscv/ucontext_i.sym
    	* sysdeps/unix/sysv/linux/s390/ucontext_i.sym
    	* sysdeps/unix/sysv/linux/sh/sh3/ucontext_i.sym
    	* sysdeps/unix/sysv/linux/sh/sh4/ucontext_i.sym
    	* sysdeps/unix/sysv/linux/sparc/sparc32/ucontext_i.sym
    	* sysdeps/unix/sysv/linux/x86_64/ucontext_i.sym:
    	Include stddef.h and signal.h; don’t include any other headers.
    
    	* scripts/check-obsolete-constructs.py (HEADER_ALLOWED_INCLUDES)
    	(SYSDEP_ALLOWED_INCLUDES): Update.


^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2019-06-25 20:34 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-06-25 20:34 [glibc/zack/no-nested-includes] (4 commits) fixup: hurd sys/socket.h is now conformant Zack Weinberg

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).