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/man3lib/libproc.3lib
          +++ new/usr/src/man/man3lib/libproc.3lib
↓ open down ↓ 4 lines elided ↑ open up ↑
   5    5  .\" 1.0 of the CDDL.
   6    6  .\"
   7    7  .\" A full copy of the text of the CDDL should have accompanied this
   8    8  .\" source.  A copy of the CDDL is also available via the Internet at
   9    9  .\" http://www.illumos.org/license/CDDL.
  10   10  .\"
  11   11  .\"
  12   12  .\" Copyright 2018 Joyent, Inc.
  13   13  .\" Copyright (c) 2019 Carlos Neira <cneirabustos@gmail.com>
  14   14  .\" Copyright 2020 OmniOS Community Edition (OmniOSce) Association.
       15 +.\" Copyright 2023 Oxide Computer Company
  15   16  .\"
  16      -.Dd March 10, 2023
       17 +.Dd March 20, 2023
  17   18  .Dt LIBPROC 3LIB
  18   19  .Os
  19   20  .Sh NAME
  20   21  .Nm libproc
  21   22  .Nd process control library
  22   23  .Sh SYNOPSIS
  23   24  .Lb libproc
  24   25  .In libproc.h
  25   26  .Sh DESCRIPTION
  26   27  The
↓ open down ↓ 184 lines elided ↑ open up ↑
 211  212  .It Sy Pcred Ta Sy Pctlfd
 212  213  .It Sy Pdelbkpt Ta Sy Pdelwapt
 213  214  .It Sy Pdstop Ta Sy Pexecname
 214  215  .It Sy Pfault Ta Sy Pfgcore
 215  216  .It Sy Pgcore Ta Sy Pgetareg
 216  217  .It Sy Pgetauxval Ta Sy Pgetauxvec
 217  218  .It Sy Pgetenv Ta Sy Pisprocdir
 218  219  .It Sy Pissyscall_prev Ta Sy Plmid
 219  220  .It Sy Plmid_to_loadobj Ta Sy Plmid_to_map
 220  221  .It Sy Plookup_by_addr Ta Sy Plookup_by_name
 221      -.It Sy Plwp_alt_stack Ta Sy Plwp_getfpregs
 222      -.It Sy Plwp_getname Ta Sy Plwp_getpsinfo
 223      -.It Sy Plwp_getregs Ta Sy Plwp_getspymaster
 224      -.It Sy Plwp_main_stack Ta Sy Plwp_setfpregs
 225      -.It Sy Plwp_setregs Ta Sy Plwp_stack
 226  222  .It Sy Pname_to_ctf Ta Sy Pname_to_loadobj
 227  223  .It Sy Pname_to_map Ta Sy Pobjname
 228  224  .It Sy Pobjname_resolved Ta Sy Pplatform
 229  225  .It Sy Ppltdest Ta Sy Ppriv
 230  226  .It Sy Ppsinfo Ta Sy Pputareg
 231  227  .It Sy Prd_agent Ta Sy Pread
 232  228  .It Sy Pread_string Ta Sy Preset_maps
 233  229  .It Sy Psetbkpt Ta Sy Psecflags
 234  230  .It Sy Psetcred Ta Sy Psetfault
 235  231  .It Sy Psetflags Ta Sy Psetpriv
