Print this page
1730 DTrace should ignore type information from modules with cth_parlabel mismatches
Reviewed by: Keith Wesolowski <keith.wesolowski@joyent.com>
Reviewed by: Adam Leventhal <ahl@delphix.com>


 513         EDT_DROPABORT,          /* abort due to drop */
 514         EDT_DIRABORT,           /* abort explicitly directed */
 515         EDT_BADRVAL,            /* invalid return value from callback */
 516         EDT_BADNORMAL,          /* invalid normalization */
 517         EDT_BUFTOOSMALL,        /* enabling exceeds size of buffer */
 518         EDT_BADTRUNC,           /* invalid truncation */
 519         EDT_BUSY,               /* device busy (active kernel debugger) */
 520         EDT_ACCESS,             /* insufficient privileges to use DTrace */
 521         EDT_NOENT,              /* dtrace device not available */
 522         EDT_BRICKED,            /* abort due to systemic unresponsiveness */
 523         EDT_HARDWIRE,           /* failed to load hard-wired definitions */
 524         EDT_ELFVERSION,         /* libelf is out-of-date w.r.t libdtrace */
 525         EDT_NOBUFFERED,         /* attempt to buffer output without handler */
 526         EDT_UNSTABLE,           /* description matched unstable set of probes */
 527         EDT_BADSETOPT,          /* invalid setopt library action */
 528         EDT_BADSTACKPC,         /* invalid stack program counter size */
 529         EDT_BADAGGVAR,          /* invalid aggregation variable identifier */
 530         EDT_OVERSION,           /* client is requesting deprecated version */
 531         EDT_ENABLING_ERR,       /* failed to enable probe */
 532         EDT_NOPROBES,           /* no probes sites for declared provider */
 533         EDT_CANTLOAD            /* failed to load a module */

 534 };
 535 
 536 /*
 537  * Interfaces for parsing and comparing DTrace attribute tuples, which describe
 538  * stability and architectural binding information.  The dtrace_attribute_t
 539  * structure and associated constant definitions are found in <sys/dtrace.h>.
 540  */
 541 extern dtrace_attribute_t dt_attr_min(dtrace_attribute_t, dtrace_attribute_t);
 542 extern dtrace_attribute_t dt_attr_max(dtrace_attribute_t, dtrace_attribute_t);
 543 extern char *dt_attr_str(dtrace_attribute_t, char *, size_t);
 544 extern int dt_attr_cmp(dtrace_attribute_t, dtrace_attribute_t);
 545 
 546 /*
 547  * Interfaces for parsing and handling DTrace version strings.  Version binding
 548  * is a feature of the D compiler that is handled completely independently of
 549  * the DTrace kernel infrastructure, so the definitions are here in libdtrace.
 550  * Version strings are compiled into an encoded uint32_t which can be compared
 551  * using C comparison operators.  Version definitions are found in dt_open.c.
 552  */
 553 #define DT_VERSION_STRMAX       16      /* enough for "255.4095.4095\0" */




 513         EDT_DROPABORT,          /* abort due to drop */
 514         EDT_DIRABORT,           /* abort explicitly directed */
 515         EDT_BADRVAL,            /* invalid return value from callback */
 516         EDT_BADNORMAL,          /* invalid normalization */
 517         EDT_BUFTOOSMALL,        /* enabling exceeds size of buffer */
 518         EDT_BADTRUNC,           /* invalid truncation */
 519         EDT_BUSY,               /* device busy (active kernel debugger) */
 520         EDT_ACCESS,             /* insufficient privileges to use DTrace */
 521         EDT_NOENT,              /* dtrace device not available */
 522         EDT_BRICKED,            /* abort due to systemic unresponsiveness */
 523         EDT_HARDWIRE,           /* failed to load hard-wired definitions */
 524         EDT_ELFVERSION,         /* libelf is out-of-date w.r.t libdtrace */
 525         EDT_NOBUFFERED,         /* attempt to buffer output without handler */
 526         EDT_UNSTABLE,           /* description matched unstable set of probes */
 527         EDT_BADSETOPT,          /* invalid setopt library action */
 528         EDT_BADSTACKPC,         /* invalid stack program counter size */
 529         EDT_BADAGGVAR,          /* invalid aggregation variable identifier */
 530         EDT_OVERSION,           /* client is requesting deprecated version */
 531         EDT_ENABLING_ERR,       /* failed to enable probe */
 532         EDT_NOPROBES,           /* no probes sites for declared provider */
 533         EDT_CANTLOAD,           /* failed to load a module */
 534         EDT_BADCTF              /* module contains invalid CTF */
 535 };
 536 
 537 /*
 538  * Interfaces for parsing and comparing DTrace attribute tuples, which describe
 539  * stability and architectural binding information.  The dtrace_attribute_t
 540  * structure and associated constant definitions are found in <sys/dtrace.h>.
 541  */
 542 extern dtrace_attribute_t dt_attr_min(dtrace_attribute_t, dtrace_attribute_t);
 543 extern dtrace_attribute_t dt_attr_max(dtrace_attribute_t, dtrace_attribute_t);
 544 extern char *dt_attr_str(dtrace_attribute_t, char *, size_t);
 545 extern int dt_attr_cmp(dtrace_attribute_t, dtrace_attribute_t);
 546 
 547 /*
 548  * Interfaces for parsing and handling DTrace version strings.  Version binding
 549  * is a feature of the D compiler that is handled completely independently of
 550  * the DTrace kernel infrastructure, so the definitions are here in libdtrace.
 551  * Version strings are compiled into an encoded uint32_t which can be compared
 552  * using C comparison operators.  Version definitions are found in dt_open.c.
 553  */
 554 #define DT_VERSION_STRMAX       16      /* enough for "255.4095.4095\0" */