Print this page
Code review comments from jeffpc
7029 want per-process exploit mitigation features (secflags)
7030 want basic address space layout randomization (aslr)
7031 noexec_user_stack should be a secflag
7032 want a means to forbid mappings around NULL.
   1 '\" te
   2 .\" Copyright (C) 2008, Sun Microsystems, Inc. All Rights Reserved.
   3 .\" Copyright 2012 DEY Storage Systems, Inc.  All rights reserved.
   4 .\" Copyright (c) 2013, Joyent, Inc. All rights reserved.
   5 .\" Copyright 1989 AT&T
   6 .\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License").  You may not use this file except in compliance with the License.
   7 .\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing.  See the License for the specific language governing permissions and limitations under the License.
   8 .\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE.  If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
   9 .TH CORE 4 "Mar 31, 2013"
  10 .SH NAME
  11 core \- process core file
  12 .SH DESCRIPTION
  13 .sp
  14 .LP
  15 The operating system writes out a core file for a process when the process is
  16 terminated due to receiving certain signals. A core file is a disk copy of the
  17 contents of the process address space at the time the process received the
  18 signal, along with additional information about the state of the process. This
  19 information can be consumed by a debugger. Core files can also be generated by
  20 applying the \fBgcore\fR(1) utility to a running process.
  21 .sp
  22 .LP
  23 Typically, core files are produced following abnormal termination of a process
  24 resulting from a bug in the corresponding application. Whatever the cause, the
  25 core file itself provides invaluable information to the programmer or support
  26 engineer to aid in diagnosing the problem. The core file can be inspected using
  27 a debugger such as \fBdbx\fR(1) or \fBmdb\fR(1) or by applying one of the
  28 \fBproc\fR(1) tools.
  29 .sp
  30 .LP
  31 The operating system attempts to create up to two core files for each
  32 abnormally terminating process, using a global core file name pattern and a
  33 per-process core file name pattern. These patterns are expanded to determine


 434 .RS 15n
 435 \fBn_type\fR: \fBNT_ASRS\fR. This entry is present only on a SPARC V9 machine
 436 and only if the process is a 64-bit process. It contains the ancillary state
 437 registers for the \fBLWP.\fR The \fBasrset_t\fR structure is defined in
 438 \fB<sys/regset.h>\fR\&.
 439 .RE
 440 
 441 .sp
 442 .ne 2
 443 .na
 444 \fB\fBpsinfo_t\fR\fR
 445 .ad
 446 .RS 15n
 447 \fBn_type\fR: \fBNT_SPYMASTER\fR. This entry is present only for an agent
 448 LWP and contains the \fBpsinfo_t\fR of the process that created the agent
 449 LWP. See the \fBproc\fR(4) description of the \fBspymaster\fR entry for
 450 more details.
 451 .RE
 452 
 453 .sp











 454 .LP
 455 Depending on the \fBcoreadm\fR(1M) settings, the section header of an ELF core
 456 file can contain entries for CTF, symbol table, and string table sections. The
 457 \fBsh_addr\fR fields are set to the base address of the first mapping of the
 458 load object that they came from to. This can be used to match those sections
 459 with the corresponding load object.
 460 .sp
 461 .LP
 462 The size of the core file created by a process can be controlled by the user
 463 (see \fBgetrlimit\fR(2)).
 464 .SH SEE ALSO
 465 .sp
 466 .LP
 467 \fBelfdump\fR(1), \fBgcore\fR(1), \fBmdb\fR(1), \fBproc\fR(1), \fBps\fR(1),
 468 \fBcoreadm\fR(1M), \fBgetrlimit\fR(2), \fBsetrlimit\fR(2), \fBsetuid\fR(2),
 469 \fBsysinfo\fR(2), \fBuname\fR(2), \fBgetzonenamebyid\fR(3C),
 470 \fBgetzoneid\fR(3C), \fBelf\fR(3ELF), \fBsignal.h\fR(3HEAD), \fBa.out\fR(4),
 471 \fBproc\fR(4), \fBzones\fR(5)
 472 .sp
 473 .LP
 474 \fIANSI C Programmer's Guide\fR
   1 '\" te
   2 .\" Copyright (C) 2008, Sun Microsystems, Inc. All Rights Reserved.
   3 .\" Copyright 2012 DEY Storage Systems, Inc.  All rights reserved.
   4 .\" Copyright (c) 2013, Joyent, Inc. All rights reserved.
   5 .\" Copyright 1989 AT&T
   6 .\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License").  You may not use this file except in compliance with the License.
   7 .\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing.  See the License for the specific language governing permissions and limitations under the License.
   8 .\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE.  If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
   9 .TH CORE 4 "Jun 6, 2016"
  10 .SH NAME
  11 core \- process core file
  12 .SH DESCRIPTION

  13 .LP
  14 The operating system writes out a core file for a process when the process is
  15 terminated due to receiving certain signals. A core file is a disk copy of the
  16 contents of the process address space at the time the process received the
  17 signal, along with additional information about the state of the process. This
  18 information can be consumed by a debugger. Core files can also be generated by
  19 applying the \fBgcore\fR(1) utility to a running process.
  20 .sp
  21 .LP
  22 Typically, core files are produced following abnormal termination of a process
  23 resulting from a bug in the corresponding application. Whatever the cause, the
  24 core file itself provides invaluable information to the programmer or support
  25 engineer to aid in diagnosing the problem. The core file can be inspected using
  26 a debugger such as \fBdbx\fR(1) or \fBmdb\fR(1) or by applying one of the
  27 \fBproc\fR(1) tools.
  28 .sp
  29 .LP
  30 The operating system attempts to create up to two core files for each
  31 abnormally terminating process, using a global core file name pattern and a
  32 per-process core file name pattern. These patterns are expanded to determine


 433 .RS 15n
 434 \fBn_type\fR: \fBNT_ASRS\fR. This entry is present only on a SPARC V9 machine
 435 and only if the process is a 64-bit process. It contains the ancillary state
 436 registers for the \fBLWP.\fR The \fBasrset_t\fR structure is defined in
 437 \fB<sys/regset.h>\fR\&.
 438 .RE
 439 
 440 .sp
 441 .ne 2
 442 .na
 443 \fB\fBpsinfo_t\fR\fR
 444 .ad
 445 .RS 15n
 446 \fBn_type\fR: \fBNT_SPYMASTER\fR. This entry is present only for an agent
 447 LWP and contains the \fBpsinfo_t\fR of the process that created the agent
 448 LWP. See the \fBproc\fR(4) description of the \fBspymaster\fR entry for
 449 more details.
 450 .RE
 451 
 452 .sp
 453 .ne 2
 454 .na
 455 \fB\fBprsecflags_t\fR\fR
 456 .ad
 457 .RS 15n
 458 \fBn_type\fR: \fbNT_SECFLAGS\fR.  This entry contains the process
 459 security-flags, see \fBsecurity-flags\fR(5), \fBproc\fR(4), and
 460 \fBpsecflags\fR(1M) for more information.
 461 .RE
 462 
 463 .sp
 464 .LP
 465 Depending on the \fBcoreadm\fR(1M) settings, the section header of an ELF core
 466 file can contain entries for CTF, symbol table, and string table sections. The
 467 \fBsh_addr\fR fields are set to the base address of the first mapping of the
 468 load object that they came from to. This can be used to match those sections
 469 with the corresponding load object.
 470 .sp
 471 .LP
 472 The size of the core file created by a process can be controlled by the user
 473 (see \fBgetrlimit\fR(2)).
 474 .SH SEE ALSO

 475 .LP
 476 \fBelfdump\fR(1), \fBgcore\fR(1), \fBmdb\fR(1), \fBproc\fR(1), \fBps\fR(1),
 477 \fBcoreadm\fR(1M), \fBgetrlimit\fR(2), \fBsetrlimit\fR(2), \fBsetuid\fR(2),
 478 \fBsysinfo\fR(2), \fBuname\fR(2), \fBgetzonenamebyid\fR(3C),
 479 \fBgetzoneid\fR(3C), \fBelf\fR(3ELF), \fBsignal.h\fR(3HEAD), \fBa.out\fR(4),
 480 \fBproc\fR(4), \fBzones\fR(5), \fBsecurity-flags\fR(5)
 481 .sp
 482 .LP
 483 \fIANSI C Programmer's Guide\fR