↓ open down ↓ 13 lines elided ↑ open up ↑
 249  245  .It Sy Pxlookup_by_name Ta Sy Pzonename
 250  246  .It Sy Pzonepath Ta Sy Pzoneroot Ta
 251  247  .El
 252  248  .Ss Thread interrogation and manipulation
 253  249  The following routines obtain information about a thread and allow
 254  250  manipulation of the thread itself.
 255  251  .Bl -column -offset indent ".Sy Pmapping_iter_resolved" ".Sy Psymbol_iter_by_addr"
 256  252  .It Sy Lalt_stack Ta Sy Lclearfault
 257  253  .It Sy Lclearsig Ta Sy Lctlfd
 258  254  .It Sy Ldstop Ta Sy Lgetareg
 259      -.It Sy Lmain_stack Ta Sy Lprochandle
 260      -.It Sy Lpsinfo Ta Sy Lputareg
 261      -.It Sy Lsetrun Ta Sy Lstack
      255 +.It Sy Lgetfpregs Ta Sy Lgetregs
      256 +.It Sy Lgetxregs Ta Sy Lmain_stack
      257 +.It Sy Lprochandle Ta Sy Lpsinfo
      258 +.It Sy Lputareg Ta Sy Lsetrun
      259 +.It Sy Lsetfpregs Ta Sy Lsetregs
      260 +.It Sy Lsetxregs Ta Sy Lstack
 262  261  .It Sy Lstate Ta Sy Lstatus
 263  262  .It Sy Lstop Ta Sy Lsync
 264  263  .It Sy Lwait Ta Sy Lxecbkpt
 265      -.It Sy Lxecwapt Ta ""
      264 +.It Sy Lxecwapt Ta Sy ""
 266  265  .El
      266 +.Bl -column -offset indent ".Sy Pmapping_iter_resolved" ".Sy Psymbol_iter_by_addr"
      267 +.It Sy Plwp_alt_stack Ta Sy Plwp_freexregs
      268 +.It Sy Plwp_getfpregs Ta Sy Plwp_getname
      269 +.It Sy Plwp_getpsinfo Ta Sy Plwp_getregs
      270 +.It Sy Plwp_getspymaster Ta Sy Plwp_main_stack
      271 +.It Sy Plwp_getxregs Ta Sy Plwp_setfpregs
      272 +.It Sy Plwp_setregs Ta Sy Plwp_setxregs
      273 +.It Sy Plwp_stack Ta Sy ""
      274 +.El
 267  275  .Ss System Call Injection
 268  276  The following routines are used to inject specific system calls and have
 269  277  them run in the context of a process.
 270  278  .Bl -column -offset indent ".Sy Pmapping_iter_resolved" ".Sy Psymbol_iter_by_addr"
 271  279  .It Sy pr_access Ta Sy pr_close
 272  280  .It Sy pr_creat Ta Sy pr_door_info
 273  281  .It Sy pr_exit Ta Sy pr_fcntl
 274  282  .It Sy pr_fstat Ta Sy pr_fstat64
 275  283  .It Sy pr_fstatvfs Ta Sy pr_getitimer
 276  284  .It Sy pr_getpeername Ta Sy pr_getpeerucred
↓ open down ↓ 54 lines elided ↑ open up ↑
 331  339  library.
 332  340  .Bl -column -offset indent ".Sy Pmapping_iter_resolved" ".Sy Psymbol_iter_by_addr"
 333  341  .It Sy Pldt Ta Sy proc_get_ldt
 334  342  .El
 335  343  .Ss SPARC specific Routines
 336  344  The following functions are specific to the SPARC, 32-bit and 64-bit,
 337  345  versions of the
 338  346  .Nm
 339  347  library.
 340  348  .Bl -column -offset indent ".Sy Pmapping_iter_resolved" ".Sy Psymbol_iter_by_addr"
 341      -.It Sy Plwp_getgwindows Ta Sy Plwp_getxregs
 342      -.It Sy Plwp_setxregs Ta Sy ""
      349 +.It Sy Plwp_getgwindows Ta Sy ""
 343  350  .El
 344  351  .Pp
 345  352  The following functions are specific to the 64-bit SPARC version of the
 346  353  .Nm
 347  354  library.
 348  355  .Bl -column -offset indent ".Sy Pmapping_iter_resolved" ".Sy Psymbol_iter_by_addr"
 349  356  .It Sy Plwp_getasrs Ta Sy Plwp_setasrs
 350  357  .El
 351  358  .Sh PROCESS STATES
 352  359  Every process handle that exists in
↓ open down ↓ 1000 lines elided ↑ open up ↑
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX