Print this page
4474 DTrace Userland CTF Support
4475 DTrace userland Keyword
4476 DTrace tests should be better citizens
4479 pid provider types
4480 dof emulation missing checks
Reviewed by: Bryan Cantrill <bryan@joyent.com>

Split Close
Expand all
Collapse all
          --- old/usr/src/lib/libdtrace/common/dt_impl.h
          +++ new/usr/src/lib/libdtrace/common/dt_impl.h
↓ open down ↓ 125 lines elided ↑ open up ↑
 126  126          uint_t dm_aslen;        /* number of entries in dm_asmap */
 127  127          uint_t dm_flags;        /* module flags (see below) */
 128  128          int dm_modid;           /* modinfo(1M) module identifier */
 129  129          GElf_Addr dm_text_va;   /* virtual address of text section */
 130  130          GElf_Xword dm_text_size; /* size in bytes of text section */
 131  131          GElf_Addr dm_data_va;   /* virtual address of data section */
 132  132          GElf_Xword dm_data_size; /* size in bytes of data section */
 133  133          GElf_Addr dm_bss_va;    /* virtual address of BSS */
 134  134          GElf_Xword dm_bss_size; /* size in bytes of BSS */
 135  135          dt_idhash_t *dm_extern; /* external symbol definitions */
      136 +        pid_t dm_pid;           /* pid for this module */
      137 +        uint_t dm_nctflibs;     /* number of ctf children libraries */
      138 +        ctf_file_t **dm_libctfp; /* process library ctf pointers */
      139 +        char **dm_libctfn;      /* names of process ctf containers */
 136  140  } dt_module_t;
 137  141  
 138  142  #define DT_DM_LOADED    0x1     /* module symbol and type data is loaded */
 139  143  #define DT_DM_KERNEL    0x2     /* module is associated with a kernel object */
 140  144  #define DT_DM_PRIMARY   0x4     /* module is a krtld primary kernel object */
 141  145  
 142  146  typedef struct dt_provmod {
 143  147          char *dp_name;                          /* name of provider module */
 144  148          struct dt_provmod *dp_next;             /* next module */
 145  149  } dt_provmod_t;
↓ open down ↓ 360 lines elided ↑ open up ↑
 506  510          EDT_BRICKED,            /* abort due to systemic unresponsiveness */
 507  511          EDT_HARDWIRE,           /* failed to load hard-wired definitions */
 508  512          EDT_ELFVERSION,         /* libelf is out-of-date w.r.t libdtrace */
 509  513          EDT_NOBUFFERED,         /* attempt to buffer output without handler */
 510  514          EDT_UNSTABLE,           /* description matched unstable set of probes */
 511  515          EDT_BADSETOPT,          /* invalid setopt library action */
 512  516          EDT_BADSTACKPC,         /* invalid stack program counter size */
 513  517          EDT_BADAGGVAR,          /* invalid aggregation variable identifier */
 514  518          EDT_OVERSION,           /* client is requesting deprecated version */
 515  519          EDT_ENABLING_ERR,       /* failed to enable probe */
 516      -        EDT_NOPROBES            /* no probes sites for declared provider */
      520 +        EDT_NOPROBES,           /* no probes sites for declared provider */
      521 +        EDT_CANTLOAD            /* failed to load a module */
 517  522  };
 518  523  
 519  524  /*
 520  525   * Interfaces for parsing and comparing DTrace attribute tuples, which describe
 521  526   * stability and architectural binding information.  The dtrace_attribute_t
 522  527   * structure and associated constant definitions are found in <sys/dtrace.h>.
 523  528   */
 524  529  extern dtrace_attribute_t dt_attr_min(dtrace_attribute_t, dtrace_attribute_t);
 525  530  extern dtrace_attribute_t dt_attr_max(dtrace_attribute_t, dtrace_attribute_t);
 526  531  extern char *dt_attr_str(dtrace_attribute_t, char *, size_t);
↓ open down ↓ 146 lines elided ↑ open up ↑
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX