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/lib/libproc/common/mapfile-vers
          +++ new/usr/src/lib/libproc/common/mapfile-vers
↓ open down ↓ 17 lines elided ↑ open up ↑
  18   18  #
  19   19  # CDDL HEADER END
  20   20  #
  21   21  #
  22   22  # Copyright (c) 2006, 2010, Oracle and/or its affiliates. All rights reserved.
  23   23  # Copyright 2012 DEY Storage Systems, Inc.  All rights reserved.
  24   24  # Copyright 2018 Joyent, Inc.
  25   25  # Copyright (c) 2013 by Delphix. All rights reserved.
  26   26  # Copyright (c) 2019 Carlos Neira <cneirabustos@gmail.com>
  27   27  # Copyright 2020 OmniOS Community Edition (OmniOSce) Association.
       28 +# Copyright 2023 Oxide Computer Company
  28   29  #
  29   30  
  30   31  #
  31   32  # MAPFILE HEADER START
  32   33  #
  33   34  # WARNING:  STOP NOW.  DO NOT MODIFY THIS FILE.
  34   35  # Object versioning must comply with the rules detailed in
  35   36  #
  36   37  #       usr/src/lib/README.mapfiles
  37   38  #
↓ open down ↓ 31 lines elided ↑ open up ↑
  69   70  
  70   71  SYMBOL_VERSION SUNWprivate_1.1 {
  71   72      global:
  72   73          Lalt_stack;
  73   74          Lclearfault;
  74   75          Lclearsig;
  75   76          Lctlfd;
  76   77          Ldstop;
  77   78          Lfree;
  78   79          Lgetareg;
       80 +        Lgetfpregs;
       81 +        Lgetregs;
       82 +        Lgetxregs;
  79   83          Lgrab;
  80   84          Lgrab_error;
  81   85          _libproc_debug  { ASSERT = { TYPE = OBJECT; SIZE = 4; }; };
  82   86          Lmain_stack;
  83   87          Lprochandle;
  84   88          Lpsinfo;
  85   89          Lputareg;
       90 +        Lsetfpregs;
       91 +        Lsetregs;
  86   92          Lsetrun;
       93 +        Lsetxregs;
  87   94          Lstack;
  88   95          Lstate;
  89   96          Lstatus;
  90   97          Lstop;
  91   98          Lsync;
  92   99          Lwait;
  93  100          Lxecbkpt;
  94  101          Lxecwapt;
  95  102          Paddr_to_ctf;
  96  103          Paddr_to_loadobj;
↓ open down ↓ 33 lines elided ↑ open up ↑
 130  137          Pisprocdir;
 131  138          Pissyscall;
 132  139          Pissyscall_prev;
 133  140          Plmid;
 134  141          Plmid_to_ctf;
 135  142          Plmid_to_loadobj;
 136  143          Plmid_to_map;
 137  144          Plookup_by_addr;
 138  145          Plookup_by_name;
 139  146          Plwp_alt_stack;
      147 +        Plwp_freexregs;
 140  148          Plwp_getfpregs;
 141  149          Plwp_getname;
 142  150          Plwp_getpsinfo;
 143  151          Plwp_getregs;
 144  152          Plwp_getspymaster;
      153 +        Plwp_getxregs;
 145  154          Plwp_iter;
 146  155          Plwp_iter_all;
 147  156          Plwp_main_stack;
 148  157          Plwp_setfpregs;
 149  158          Plwp_setregs;
      159 +        Plwp_setxregs;
 150  160          Plwp_stack;
 151  161          Pmapping_iter;
 152  162          Pmapping_iter_resolved;
 153  163          Pname_to_ctf;
 154  164          Pname_to_loadobj;
 155  165          Pname_to_map;
 156  166          Pobject_iter;
 157  167          Pobject_iter_resolved;
 158  168          Pobjname;
 159  169          Pobjname_resolved;
↓ open down ↓ 105 lines elided ↑ open up ↑
 265  275          Psetrun;
 266  276          Psetsignal;
 267  277          Psetsysentry;
 268  278          Psetsysexit;
 269  279          Psetwapt;
 270  280          Psetzoneid;
 271  281          Psignal;
 272  282          ps_lcontinue;
 273  283          ps_lgetfpregs;
 274  284          ps_lgetregs;
      285 +        ps_lgetxregs;
      286 +        ps_lgetxregsize;
 275  287          ps_lsetfpregs;
 276  288          ps_lsetregs;
      289 +        ps_lsetxregs;
 277  290          ps_lstop;
 278  291          ps_pauxv;
 279  292          ps_pbrandname;
 280  293          ps_pcontinue;
 281  294          ps_pdmodel;
 282  295          ps_pdread       { FLAGS = NODYNSORT; }; # Alias of ps_pread
 283  296          ps_pdwrite      { FLAGS = NODYNSORT; }; # Alias of ps_pwrite
 284  297          ps_pglobal_lookup;
 285  298          ps_pglobal_sym;
 286  299          ps_plog;
↓ open down ↓ 38 lines elided ↑ open up ↑
 325  338          Pfdinfo_iter;
 326  339  
 327  340  $if _x86 && _ELF32
 328  341          Pldt;
 329  342          proc_get_ldt;
 330  343          ps_lgetLDT;
 331  344  $endif
 332  345  
 333  346  $if _sparc
 334  347          Plwp_getgwindows;
 335      -        Plwp_getxregs;
 336      -        Plwp_setxregs;
 337      -        ps_lgetxregs;
 338      -        ps_lgetxregsize;
 339      -        ps_lsetxregs;
 340      -
 341  348  $if _ELF64
 342  349          Plwp_getasrs;
 343  350          Plwp_setasrs;
 344  351  $endif
 345  352  $endif
 346  353  
 347  354      local:
 348  355          *;
 349  356  };
    
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX