Print this page
OS-5192 need faster clock_gettime
Reviewed by: Jerry Jelinek <jerry.jelinek@joyent.com>
Reviewed by: Robert Mustacchi <rm@joyent.com>
Reviewed by: Joshua M. Clulow <jmc@joyent.com>
Reviewed by: Ryan Zezeski <ryan@zinascii.com>
OS-3405 lx brand: socket() fails for PF_INET6
OS-3382 lxbrand 64bit gettimeofday depends on vsyscall or vdso
OS-3280 need a way to specify the root of a native system in the lx brand
OS-3279 lx brand should allow delegated datasets
Reviewed by: Jerry Jelinek <jerry.jelinek@joyent.com>
OS-2949 add support for AT_RANDOM aux vector entry

Split Close
Expand all
Collapse all
          --- old/usr/src/cmd/ptools/pargs/pargs.c
          +++ new/usr/src/cmd/ptools/pargs/pargs.c
↓ open down ↓ 15 lines elided ↑ open up ↑
  16   16   * fields enclosed by brackets "[]" replaced with your own identifying
  17   17   * information: Portions Copyright [yyyy] [name of copyright owner]
  18   18   *
  19   19   * CDDL HEADER END
  20   20   */
  21   21  /*
  22   22   * Copyright 2007 Sun Microsystems, Inc.  All rights reserved.
  23   23   * Use is subject to license terms.
  24   24   */
  25   25  /*
  26      - * Copyright (c) 2013, Joyent, Inc.  All rights reserved.
       26 + * Copyright 2016 Joyent, Inc.
  27   27   */
  28   28  
  29   29  /*
  30   30   * pargs examines and prints the arguments (argv), environment (environ),
  31   31   * and auxiliary vector of another process.
  32   32   *
  33   33   * This utility is made more complex because it must run in internationalized
  34   34   * environments.  The two key cases for pargs to manage are:
  35   35   *
  36   36   * 1. pargs and target run in the same locale: pargs must respect the
↓ open down ↓ 753 lines elided ↑ open up ↑
 790  790          { AT_NULL,              "AT_NULL",              at_null },
 791  791          { AT_IGNORE,            "AT_IGNORE",            at_null },
 792  792          { AT_EXECFD,            "AT_EXECFD",            at_null },
 793  793          { AT_PHDR,              "AT_PHDR",              at_null },
 794  794          { AT_PHENT,             "AT_PHENT",             at_null },
 795  795          { AT_PHNUM,             "AT_PHNUM",             at_null },
 796  796          { AT_PAGESZ,            "AT_PAGESZ",            at_null },
 797  797          { AT_BASE,              "AT_BASE",              at_null },
 798  798          { AT_FLAGS,             "AT_FLAGS",             at_null },
 799  799          { AT_ENTRY,             "AT_ENTRY",             at_null },
      800 +        { AT_RANDOM,            "AT_RANDOM",            at_null },
 800  801          { AT_SUN_UID,           "AT_SUN_UID",           at_uid  },
 801  802          { AT_SUN_RUID,          "AT_SUN_RUID",          at_uid  },
 802  803          { AT_SUN_GID,           "AT_SUN_GID",           at_gid  },
 803  804          { AT_SUN_RGID,          "AT_SUN_RGID",          at_gid  },
 804  805          { AT_SUN_LDELF,         "AT_SUN_LDELF",         at_null },
 805  806          { AT_SUN_LDSHDR,        "AT_SUN_LDSHDR",        at_null },
 806  807          { AT_SUN_LDNAME,        "AT_SUN_LDNAME",        at_null },
 807  808          { AT_SUN_LPAGESZ,       "AT_SUN_LPAGESZ",       at_null },
 808  809          { AT_SUN_PLATFORM,      "AT_SUN_PLATFORM",      at_str  },
 809  810          { AT_SUN_EXECNAME,      "AT_SUN_EXECNAME",      at_str  },
 810  811          { AT_SUN_HWCAP,         "AT_SUN_HWCAP",         at_hwcap },
 811  812          { AT_SUN_HWCAP2,        "AT_SUN_HWCAP2",        at_hwcap2 },
 812  813          { AT_SUN_IFLUSH,        "AT_SUN_IFLUSH",        at_null },
 813  814          { AT_SUN_CPU,           "AT_SUN_CPU",           at_null },
 814  815          { AT_SUN_MMU,           "AT_SUN_MMU",           at_null },
 815  816          { AT_SUN_LDDATA,        "AT_SUN_LDDATA",        at_null },
 816  817          { AT_SUN_AUXFLAGS,      "AT_SUN_AUXFLAGS",      at_flags },
 817  818          { AT_SUN_EMULATOR,      "AT_SUN_EMULATOR",      at_str  },
 818  819          { AT_SUN_BRANDNAME,     "AT_SUN_BRANDNAME",     at_str  },
      820 +        { AT_SUN_BRAND_NROOT,   "AT_SUN_BRAND_NROOT",   at_str  },
 819  821          { AT_SUN_BRAND_AUX1,    "AT_SUN_BRAND_AUX1",    at_null },
 820  822          { AT_SUN_BRAND_AUX2,    "AT_SUN_BRAND_AUX2",    at_null },
 821      -        { AT_SUN_BRAND_AUX3,    "AT_SUN_BRAND_AUX3",    at_null }
      823 +        { AT_SUN_BRAND_AUX3,    "AT_SUN_BRAND_AUX3",    at_null },
      824 +        { AT_SUN_BRAND_AUX4,    "AT_SUN_BRAND_AUX4",    at_null },
      825 +        { AT_SUN_COMMPAGE,      "AT_SUN_COMMPAGE",      at_null }
 822  826  };
 823  827  
 824  828  #define N_AT_ENTS (sizeof (aux_arr) / sizeof (struct aux_id))
 825  829  
 826  830  /*
 827  831   * Return the aux_id entry for the given aux type; returns NULL if not found.
 828  832   */
 829  833  static struct aux_id *
 830  834  aux_find(int type)
 831  835  {
↓ open down ↓ 736 lines elided ↑ open up ↑
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX