Print this page
15254 %ymm registers not restored after signal handler
15367 x86 getfpregs() summons corrupting %xmm ghosts
15333 want x86 /proc xregs support (libc_db, libproc, mdb, etc.)
15336 want libc functions for extended ucontext_t
15334 want ps_lwphandle-specific reg routines
15328 FPU_CW_INIT mistreats reserved bit
15335 i86pc fpu_subr.c isn't really platform-specific
15332 setcontext(2) isn't actually noreturn
15331 need <sys/stdalign.h>
Change-Id: I7060aa86042dfb989f77fc3323c065ea2eafa9ad
Conflicts:
    usr/src/uts/common/fs/proc/prcontrol.c
    usr/src/uts/intel/os/archdep.c
    usr/src/uts/intel/sys/ucontext.h
    usr/src/uts/intel/syscall/getcontext.c
        
*** 102,112 ****
       segments, each containing several note entries as described below.  The
       note entry header and core file note type (n_type) definitions are
       contained in <sys/elf.h>.  The first NOTE segment exists for binary
       compatibility with old programs that deal with core files.  It contains
       structures defined in <sys/old_procfs.h>.  New programs should recognize
!      and skip this BNOTE segment, advancing instead to the new NOTE segment.
       The old NOTE segment is deleted from core files in a future release.
  
       The old NOTE segment contains the following entries.  Each has entry name
       CORE and presents the contents of a system structure:
  
--- 102,112 ----
       segments, each containing several note entries as described below.  The
       note entry header and core file note type (n_type) definitions are
       contained in <sys/elf.h>.  The first NOTE segment exists for binary
       compatibility with old programs that deal with core files.  It contains
       structures defined in <sys/old_procfs.h>.  New programs should recognize
!      and skip this NOTE segment, advancing instead to the new NOTE segment.
       The old NOTE segment is deleted from core files in a future release.
  
       The old NOTE segment contains the following entries.  Each has entry name
       CORE and presents the contents of a system structure:
  
*** 136,146 ****
                     interest to a debugger from the operating system, such as
                     the general registers, signal dispositions, state, reason
                     for stopping, process-ID, and so forth.  The prstatus_t
                     structure is defined in <sys/old_procfs.h>.
  
!      prfpregset_t  n_type: NT_PRFPREG.  This entry is present only if the BLWP
                     used the floating-point hardware.  It contains the
                     floating-point registers.  The prfpregset_t structure is
                     defined in <sys/procfs_isa.h>.
  
       gwindows_t    n_type: NT_GWINDOWS.  This entry is present only on a SPARC
--- 136,146 ----
                     interest to a debugger from the operating system, such as
                     the general registers, signal dispositions, state, reason
                     for stopping, process-ID, and so forth.  The prstatus_t
                     structure is defined in <sys/old_procfs.h>.
  
!      prfpregset_t  n_type: NT_PRFPREG.  This entry is present only if the LWP
                     used the floating-point hardware.  It contains the
                     floating-point registers.  The prfpregset_t structure is
                     defined in <sys/procfs_isa.h>.
  
       gwindows_t    n_type: NT_GWINDOWS.  This entry is present only on a SPARC
*** 147,160 ****
                     machine and only if the system was unable to flush all of
                     the register windows to the stack.  It contains all of the
                     unspilled register windows.  The gwindows_t structure is
                     defined in <sys/regset.h>.
  
!      prxregset_t   n_type: NT_PRXREG.  This entry is present only if the
!                    machine has extra register state associated with it.  It
!                    contains the extra register state.  The prxregset_t
!                    structure is defined in sys/procfs_isa.h.
  
       The new NOTE segment contains the following entries.  Each has entry name
       CORE and presents the contents of a system structure:
  
       psinfo_t     n_type: NT_PSINFO.  This structure contains information of
--- 147,163 ----
                     machine and only if the system was unable to flush all of
                     the register windows to the stack.  It contains all of the
                     unspilled register windows.  The gwindows_t structure is
                     defined in <sys/regset.h>.
  
!      prxregset_t   n_type: NT_PRXREG.  This entry is no longer included in
!                    core files, but is of historical note because in the past
!                    it was included on SPARC-based systems.  While since then
!                    the prxregset_t and extended register sets have been
!                    defined on other architectures, they do not emit this in
!                    the old note section because there is no binary
!                    compatibility.
  
       The new NOTE segment contains the following entries.  Each has entry name
       CORE and presents the contents of a system structure:
  
       psinfo_t     n_type: NT_PSINFO.  This structure contains information of
*** 289,299 ****
                    defined in <sys/regset.h>.
  
       prxregset_t  n_type: NT_PRXREG.  This entry is present only if the
                    machine has extra register state associated with it.  It
                    contains the extra register state.  The prxregset_t
!                   structure is defined in <sys/procfs_isa.h>.
  
       asrset_t     asrset_t n_type: NT_ASRS.  This entry is present only on a
                    SPARC V9 machine and only if the process is a 64-bit
                    process.  It contains the ancillary state registers for the
                    LWP.  The asrset_t asrset_t structure is defined in
--- 292,307 ----
                    defined in <sys/regset.h>.
  
       prxregset_t  n_type: NT_PRXREG.  This entry is present only if the
                    machine has extra register state associated with it.  It
                    contains the extra register state.  The prxregset_t
!                   structure is defined in <sys/procfs_isa.h>; however
!                   applications should include <procfs.h> to get access to it.
!                   On most architectures the prxregset_t is opaque and is made
!                   up of multiple structures because it can vary in length.
!                   proc(5) discusses the structure of the extended register set
!                   for each supported architecture.
  
       asrset_t     asrset_t n_type: NT_ASRS.  This entry is present only on a
                    SPARC V9 machine and only if the process is a 64-bit
                    process.  It contains the ancillary state registers for the
                    LWP.  The asrset_t asrset_t structure is defined in
*** 318,323 ****
       elfdump(1), gcore(1), mdb(1), proc(1), ps(1), getrlimit(2), setrlimit(2),
       setuid(2), sysinfo(2), uname(2), upanic(2), getzoneid(3C),
       getzonenamebyid(3C), elf(3ELF), signal.h(3HEAD), a.out(5), proc(5),
       security-flags(7), zones(7), coreadm(8)
  
! illumos                         August 3, 2021                         illumos
--- 326,331 ----
       elfdump(1), gcore(1), mdb(1), proc(1), ps(1), getrlimit(2), setrlimit(2),
       setuid(2), sysinfo(2), uname(2), upanic(2), getzoneid(3C),
       getzonenamebyid(3C), elf(3ELF), signal.h(3HEAD), a.out(5), proc(5),
       security-flags(7), zones(7), coreadm(8)
  
! illumos                        January 24, 2023                        illumos