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

Split Close
Expand all
Collapse all
          --- old/usr/src/man/man5/core.5
          +++ new/usr/src/man/man5/core.5
   1    1  '\"
   2    2  .\" Copyright (C) 2008, Sun Microsystems, Inc. All Rights Reserved.
   3    3  .\" Copyright 2012 DEY Storage Systems, Inc.  All rights reserved.
   4    4  .\" Copyright (c) 2013, Joyent, Inc. All rights reserved.
   5    5  .\" Copyright 2020 OmniOS Community Edition (OmniOSce) Association.
   6      -.\" Copyright 2021 Oxide Computer Company
        6 +.\" Copyright 2023 Oxide Computer Company
   7    7  .\" Copyright 1989 AT&T
   8    8  .\"
   9    9  .\" The contents of this file are subject to the terms of the
  10   10  .\" Common Development and Distribution License (the "License").
  11   11  .\" You may not use this file except in compliance with the License.
  12   12  .\"
  13   13  .\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
  14   14  .\" or http://www.opensolaris.org/os/licensing.
  15   15  .\" See the License for the specific language governing permissions
  16   16  .\" and limitations under the License.
  17   17  .\"
  18   18  .\" When distributing Covered Code, include this CDDL HEADER in each
  19   19  .\" file and include the License file at usr/src/OPENSOLARIS.LICENSE.
  20   20  .\" If applicable, add the following below this CDDL HEADER, with the
  21   21  .\" fields enclosed by brackets "[]" replaced with your own identifying
  22   22  .\" information: Portions Copyright [yyyy] [name of copyright owner]
  23   23  .\"
  24      -.Dd August 3, 2021
       24 +.Dd January 24, 2023
  25   25  .Dt CORE 5
  26   26  .Os
  27   27  .Sh NAME
  28   28  .Nm core
  29   29  .Nd process core file
  30   30  .Sh DESCRIPTION
  31   31  The operating system writes out a core file for a process when the process is
  32   32  terminated due to receiving certain signals.
  33   33  A core file is a disk copy of the contents of the process address space at the
  34   34  time the process received the signal, along with additional information about
↓ open down ↓ 151 lines elided ↑ open up ↑
 186  186  .Pq Fa n_type
 187  187  definitions are contained in
 188  188  .In sys/elf.h .
 189  189  The first
 190  190  .Sy NOTE
 191  191  segment exists for binary compatibility with old programs that deal with core
 192  192  files.
 193  193  It contains structures defined in
 194  194  .In sys/old_procfs.h .
 195  195  New programs should recognize and skip this
 196      -.Sy BNOTE
      196 +.Sy NOTE
 197  197  segment, advancing instead to the new
 198  198  .Sy NOTE
 199  199  segment.
 200  200  The old
 201  201  .Sy NOTE
 202  202  segment is deleted from core files in a future release.
 203  203  .Pp
 204  204  The old
 205  205  .Sy NOTE
 206  206  segment contains the following entries.
↓ open down ↓ 47 lines elided ↑ open up ↑
 254  254  system, such as the general registers, signal dispositions, state, reason for
 255  255  stopping, process-ID, and so forth.
 256  256  The
 257  257  .Vt prstatus_t
 258  258  structure is defined in
 259  259  .In sys/old_procfs.h .
 260  260  .It Vt prfpregset_t
 261  261  .Fa n_type :
 262  262  .Dv NT_PRFPREG .
 263  263  This entry is present only if the
 264      -.Sy BLWP
      264 +.Sy LWP
 265  265  used the floating-point hardware.
 266  266  It contains the floating-point registers.
 267  267  The
 268  268  .Vt prfpregset_t
 269  269  structure is defined in
 270  270  .In sys/procfs_isa.h .
 271  271  .It Vt gwindows_t
 272  272  .Fa n_type :
 273  273  .Dv NT_GWINDOWS .
 274  274  This entry is present only on a SPARC machine and only if the system was unable
 275  275  to flush all of the register windows to the stack.
 276  276  It contains all of the unspilled register windows.
 277  277  The
 278  278  .Vt gwindows_t
 279  279  structure is defined in
 280  280  .In sys/regset.h .
 281  281  .It Vt prxregset_t
 282  282  .Fa n_type :
 283  283  .Dv NT_PRXREG .
 284      -This entry is present only if the machine has extra register state associated
 285      -with it.
 286      -It contains the extra register state.
 287      -The
      284 +This entry is no longer included in core files, but is of historical note
      285 +because in the past it was included on SPARC-based systems.
      286 +While since then the
 288  287  .Vt prxregset_t
 289      -structure is defined in
 290      -.Vt sys/procfs_isa.h .
      288 +and extended register sets have been defined on other architectures, they do not
      289 +emit this in the old note section because there is no binary compatibility.
 291  290  .El
 292  291  .Pp
 293  292  The new
 294  293  .Sy NOTE
 295  294  segment contains the following entries.
 296  295  Each has entry name
 297  296  .Sy "CORE"
 298  297  and presents the contents of a system structure:
 299  298  .Bl -tag -width prxregset_t
 300  299  .It Vt psinfo_t
↓ open down ↓ 213 lines elided ↑ open up ↑
 514  513  .In sys/regset.h .
 515  514  .It Vt prxregset_t
 516  515  .Fa n_type :
 517  516  .Dv NT_PRXREG .
 518  517  This entry is present only if the machine has extra register state associated
 519  518  with it.
 520  519  It contains the extra register state.
 521  520  The
 522  521  .Vt prxregset_t
 523  522  structure is defined in
 524      -.In sys/procfs_isa.h .
      523 +.In sys/procfs_isa.h ;
      524 +however applications should include
      525 +.In procfs.h
      526 +to get access to it.
      527 +On most architectures the
      528 +.Vt prxregset_t
      529 +is opaque and is made up of multiple structures because it can vary in length.
      530 +.Xr proc 5
      531 +discusses the structure of the extended register set for each supported
      532 +architecture.
 525  533  .It Vt asrset_t
 526  534  \fB\fBasrset_t\fR\fR
 527  535  .Fa n_type :
 528  536  .Dv NT_ASRS .
 529  537  This entry is present only on a SPARC V9 machine and only if the process is a
 530  538  64-bit process.
 531  539  It contains the ancillary state registers for the LWP.
 532  540  The
 533  541  .Vt asrset_t asrset_t
 534  542  structure is defined in
↓ open down ↓ 50 lines elided ↑ open up ↑
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX