├── APPLE_LICENSE ├── DTTk ├── Apps │ └── Readme ├── Cpu │ ├── Readme │ ├── cpuwalk.d │ ├── dispqlen.d │ └── loads.d ├── Disk │ ├── Readme │ ├── bitesize.d │ ├── hotspot.d │ ├── iofile.d │ ├── iofileb.d │ ├── iopattern │ ├── iopending │ └── seeksize.d ├── Docs │ ├── Contents │ ├── Examples │ │ ├── bitesize_example.txt │ │ ├── cpuwalk_example.txt │ │ ├── creatbyproc_example.txt │ │ ├── dappprof_example.txt │ │ ├── dapptrace_example.txt │ │ ├── dexplorer_example.txt │ │ ├── dispqlen_example.txt │ │ ├── dtruss_example.txt │ │ ├── errinfo_example.txt │ │ ├── execsnoop_example.txt │ │ ├── fddist_example.txt │ │ ├── filebyproc_example.txt │ │ ├── hotspot_example.txt │ │ ├── intbycpu_example.txt │ │ ├── iofile_example.txt │ │ ├── iofileb_example.txt │ │ ├── iopattern_example.txt │ │ ├── iopending_example.txt │ │ ├── iosnoop_example.txt │ │ ├── iotop_example.txt │ │ ├── kill_example.txt │ │ ├── lastwords_example.txt │ │ ├── loads_example.txt │ │ ├── lockbydist_example.txt │ │ ├── lockbyproc_example.txt │ │ ├── newproc_example.txt │ │ ├── oneliners_examples.txt │ │ ├── opensnoop_example.txt │ │ ├── pathopens_example.txt │ │ ├── pidpersec_example.txt │ │ ├── priclass_example.txt │ │ ├── pridist_example.txt │ │ ├── procsystime_example.txt │ │ ├── rwbypid_example.txt │ │ ├── rwbytype_example.txt │ │ ├── rwsnoop_example.txt │ │ ├── rwtop_example.txt │ │ ├── sampleproc_example.txt │ │ ├── seeksize_example.txt │ │ ├── setuids_example.txt │ │ ├── sigdist_example.txt │ │ ├── syscallbypid_example.txt │ │ ├── syscallbyproc_example.txt │ │ ├── syscallbysysc_example.txt │ │ ├── tcpsnoop_example.txt │ │ ├── topsyscall_example.txt │ │ ├── topsysproc_example.txt │ │ └── vmstat_example.txt │ ├── Faq │ ├── History │ ├── Links │ ├── Maintainer │ ├── Notes │ │ ├── ALLsnoop_notes.txt │ │ ├── cputimes_notes.txt │ │ ├── dappprof_notes.txt │ │ ├── dapptrace_notes.txt │ │ ├── dtruss_notes.txt │ │ ├── iosnoop_notes.txt │ │ ├── iotop_notes.txt │ │ └── procsystime_notes.txt │ ├── Readme │ ├── ToDo │ ├── Who │ ├── cddl1.txt │ └── oneliners.txt ├── Guide ├── Kernel │ ├── Readme │ ├── priclass.d │ └── pridist.d ├── Locks │ ├── lockbydist.d │ └── lockbyproc.d ├── Man │ └── man1m │ │ ├── bitesize.d.1m │ │ ├── cpuwalk.d.1m │ │ ├── creatbyproc.d.1m │ │ ├── dappprof.1m │ │ ├── dapptrace.1m │ │ ├── dispqlen.d.1m │ │ ├── dtruss.1m │ │ ├── errinfo.1m │ │ ├── execsnoop.1m │ │ ├── fddist.1m │ │ ├── filebyproc.d.1m │ │ ├── hotspot.d.1m │ │ ├── iofile.d.1m │ │ ├── iofileb.d.1m │ │ ├── iopattern.1m │ │ ├── iopending.1m │ │ ├── iosnoop.1m │ │ ├── iotop.1m │ │ ├── kill.d.1m │ │ ├── lastwords.1m │ │ ├── loads.d.1m │ │ ├── newproc.d.1m │ │ ├── opensnoop.1m │ │ ├── pathopens.d.1m │ │ ├── pidpersec.d.1m │ │ ├── priclass.d.1m │ │ ├── pridist.d.1m │ │ ├── procsystime.1m │ │ ├── rwbypid.d.1m │ │ ├── rwbytype.d.1m │ │ ├── rwsnoop.1m │ │ ├── rwtop.1m │ │ ├── sampleproc.1m │ │ ├── seeksize.d.1m │ │ ├── setuids.d.1m │ │ ├── sigdist.d.1m │ │ ├── syscallbypid.d.1m │ │ ├── syscallbyproc.d.1m │ │ ├── syscallbysysc.d.1m │ │ ├── topsyscall.1m │ │ └── topsysproc.1m ├── Proc │ ├── Readme │ ├── creatbyproc.d │ ├── fddist │ ├── filebyproc.d │ ├── kill.d │ ├── lastwords │ ├── newproc.d │ ├── pathopens.d │ ├── pidpersec.d │ ├── rwbypid.d │ ├── rwbytype.d │ ├── sampleproc │ ├── sigdist.d │ ├── syscallbypid.d │ ├── syscallbyproc.d │ └── topsysproc ├── System │ ├── Readme │ ├── syscallbysysc.d │ └── topsyscall ├── User │ ├── Readme │ └── setuids.d ├── Version ├── dappprof ├── dapptrace ├── dexplorer ├── dtruss ├── errinfo ├── execsnoop ├── install ├── iosnoop ├── iotop ├── opensnoop ├── procsystime ├── rwsnoop └── rwtop ├── FileOrigins ├── XCTests └── ctf-test │ ├── ctf_id.swift │ ├── ctf_lib.swift │ ├── ctf_lookup.swift │ └── ctf_test_bridge.h ├── cmd ├── dtrace │ ├── dtrace-entitlements.plist │ ├── dtrace.1 │ └── dtrace.c ├── lockstat │ ├── lockstat.1 │ ├── lockstat.c │ └── sym.c ├── plockstat │ ├── plockstat.1 │ └── plockstat.c └── usdtheadergen │ └── usdtheadergen.c ├── compat └── opensolaris │ ├── darwin_shim.c │ ├── darwin_shim.h │ ├── rtld_db.h │ └── sys │ ├── bitmap.h │ ├── ctf.h │ ├── ctf_api.h │ ├── elf.h │ ├── elftypes.h │ └── link.h ├── config ├── base.xcconfig ├── com.apple.dtrace.plist ├── ctftools.xcconfig ├── dtrace.xcconfig ├── dtrace_executable.xcconfig ├── dtrace_local_executable.xcconfig ├── libctf.xcconfig ├── libdtrace.xcconfig ├── static.xcconfig ├── test_executable.xcconfig ├── tests │ ├── test_io.xcconfig │ ├── test_json.xcconfig │ ├── test_lib.xcconfig │ ├── test_objc.xcconfig │ ├── test_perf.xcconfig │ ├── test_pid.xcconfig │ ├── test_pid_i386.xcconfig │ ├── test_probes.xcconfig │ ├── test_processcontrol.xcconfig │ ├── test_raise.xcconfig │ ├── test_stop.xcconfig │ ├── test_types.xcconfig │ ├── test_usdt_apple.xcconfig │ ├── test_ustack.xcconfig │ └── tst.has_initializers.exe.xcconfig └── usdtheadergen.xcconfig ├── dtrace.plist ├── dtrace.txt ├── dtrace.xcodeproj ├── project.pbxproj └── project.xcworkspace │ └── xcshareddata │ └── WorkspaceSettings.xcsettings ├── include ├── llvm-ADT │ ├── DenseMap.h │ ├── DenseMapInfo.h │ ├── DenseSet.h │ └── EpochTracker.h └── llvm-Support │ ├── AlignOf.h │ ├── Compiler.h │ ├── DataTypes.h │ ├── MathExtras.h │ ├── PointerLikeTypeTraits.h │ ├── ReverseIteration.h │ └── type_traits.h ├── lib ├── libctf │ └── common │ │ ├── ctf_create.c │ │ ├── ctf_decl.c │ │ ├── ctf_error.c │ │ ├── ctf_hash.c │ │ ├── ctf_impl.h │ │ ├── ctf_labels.c │ │ ├── ctf_lib.c │ │ ├── ctf_lookup.c │ │ ├── ctf_open.c │ │ ├── ctf_subr.c │ │ ├── ctf_types.c │ │ ├── ctf_util.c │ │ └── libctf.h ├── libdtrace │ ├── apple │ │ ├── dt_ld.cpp │ │ ├── dt_module_apple.c │ │ ├── dt_pid_apple.c │ │ ├── dt_proc_apple.c │ │ ├── dt_provider_apple.c │ │ └── dt_subr_apple.c │ ├── arm │ │ └── dt_isadep.c │ ├── common │ │ ├── dt_aggregate.c │ │ ├── dt_as.c │ │ ├── dt_as.h │ │ ├── dt_buf.c │ │ ├── dt_buf.h │ │ ├── dt_cc.c │ │ ├── dt_cg.c │ │ ├── dt_consume.c │ │ ├── dt_decl.c │ │ ├── dt_decl.h │ │ ├── dt_dis.c │ │ ├── dt_dof.c │ │ ├── dt_dof.h │ │ ├── dt_error.c │ │ ├── dt_errtags.c │ │ ├── dt_errtags.h │ │ ├── dt_grammar.h │ │ ├── dt_grammar.y │ │ ├── dt_handle.c │ │ ├── dt_ident.c │ │ ├── dt_ident.h │ │ ├── dt_impl.h │ │ ├── dt_inttab.c │ │ ├── dt_inttab.h │ │ ├── dt_ld.h │ │ ├── dt_lex.l │ │ ├── dt_list.c │ │ ├── dt_list.h │ │ ├── dt_map.c │ │ ├── dt_module.c │ │ ├── dt_module.h │ │ ├── dt_names.c │ │ ├── dt_open.c │ │ ├── dt_options.c │ │ ├── dt_parser.c │ │ ├── dt_parser.h │ │ ├── dt_pcb.c │ │ ├── dt_pcb.h │ │ ├── dt_pid.c │ │ ├── dt_pid.h │ │ ├── dt_pq.c │ │ ├── dt_pq.h │ │ ├── dt_pragma.c │ │ ├── dt_print.c │ │ ├── dt_printf.c │ │ ├── dt_printf.h │ │ ├── dt_proc.c │ │ ├── dt_proc.h │ │ ├── dt_program.c │ │ ├── dt_program.h │ │ ├── dt_provider.c │ │ ├── dt_provider.h │ │ ├── dt_regset.c │ │ ├── dt_regset.h │ │ ├── dt_string.c │ │ ├── dt_string.h │ │ ├── dt_strtab.c │ │ ├── dt_strtab.h │ │ ├── dt_subr.c │ │ ├── dt_sugar.c │ │ ├── dt_work.c │ │ ├── dt_xlator.c │ │ ├── dt_xlator.h │ │ ├── dtrace.h │ │ ├── mkerrtags.sh │ │ └── mknames.sh │ ├── exports │ └── i386 │ │ ├── dis_tables.c │ │ ├── dis_tables.h │ │ └── dt_isadep.c ├── libdwarf │ ├── CHANGES │ ├── COPYING │ ├── ChangeLog │ ├── LIBDWARFCOPYRIGHT │ ├── NEWS │ ├── README │ ├── cmplrs │ │ └── dwarf_addr_finder.h │ ├── config.h │ ├── config.h.in │ ├── dwarf.h │ ├── dwarf_abbrev.c │ ├── dwarf_abbrev.h │ ├── dwarf_addr_finder.c │ ├── dwarf_alloc.c │ ├── dwarf_alloc.h │ ├── dwarf_arange.c │ ├── dwarf_arange.h │ ├── dwarf_base_types.h │ ├── dwarf_die_deliv.c │ ├── dwarf_die_deliv.h │ ├── dwarf_error.c │ ├── dwarf_error.h │ ├── dwarf_form.c │ ├── dwarf_frame.c │ ├── dwarf_frame.h │ ├── dwarf_frame2.c │ ├── dwarf_frame3.c │ ├── dwarf_funcs.c │ ├── dwarf_funcs.h │ ├── dwarf_global.c │ ├── dwarf_global.h │ ├── dwarf_incl.h │ ├── dwarf_init_finish.c │ ├── dwarf_leb.c │ ├── dwarf_line.c │ ├── dwarf_line.h │ ├── dwarf_line2.c │ ├── dwarf_loc.c │ ├── dwarf_loc.h │ ├── dwarf_macro.c │ ├── dwarf_macro.h │ ├── dwarf_opaque.h │ ├── dwarf_print_lines.c │ ├── dwarf_pubtypes.c │ ├── dwarf_query.c │ ├── dwarf_sort_line.c │ ├── dwarf_string.c │ ├── dwarf_types.c │ ├── dwarf_types.h │ ├── dwarf_util.c │ ├── dwarf_util.h │ ├── dwarf_vars.c │ ├── dwarf_vars.h │ ├── dwarf_weaks.c │ ├── dwarf_weaks.h │ ├── libdwarf.h │ ├── libdwarfdefs.h │ ├── malloc_check.c │ └── malloc_check.h ├── libelf │ ├── begin.c │ ├── clscook.c │ ├── clscook_ELF64.c │ ├── cntl.c │ ├── cook.c │ ├── data.c │ ├── decl.h │ ├── end.c │ ├── error.c │ ├── gelf.c │ ├── gelf.h │ ├── getdata.c │ ├── getehdr.c │ ├── getident.c │ ├── getscn.c │ ├── getshdr.c │ ├── getshstrndx.c │ ├── input.c │ ├── kind.c │ ├── libelf.h │ ├── machelf.h │ ├── msg.h │ ├── ndxscn.c │ ├── nextscn.c │ ├── strptr.c │ ├── xlate.c │ └── xlate64.c └── libproc │ ├── libproc.c │ ├── libproc.h │ ├── libproc_apple.h │ └── procfs.h ├── scripts ├── dof.py ├── dt_cpp.h ├── procfs.d ├── swift_arm.d ├── swift_arm64.d └── swift_x86_64.d ├── test ├── cmd │ ├── baddof │ │ └── baddof.c │ ├── badioctl │ │ └── badioctl.c │ ├── chkargs │ │ └── chkargs.c │ ├── chksyms │ │ └── chksyms.c │ └── scripts │ │ ├── dstyle.pl │ │ └── dtest.pl └── tst │ ├── common │ ├── AllTests │ ├── NoSafetyTests │ ├── NoSafetyTests.Bridge_OS │ ├── NoSafetyTests.arm │ ├── QuickTests │ ├── QuickTests.Bridge_OS │ ├── SafetyTests │ ├── aggs │ │ ├── err.D_AGG_FUNC.bad.d │ │ ├── err.D_AGG_MDIM.bad.d │ │ ├── err.D_AGG_NULL.bad.d │ │ ├── err.D_AGG_REDEF.redef.d │ │ ├── err.D_AGG_SCALAR.avgtoofew.d │ │ ├── err.D_AGG_SCALAR.maxnoarg.d │ │ ├── err.D_AGG_SCALAR.mintoofew.d │ │ ├── err.D_AGG_SCALAR.quantizetoofew.d │ │ ├── err.D_AGG_SCALAR.sumtoofew.d │ │ ├── err.D_CLEAR_AGGARG.bad.d │ │ ├── err.D_CLEAR_PROTO.bad.d │ │ ├── err.D_FUNC_IDENT.bad.d │ │ ├── err.D_FUNC_UNDEF.badaggfunc.d │ │ ├── err.D_IDENT_UNDEF.badexpr.d │ │ ├── err.D_IDENT_UNDEF.badkey3.d │ │ ├── err.D_IDENT_UNDEF.noeffect.d │ │ ├── err.D_KEY_TYPE.badkey1.d │ │ ├── err.D_KEY_TYPE.badkey2.d │ │ ├── err.D_KEY_TYPE.badkey4.d │ │ ├── err.D_LLQUANT_FACTOREVEN.nodivide.d │ │ ├── err.D_LLQUANT_FACTOREVEN.notfactor.d │ │ ├── err.D_LLQUANT_FACTORMATCH.d │ │ ├── err.D_LLQUANT_FACTORNSTEPS.d │ │ ├── err.D_LLQUANT_FACTORSMALL.d │ │ ├── err.D_LLQUANT_FACTORTYPE.d │ │ ├── err.D_LLQUANT_FACTORVAL.d │ │ ├── err.D_LLQUANT_HIGHMATCH.d │ │ ├── err.D_LLQUANT_HIGHTYPE.d │ │ ├── err.D_LLQUANT_HIGHVAL.d │ │ ├── err.D_LLQUANT_LOWMATCH.d │ │ ├── err.D_LLQUANT_LOWTYPE.d │ │ ├── err.D_LLQUANT_LOWVAL.d │ │ ├── err.D_LLQUANT_MAGRANGE.d │ │ ├── err.D_LLQUANT_MAGTOOBIG.d │ │ ├── err.D_LLQUANT_NSTEPMATCH.d │ │ ├── err.D_LLQUANT_NSTEPTYPE.d │ │ ├── err.D_LLQUANT_NSTEPVAL.d │ │ ├── err.D_LQUANT_BASETYPE.lqbad1.d │ │ ├── err.D_LQUANT_BASETYPE.lqshort.d │ │ ├── err.D_LQUANT_BASEVAL.bad.d │ │ ├── err.D_LQUANT_LIMTYPE.lqbad1.d │ │ ├── err.D_LQUANT_LIMVAL.bad.d │ │ ├── err.D_LQUANT_MATCHBASE.d │ │ ├── err.D_LQUANT_MATCHBASE.order.d │ │ ├── err.D_LQUANT_MATCHLIM.d │ │ ├── err.D_LQUANT_MATCHLIM.order.d │ │ ├── err.D_LQUANT_MATCHSTEP.d │ │ ├── err.D_LQUANT_MISMATCH.lqbadarg.d │ │ ├── err.D_LQUANT_STEPLARGE.lqtoofew.d │ │ ├── err.D_LQUANT_STEPSMALL.bad.d │ │ ├── err.D_LQUANT_STEPTYPE.lqbadinc.d │ │ ├── err.D_LQUANT_STEPVAL.bad.d │ │ ├── err.D_NORMALIZE_AGGARG.bad.d │ │ ├── err.D_NORMALIZE_PROTO.bad.d │ │ ├── err.D_NORMALIZE_SCALAR.bad.d │ │ ├── err.D_PROTO_ARG.lquantizetoofew.d │ │ ├── err.D_PROTO_LEN.avgnoarg.d │ │ ├── err.D_PROTO_LEN.avgtoomany.d │ │ ├── err.D_PROTO_LEN.counttoomany.d │ │ ├── err.D_PROTO_LEN.lquantizenoarg.d │ │ ├── err.D_PROTO_LEN.lquantizetoomany.d │ │ ├── err.D_PROTO_LEN.maxnoarg.d │ │ ├── err.D_PROTO_LEN.maxtoomany.d │ │ ├── err.D_PROTO_LEN.minnoarg.d │ │ ├── err.D_PROTO_LEN.mintoomany.d │ │ ├── err.D_PROTO_LEN.quantizenoarg.d │ │ ├── err.D_PROTO_LEN.quantizetoomany.d │ │ ├── err.D_PROTO_LEN.sumnoarg.d │ │ ├── err.D_PROTO_LEN.sumtoomany.d │ │ ├── err.D_TRUNC_AGGARG.bad.d │ │ ├── err.D_TRUNC_PROTO.badmany.d │ │ ├── err.D_TRUNC_PROTO.badnone.d │ │ ├── err.D_TRUNC_SCALAR.bad.d │ │ ├── tst.aggencoding.d │ │ ├── tst.aggencoding.d.out │ │ ├── tst.agghist.d │ │ ├── tst.agghist.d.out │ │ ├── tst.aggpack.d │ │ ├── tst.aggpack.d.out │ │ ├── tst.aggpackbanner.ksh │ │ ├── tst.aggpackbanner.ksh.out │ │ ├── tst.aggpackzoom.d │ │ ├── tst.aggpackzoom.d.out │ │ ├── tst.aggzoom.d │ │ ├── tst.aggzoom.d.out │ │ ├── tst.allquant.d │ │ ├── tst.allquant.d.out │ │ ├── tst.avg.d │ │ ├── tst.avg.d.out │ │ ├── tst.clear.d │ │ ├── tst.clear.d.out │ │ ├── tst.clearavg.d │ │ ├── tst.clearavg.d.out │ │ ├── tst.clearavg2.d │ │ ├── tst.clearavg2.d.out │ │ ├── tst.cleardenormalize.d │ │ ├── tst.cleardenormalize.d.out │ │ ├── tst.clearlquantize.d │ │ ├── tst.clearlquantize.d.out │ │ ├── tst.clearnormalize.d │ │ ├── tst.clearnormalize.d.out │ │ ├── tst.count.d │ │ ├── tst.count.d.out │ │ ├── tst.count2.d │ │ ├── tst.count2.d.out │ │ ├── tst.count3.d │ │ ├── tst.denormalize.d │ │ ├── tst.denormalize.d.out │ │ ├── tst.denormalizeonly.d │ │ ├── tst.denormalizeonly.d.out │ │ ├── tst.fmtnormalize.d │ │ ├── tst.fmtnormalize.d.out │ │ ├── tst.forms.d │ │ ├── tst.forms.d.out │ │ ├── tst.goodkey.d │ │ ├── tst.keysort.d │ │ ├── tst.keysort.d.out │ │ ├── tst.llquantbases.d │ │ ├── tst.llquantbases.d.out │ │ ├── tst.llquantbasic.d │ │ ├── tst.llquantnegorder.d │ │ ├── tst.llquantnegorder.d.out │ │ ├── tst.llquantnegvalue.d │ │ ├── tst.llquantnegvalue.d.out │ │ ├── tst.llquantnormal.d │ │ ├── tst.llquantnormal.d.out │ │ ├── tst.llquantrange.d │ │ ├── tst.llquantrange.d.out │ │ ├── tst.llquantsteps.d │ │ ├── tst.llquantsteps.d.out │ │ ├── tst.llquanttrunc.d │ │ ├── tst.llquanttrunc.d.out │ │ ├── tst.lquantize.d │ │ ├── tst.lquantize.d.out │ │ ├── tst.lquantnormal.d │ │ ├── tst.lquantnormal.d.out │ │ ├── tst.lquantrange.d │ │ ├── tst.lquantrange.d.out │ │ ├── tst.lquantround.d │ │ ├── tst.lquantround.d.out │ │ ├── tst.lquantzero.d │ │ ├── tst.lquantzero.d.out │ │ ├── tst.max.d │ │ ├── tst.max.d.out │ │ ├── tst.min.d │ │ ├── tst.min.d.out │ │ ├── tst.multiaggs1.d │ │ ├── tst.multiaggs2.d │ │ ├── tst.multiaggs2.d.out │ │ ├── tst.multiaggs3.d │ │ ├── tst.multiaggs3.d.out │ │ ├── tst.multinormalize.d │ │ ├── tst.multinormalize.d.out │ │ ├── tst.neglquant.d │ │ ├── tst.neglquant.d.out │ │ ├── tst.negorder.d │ │ ├── tst.negorder.d.out │ │ ├── tst.negquant.d │ │ ├── tst.negquant.d.out │ │ ├── tst.negtrunc.d │ │ ├── tst.negtrunc.d.out │ │ ├── tst.negtruncquant.d │ │ ├── tst.negtruncquant.d.out │ │ ├── tst.normalize.d │ │ ├── tst.normalize.d.out │ │ ├── tst.order.d │ │ ├── tst.order.d.out │ │ ├── tst.quantize.d │ │ ├── tst.quantize.d.out │ │ ├── tst.quantmany.d │ │ ├── tst.quantmany.d.out │ │ ├── tst.quantround.d │ │ ├── tst.quantround.d.out │ │ ├── tst.quantzero.d │ │ ├── tst.quantzero.d.out │ │ ├── tst.signature.d │ │ ├── tst.stddev.d │ │ ├── tst.stddev.d.out │ │ ├── tst.stddev.normalize.d │ │ ├── tst.stddev.normalize.d.out │ │ ├── tst.subr.d │ │ ├── tst.sum.d │ │ ├── tst.sum.d.out │ │ ├── tst.trunc.d │ │ ├── tst.trunc.d.out │ │ ├── tst.trunc0.d │ │ ├── tst.trunc0.d.out │ │ ├── tst.truncquant.d │ │ └── tst.truncquant.d.out │ ├── arithmetic │ │ ├── err.D_DIV_ZERO.divby0.d │ │ ├── err.D_DIV_ZERO.divby0_1.d │ │ ├── err.D_DIV_ZERO.divby0_2.d │ │ ├── err.D_DIV_ZERO.modby0.d │ │ ├── err.D_SYNTAX.addmin.d │ │ ├── err.D_SYNTAX.divmin.d │ │ ├── err.D_SYNTAX.muladd.d │ │ ├── err.D_SYNTAX.muldiv.d │ │ ├── tst.basics.d │ │ ├── tst.basics.d.out │ │ ├── tst.compcast.d │ │ ├── tst.compcast.d.out │ │ ├── tst.complex.d │ │ ├── tst.compnarrowassign.d │ │ ├── tst.compnarrowassign.d.out │ │ ├── tst.execcast.d │ │ └── tst.execcast.d.out │ ├── arrays │ │ ├── err.D_ARR_BADREF.bad.d │ │ ├── err.D_DECL_ARRBIG.toobig.d │ │ ├── err.D_DECL_ARRNULL.bad.d │ │ ├── err.D_DECL_ARRSUB.bad.d │ │ ├── err.D_DECL_PROTO_TYPE.badtuple.d │ │ ├── err.D_IDENT_UNDEF.badureg.d │ │ ├── tst.basic1.d │ │ ├── tst.basic2.d │ │ ├── tst.basic3.d │ │ ├── tst.basic4.d │ │ ├── tst.basic5.d │ │ ├── tst.basic6.d │ │ └── tst.uregsarray.d │ ├── assocs │ │ ├── err.D_OP_INCOMPAT.dupgtype.d │ │ ├── err.D_OP_INCOMPAT.dupttype.d │ │ ├── err.D_OP_INCOMPAT.this.d │ │ ├── err.D_PROTO_ARG.badsig.d │ │ ├── err.D_PROTO_LEN.toofew.d │ │ ├── err.D_PROTO_LEN.toomany.d │ │ ├── err.D_SYNTAX.errassign.d │ │ ├── err.tupoflow.d │ │ ├── tst.cpyarray.d │ │ ├── tst.diffprofile.d │ │ ├── tst.initialize.d │ │ ├── tst.misc.d │ │ ├── tst.orthogonality.d │ │ ├── tst.this.d │ │ └── tst.valassign.d.out │ ├── begin │ │ ├── err.D_PDESC_ZERO.begin.d │ │ ├── err.D_PDESC_ZERO.tick.d │ │ ├── tst.begin.d │ │ ├── tst.begin.d.out │ │ ├── tst.multibegin.d │ │ └── tst.multibegin.d.out │ ├── bitfields │ │ ├── err.D_ADDROF_BITFIELD.BitfieldAddress.d │ │ ├── err.D_DECL_BFCONST.NegBitField.d │ │ ├── err.D_DECL_BFCONST.ZeroBitField.d │ │ ├── err.D_DECL_BFSIZE.ExceedBaseType.d │ │ ├── err.D_DECL_BFSIZE.GreaterThan64.d │ │ ├── err.D_DECL_BFTYPE.badtype.d │ │ ├── err.D_OFFSETOF_BITFIELD.d │ │ ├── err.D_SIZEOF_BITFIELD.SizeofBitfield.d │ │ ├── tst.BitFieldPromotion.d │ │ └── tst.SizeofBitField.d │ ├── buffering │ │ ├── err.buflimit.high.d │ │ ├── err.buflimit.low.d │ │ ├── err.end.d │ │ ├── err.resize1.d │ │ ├── err.resize2.d │ │ ├── err.resize3.d │ │ ├── err.zerobuf.d │ │ ├── tst.alignring.d │ │ ├── tst.cputime.ksh │ │ ├── tst.dynvarsize.d │ │ ├── tst.fill1.d │ │ ├── tst.fill1.d.out │ │ ├── tst.resize1.d │ │ ├── tst.resize2.d │ │ ├── tst.resize3.d │ │ ├── tst.ring1.d │ │ ├── tst.ring2.d │ │ ├── tst.ring2.d.out │ │ ├── tst.ring3.d │ │ ├── tst.ring3.d.out │ │ ├── tst.smallring.d │ │ ├── tst.switch1.d │ │ └── tst.switch1.d.out │ ├── builtinvar │ │ ├── err.D_XLATE_NOCONV.cpuusage.d │ │ ├── err.D_XLATE_NOCONV.nice.d │ │ ├── err.D_XLATE_NOCONV.priority.d │ │ ├── err.D_XLATE_NOCONV.prsize.d │ │ ├── err.D_XLATE_NOCONV.rssize.d │ │ ├── tst.arg0.d │ │ ├── tst.arg0clause.d │ │ ├── tst.arg1.d │ │ ├── tst.arg1to8.d │ │ ├── tst.arg1to8clause.d │ │ ├── tst.caller.d │ │ ├── tst.caller1.d │ │ ├── tst.cpu.d │ │ ├── tst.cpucycles.d │ │ ├── tst.cpuinstrs.d │ │ ├── tst.epid.d │ │ ├── tst.epid1.d │ │ ├── tst.errno.d │ │ ├── tst.errno1.d │ │ ├── tst.execname.d │ │ ├── tst.hpriority.d │ │ ├── tst.id.d │ │ ├── tst.id1.d │ │ ├── tst.ipl.d │ │ ├── tst.ipl1.d │ │ ├── tst.lwpsinfo.d │ │ ├── tst.lwpsinfo1.d │ │ ├── tst.machctimestamp.d │ │ ├── tst.machtimestamp.d │ │ ├── tst.pid.d │ │ ├── tst.pid1.d │ │ ├── tst.psinfo.d │ │ ├── tst.psinfo1.d │ │ ├── tst.tid.d │ │ ├── tst.tid1.d │ │ ├── tst.timestamp.d │ │ ├── tst.vcycles.d │ │ ├── tst.vinstrs.d │ │ └── tst.vtimestamp.d │ ├── cg │ │ ├── err.D_NOREG.noreg.d │ │ └── err.baddif.d │ ├── clauses │ │ ├── err.D_IDENT_UNDEF.aggfun.d │ │ ├── err.D_IDENT_UNDEF.aggtup.d │ │ ├── err.D_IDENT_UNDEF.arrtup.d │ │ ├── err.D_IDENT_UNDEF.body.d │ │ ├── err.D_IDENT_UNDEF.both.d │ │ ├── err.D_IDENT_UNDEF.pred.d │ │ ├── tst.nopred.d │ │ ├── tst.pred.d │ │ ├── tst.predfirst.d │ │ └── tst.predlast.d │ ├── decls │ │ ├── err.D_DECL_LOCASSC.NonLocalAssoc.d │ │ ├── err.D_DECL_LONGINT.LongStruct.d │ │ ├── err.D_DECL_PARMCLASS.BadStorageClass.d │ │ ├── err.D_DECL_PROTO_NAME.VoidName.d │ │ ├── err.D_DECL_PROTO_TYPE.Dyn.d │ │ ├── err.D_DECL_PROTO_VARARGS.VarLenArgs.d │ │ ├── err.D_DECL_PROTO_VOID.NonSoleVoid.d │ │ ├── err.D_DECL_SIGNINT.UnsignedStruct.d │ │ ├── err.D_DECL_VOIDATTR.ShortVoidDecl.d │ │ ├── tst.arrays.d │ │ ├── tst.basics.d │ │ ├── tst.funcs.d │ │ ├── tst.pointers.d │ │ └── tst.varargsfuncs.d │ ├── docsExamples │ │ ├── badptr.d │ │ ├── countdown.d │ │ ├── counter.d │ │ ├── errorpath.d │ │ ├── hello.d │ │ ├── kstat.d │ │ ├── ksyms.d │ │ ├── renormalize.d │ │ ├── rtime.d │ │ ├── rw.d │ │ ├── rwinfo.d │ │ ├── rwtime.d │ │ ├── specopen.d │ │ ├── truss.d │ │ ├── trussrw.d │ │ └── userfunc.d │ ├── drops │ │ ├── drp.DTRACEDROP_AGGREGATION.d │ │ ├── drp.DTRACEDROP_DBLERROR.d │ │ ├── drp.DTRACEDROP_DYNAMIC.d │ │ ├── drp.DTRACEDROP_PRINCIPAL.d │ │ ├── drp.DTRACEDROP_PRINCIPAL.end.d │ │ ├── drp.DTRACEDROP_SPEC.d │ │ └── drp.DTRACEDROP_SPECUNAVAIL.d │ ├── dtraceUtil │ │ ├── err.D_PDESC_ZERO.InvalidDescription1.d │ │ ├── man.APIVersion.d │ │ ├── man.AddSearchPath.d │ │ ├── man.CoalesceTrace.d │ │ ├── man.ELFGeneration.d │ │ ├── man.IncludedFilePath.d │ │ ├── man.ListProbesWithFunctions │ │ ├── man.ListProbesWithIDs │ │ ├── man.ListProbesWithModules │ │ ├── man.ListProbesWithNames │ │ ├── man.ListProbesWithProviders │ │ ├── man.ShowCompilerCode.d │ │ ├── man.TraceFunctions │ │ ├── man.TraceIDs │ │ ├── man.TraceModule │ │ ├── man.TraceNames │ │ ├── man.TraceProvider │ │ ├── man.VerboseStabilityReport.d │ │ ├── tst.AddSearchPath.d.ksh │ │ ├── tst.BufsizeGiga.d.ksh │ │ ├── tst.BufsizeKilo.d.ksh │ │ ├── tst.BufsizeMega.d.ksh │ │ ├── tst.BufsizeTera.d.ksh │ │ ├── tst.DataModel32.d.ksh │ │ ├── tst.DataModel64.d.ksh │ │ ├── tst.DefineNameWithCPP.d.ksh │ │ ├── tst.DefineNameWithCPP.d.ksh.out │ │ ├── tst.DestructWithFunction.d.ksh │ │ ├── tst.DestructWithFunction.d.ksh.out │ │ ├── tst.DestructWithID.d.ksh │ │ ├── tst.DestructWithID.d.ksh.out │ │ ├── tst.DestructWithModule.d.ksh │ │ ├── tst.DestructWithModule.d.ksh.out │ │ ├── tst.DestructWithName.d.ksh │ │ ├── tst.DestructWithName.d.ksh.out │ │ ├── tst.DestructWithProvider.d.ksh │ │ ├── tst.DestructWithProvider.d.ksh.out │ │ ├── tst.DestructWithoutW.d.ksh │ │ ├── tst.ExitStatus1.d.ksh │ │ ├── tst.ExitStatus2.d.ksh │ │ ├── tst.ExtraneousProbeIds.d.ksh │ │ ├── tst.InvalidFuncName1.d.ksh │ │ ├── tst.InvalidFuncName2.d.ksh │ │ ├── tst.InvalidId1.d.ksh │ │ ├── tst.InvalidId2.d.ksh │ │ ├── tst.InvalidId3.d.ksh │ │ ├── tst.InvalidModule1.d.ksh │ │ ├── tst.InvalidModule2.d.ksh │ │ ├── tst.InvalidModule3.d.ksh │ │ ├── tst.InvalidModule4.d.ksh │ │ ├── tst.InvalidProbeIdentifier.d.ksh │ │ ├── tst.InvalidProvider1.d.ksh │ │ ├── tst.InvalidProvider2.d.ksh │ │ ├── tst.InvalidProvider3.d.ksh │ │ ├── tst.InvalidProvider4.d.ksh │ │ ├── tst.InvalidTraceFunc1.d.ksh │ │ ├── tst.InvalidTraceFunc2.d.ksh │ │ ├── tst.InvalidTraceFunc3.d.ksh │ │ ├── tst.InvalidTraceFunc4.d.ksh │ │ ├── tst.InvalidTraceFunc5.d.ksh │ │ ├── tst.InvalidTraceFunc6.d.ksh │ │ ├── tst.InvalidTraceFunc7.d.ksh │ │ ├── tst.InvalidTraceFunc8.d.ksh │ │ ├── tst.InvalidTraceFunc9.d.ksh │ │ ├── tst.InvalidTraceID1.d.ksh │ │ ├── tst.InvalidTraceID2.d.ksh │ │ ├── tst.InvalidTraceID3.d.ksh │ │ ├── tst.InvalidTraceID4.d.ksh │ │ ├── tst.InvalidTraceID5.d.ksh │ │ ├── tst.InvalidTraceID6.d.ksh │ │ ├── tst.InvalidTraceID7.d.ksh │ │ ├── tst.InvalidTraceModule1.d.ksh │ │ ├── tst.InvalidTraceModule2.d.ksh │ │ ├── tst.InvalidTraceModule3.d.ksh │ │ ├── tst.InvalidTraceModule4.d.ksh │ │ ├── tst.InvalidTraceModule5.d.ksh │ │ ├── tst.InvalidTraceModule6.d.ksh │ │ ├── tst.InvalidTraceModule7.d.ksh │ │ ├── tst.InvalidTraceModule8.d.ksh │ │ ├── tst.InvalidTraceName1.d.ksh │ │ ├── tst.InvalidTraceName2.d.ksh │ │ ├── tst.InvalidTraceName3.d.ksh │ │ ├── tst.InvalidTraceName4.d.ksh │ │ ├── tst.InvalidTraceName5.d.ksh │ │ ├── tst.InvalidTraceName6.d.ksh │ │ ├── tst.InvalidTraceName7.d.ksh │ │ ├── tst.InvalidTraceName8.d.ksh │ │ ├── tst.InvalidTraceName9.d.ksh │ │ ├── tst.InvalidTraceProvider1.d.ksh │ │ ├── tst.InvalidTraceProvider2.d.ksh │ │ ├── tst.InvalidTraceProvider3.d.ksh │ │ ├── tst.InvalidTraceProvider4.d.ksh │ │ ├── tst.InvalidTraceProvider5.d.ksh │ │ ├── tst.MultipleInvalidProbeId.d.ksh │ │ ├── tst.PreprocessorStatement.d.ksh │ │ ├── tst.QuietMode.d.ksh │ │ ├── tst.QuietMode.d.ksh.out │ │ ├── tst.TestCompile.d.ksh │ │ ├── tst.TestCompile.d.ksh.out │ │ ├── tst.UnDefineNameWithCPP.d.ksh │ │ ├── tst.ZeroFunctionProbes.d.ksh │ │ ├── tst.ZeroFunctionProbes.d.ksh.out │ │ ├── tst.ZeroModuleProbes.d.ksh │ │ ├── tst.ZeroModuleProbes.d.ksh.out │ │ ├── tst.ZeroNameProbes.d.ksh │ │ ├── tst.ZeroNameProbes.d.ksh.out │ │ ├── tst.ZeroProbeIdentfier.d.ksh │ │ ├── tst.ZeroProbesWithoutZ.d.ksh │ │ ├── tst.ZeroProviderProbes.d.ksh │ │ └── tst.ZeroProviderProbes.d.ksh.out │ ├── end │ │ ├── err.D_IDENT_UNDEF.timespent.d │ │ ├── tst.end.d │ │ ├── tst.endwithoutbegin.d │ │ ├── tst.multibeginend.d │ │ └── tst.multiend.d │ ├── enum │ │ ├── err.D_DECL_IDRED.EnumSameName.d │ │ ├── err.D_UNKNOWN.RepeatIdentifiers.d │ │ ├── tst.EnumEquality.d │ │ ├── tst.EnumSameValue.d │ │ └── tst.EnumValAssign.d │ ├── env │ │ ├── err.D_PRAGMA_OPTSET.setfromscript.d │ │ ├── err.D_PRAGMA_OPTSET.unsetfromscript.d │ │ ├── tst.setenv1.ksh │ │ ├── tst.setenv1.ksh.out │ │ ├── tst.setenv2.ksh │ │ ├── tst.setenv2.ksh.out │ │ ├── tst.unsetenv1.ksh │ │ ├── tst.unsetenv1.ksh.out │ │ ├── tst.unsetenv2.ksh │ │ └── tst.unsetenv2.ksh.out │ ├── error │ │ ├── tst.DTRACEFLT_BADADDR.d │ │ ├── tst.DTRACEFLT_DIVZERO.d │ │ ├── tst.DTRACEFLT_UNKNOWN.d │ │ ├── tst.error.d │ │ ├── tst.errorend.d │ │ ├── tst.noerror.d │ │ └── tst.noerror.d.out │ ├── exit │ │ ├── err.D_PROTO_LEN.noarg.d │ │ ├── err.exitarg1.d │ │ └── tst.basic1.d │ ├── fbtprovider │ │ ├── err.D_PDESC_ZERO.notreturn.d │ │ ├── tst.basic.d │ │ ├── tst.functionentry.d │ │ ├── tst.functionreturnvalue.d │ │ ├── tst.ioctlargs.d │ │ ├── tst.offset.d │ │ ├── tst.offsetzero.d │ │ ├── tst.predicates.d │ │ ├── tst.return.d │ │ ├── tst.return0.d │ │ └── tst.tailcall.d │ ├── funcs │ │ ├── err.D_FUNC_UNDEF.progenyofbad1.d │ │ ├── err.D_OP_VFPTR.badop.d │ │ ├── err.D_PROTO_ARG.addrpermbadarg.d │ │ ├── err.D_PROTO_ARG.chillbadarg.d │ │ ├── err.D_PROTO_ARG.copyoutbadarg.d │ │ ├── err.D_PROTO_ARG.raisebadarg.d │ │ ├── err.D_PROTO_ARG.tolowerbadarg.d │ │ ├── err.D_PROTO_ARG.toupperbadarg.d │ │ ├── err.D_PROTO_LEN.addrperm.d │ │ ├── err.D_PROTO_LEN.allocanoarg.d │ │ ├── err.D_PROTO_LEN.badbreakpoint.d │ │ ├── err.D_PROTO_LEN.chilltoofew.d │ │ ├── err.D_PROTO_LEN.chilltoomany.d │ │ ├── err.D_PROTO_LEN.copyoutstrbadarg.d │ │ ├── err.D_PROTO_LEN.copyoutstrtoofew.d │ │ ├── err.D_PROTO_LEN.copyouttoofew.d │ │ ├── err.D_PROTO_LEN.copyouttoomany.d │ │ ├── err.D_PROTO_LEN.livedump.d │ │ ├── err.D_PROTO_LEN.mtonstoofew.d │ │ ├── err.D_PROTO_LEN.mtonstoomany.d │ │ ├── err.D_PROTO_LEN.panicbadarg.d │ │ ├── err.D_PROTO_LEN.progenyofbad2.d │ │ ├── err.D_PROTO_LEN.stopbadarg.d │ │ ├── err.D_PROTO_LEN.tolowertoofew.d │ │ ├── err.D_PROTO_LEN.tolowertoomany.d │ │ ├── err.D_PROTO_LEN.touppertoofew.d │ │ ├── err.D_PROTO_LEN.touppertoomany.d │ │ ├── err.D_STRINGOF_TYPE.badstringof.d │ │ ├── err.D_VAR_UNDEF.badvar.d │ │ ├── err.badalloca.d │ │ ├── err.badbcopy.d │ │ ├── err.badbcopy1.d │ │ ├── err.badbcopy2.d │ │ ├── err.badbcopy3.d │ │ ├── err.badbcopy4.d │ │ ├── err.badbcopy5.d │ │ ├── err.badbcopy6.d │ │ ├── err.badchill.d │ │ ├── err.chillbadarg.ksh │ │ ├── err.copyout.d │ │ ├── err.copyoutbadaddr.ksh │ │ ├── err.copyoutstrbadaddr.ksh │ │ ├── tst.addrperm.d │ │ ├── tst.badfreopen.ksh │ │ ├── tst.basename.d │ │ ├── tst.basename.d.out │ │ ├── tst.bcopy.d │ │ ├── tst.chill.ksh │ │ ├── tst.cleanpath.d │ │ ├── tst.cleanpath.d.out │ │ ├── tst.copyin.d │ │ ├── tst.copyinto.d │ │ ├── tst.default.d │ │ ├── tst.freopen.ksh │ │ ├── tst.ftruncate.ksh │ │ ├── tst.ftruncate.ksh.out │ │ ├── tst.index.d │ │ ├── tst.index.d.out │ │ ├── tst.lltostr.d │ │ ├── tst.lltostr.d.out │ │ ├── tst.lltostrbase.d │ │ ├── tst.lltostrbase.d.out │ │ ├── tst.mtons.d │ │ ├── tst.mtons.out │ │ ├── tst.physmem.destruct.d │ │ ├── tst.progenyof.d │ │ ├── tst.rand.d │ │ ├── tst.strchr.d │ │ ├── tst.strchr.d.out │ │ ├── tst.strjoin.d │ │ ├── tst.strjoin.d.out │ │ ├── tst.strstr.d │ │ ├── tst.strstr.d.out │ │ ├── tst.strtok.d │ │ ├── tst.strtok.d.out │ │ ├── tst.substr.d │ │ ├── tst.substr.d.out │ │ ├── tst.system.d │ │ ├── tst.system.d.out │ │ ├── tst.tolower.d │ │ ├── tst.tolower.out │ │ ├── tst.toupper.d │ │ └── tst.toupper.out │ ├── grammar │ │ ├── err.D_ADDROF_LVAL.d │ │ ├── err.D_EMPTY.empty.d │ │ ├── tst.clauses.d │ │ └── tst.stmts.d │ ├── include │ │ └── tst.includefirst.ksh │ ├── inline │ │ ├── err.D_DECL_IDRED.redef1.d │ │ ├── err.D_DECL_IDRED.redef2.d │ │ ├── err.D_IDENT_UNDEF.recur.d │ │ ├── err.D_OP_INCOMPAT.baddef1.d │ │ ├── err.D_OP_INCOMPAT.baddef2.d │ │ ├── err.D_OP_INCOMPAT.badxlate.d │ │ ├── tst.InlineDataAssign.d │ │ ├── tst.InlineExpression.d │ │ ├── tst.InlineKinds.d │ │ ├── tst.InlineKinds.d.out │ │ ├── tst.InlineTypedef.d │ │ └── tst.InlineWritableAssign.d │ ├── io │ │ ├── tst.fds.c │ │ ├── tst.fds.d │ │ └── tst.fds.d.out │ ├── json │ │ ├── tst.preprocessor.general.d │ │ ├── tst.preprocessor.general.d.out │ │ ├── tst.strsize.d │ │ ├── tst.strsize.d.out │ │ ├── tst.usdt.c │ │ ├── tst.usdt.d │ │ ├── tst.usdt.d.out │ │ └── usdt.d │ ├── lexer │ │ ├── err.D_CHR_NL.char.d │ │ ├── err.D_CHR_NULL.char.d │ │ ├── err.D_INT_DIGIT.InvalidDigit.d │ │ ├── err.D_INT_OFLOW.BigInt.d │ │ ├── err.D_STR_NL.string.d │ │ ├── err.D_SYNTAX.brace1.d │ │ ├── err.D_SYNTAX.brace2.d │ │ ├── err.D_SYNTAX.brack1.d │ │ ├── err.D_SYNTAX.brack2.d │ │ ├── err.D_SYNTAX.brack3.d │ │ ├── err.D_SYNTAX.paren1.d │ │ ├── err.D_SYNTAX.paren2.d │ │ ├── err.D_SYNTAX.paren3.d │ │ └── tst.D_MACRO_OFLOW.ParIntOvflow.d.ksh │ ├── llquantize │ │ ├── err.D_LLQUANT_FACTOREVEN.nodivide.d │ │ ├── err.D_LLQUANT_FACTOREVEN.notfactor.d │ │ ├── err.D_LLQUANT_FACTORMATCH.d │ │ ├── err.D_LLQUANT_FACTORNSTEPS.d │ │ ├── err.D_LLQUANT_FACTORSMALL.d │ │ ├── err.D_LLQUANT_FACTORTYPE.d │ │ ├── err.D_LLQUANT_FACTORVAL.d │ │ ├── err.D_LLQUANT_HIGHMATCH.d │ │ ├── err.D_LLQUANT_HIGHTYPE.d │ │ ├── err.D_LLQUANT_HIGHVAL.d │ │ ├── err.D_LLQUANT_LOWMATCH.d │ │ ├── err.D_LLQUANT_LOWTYPE.d │ │ ├── err.D_LLQUANT_LOWVAL.d │ │ ├── err.D_LLQUANT_MAGRANGE.d │ │ ├── err.D_LLQUANT_MAGTOOBIG.d │ │ ├── err.D_LLQUANT_MAGTOOBIG.offbyone.d │ │ ├── err.D_LLQUANT_NSTEPMATCH.d │ │ ├── err.D_LLQUANT_NSTEPTYPE.d │ │ ├── err.D_LLQUANT_NSTEPVAL.d │ │ ├── tst.bases.d │ │ ├── tst.bases.d.out │ │ ├── tst.basic.d │ │ ├── tst.basic.d.out │ │ ├── tst.clear.d │ │ ├── tst.clear.d.out │ │ ├── tst.multiaggs.d │ │ ├── tst.multiaggs.d.out │ │ ├── tst.negorder.d │ │ ├── tst.negorder.d.out │ │ ├── tst.negvalue.d │ │ ├── tst.negvalue.d.out │ │ ├── tst.normal.d │ │ ├── tst.normal.d.out │ │ ├── tst.range.d │ │ ├── tst.range.d.out │ │ ├── tst.steps.d │ │ ├── tst.steps.d.out │ │ ├── tst.trunc.d │ │ └── tst.trunc.d.out │ ├── lockstat │ │ ├── tst.adaptiveprobes.d │ │ ├── tst.lockprof.spin.ksh │ │ ├── tst.lockprof.ticket.ksh │ │ ├── tst.rwprobes.d │ │ ├── tst.spinprobes.d │ │ └── tst.ticketprobes.d │ ├── misc │ │ ├── err.D_PRAGMA_OPTSET.d │ │ ├── tst.badopt.d │ │ ├── tst.boolopt.d │ │ ├── tst.boolopt.d.out │ │ ├── tst.dynopt.d │ │ └── tst.dynopt.d.out │ ├── multiaggs │ │ ├── err.D_PRINTA_AGGKEY.d │ │ ├── err.D_PRINTA_AGGPROTO.d │ │ ├── tst.many.d │ │ ├── tst.many.d.out │ │ ├── tst.same.d │ │ ├── tst.same.d.out │ │ ├── tst.sort.d │ │ ├── tst.sort.d.out │ │ ├── tst.sortpos.d │ │ ├── tst.sortpos.d.out │ │ ├── tst.tuplecompat.d │ │ ├── tst.tuplecompat.d.out │ │ ├── tst.zero.d │ │ ├── tst.zero.d.out │ │ ├── tst.zero2.d │ │ ├── tst.zero2.d.out │ │ ├── tst.zero3.d │ │ └── tst.zero3.d.out │ ├── objc │ │ ├── tst.TrampolineBlacklist.ksh │ │ └── tst.TrampolineBlacklist.m │ ├── offsetof │ │ ├── err.D_OFFSETOF_BITFIELD.bitfield.d │ │ ├── err.D_OFFSETOF_TYPE.badtype.d │ │ ├── err.D_OFFSETOF_TYPE.notsou.d │ │ ├── err.D_UNKNOWN.OffsetofNULL.d │ │ ├── err.D_UNKNOWN.badmemb.d │ │ ├── tst.OffsetofAlias.d │ │ ├── tst.OffsetofArith.d │ │ ├── tst.OffsetofUnion.d │ │ ├── tst.struct.d │ │ ├── tst.struct.d.out │ │ ├── tst.union.d │ │ └── tst.union.d.out │ ├── operators │ │ ├── tst.ternary.d │ │ └── tst.ternary.d.out │ ├── perf │ │ ├── perf.launchtime.c │ │ ├── perf.overhead.c │ │ ├── perf.probes.m │ │ ├── perf.usdt_overhead.c │ │ ├── usdt_overhead_helper.0.c │ │ ├── usdt_overhead_helper.1.c │ │ ├── usdt_overhead_helper.10.c │ │ ├── usdt_overhead_helper.h │ │ └── usdt_overhead_helper_provider.d │ ├── pid │ │ ├── err.D_PDESC_ZERO.badlib.c │ │ ├── err.D_PDESC_ZERO.badlib.d │ │ ├── err.D_PDESC_ZERO.badname_arm.c │ │ ├── err.D_PDESC_ZERO.badname_arm.d │ │ ├── err.D_PDESC_ZERO.badproc1.d │ │ ├── err.D_PROC_BADPID.badproc2.d │ │ ├── err.D_PROC_CREATEFAIL.many.c │ │ ├── err.D_PROC_CREATEFAIL.many.d │ │ ├── err.D_PROC_FUNC.badfunc.c │ │ ├── err.D_PROC_FUNC.badfunc.d │ │ ├── err.D_PROC_LIB.libdash.c │ │ ├── err.D_PROC_LIB.libdash.d │ │ ├── err.D_PROC_NAME.alldash.c │ │ ├── err.D_PROC_NAME.alldash.d │ │ ├── err.D_PROC_NAME.badname.c │ │ ├── err.D_PROC_NAME.badname.d │ │ ├── err.D_PROC_NAME.globdash.c │ │ ├── err.D_PROC_NAME.globdash.d │ │ ├── err.D_PROC_OFF.toobig.c │ │ ├── err.D_PROC_OFF.toobig.d │ │ ├── tst.ProbeModUTF8.ksh │ │ ├── tst.ProbeModUTF8.ksh.out │ │ ├── tst.args1.c │ │ ├── tst.args1.d │ │ ├── tst.coverage.c │ │ ├── tst.coverage.d │ │ ├── tst.dlopen.c │ │ ├── tst.dlopen.ksh │ │ ├── tst.emptystack.d │ │ ├── tst.emptystack.d.out │ │ ├── tst.emptystack.exe │ │ ├── tst.float.c │ │ ├── tst.float.d │ │ ├── tst.fork.c │ │ ├── tst.fork.d │ │ ├── tst.gcc.c │ │ ├── tst.gcc.d │ │ ├── tst.manypids.ksh │ │ ├── tst.oneshot.c │ │ ├── tst.oneshot.ksh │ │ ├── tst.oneshot_multithreaded.c │ │ ├── tst.oneshot_multithreaded.ksh │ │ ├── tst.oneshot_return.ksh │ │ ├── tst.ret1.c │ │ ├── tst.ret1.d │ │ ├── tst.ret2.c │ │ ├── tst.ret2.d │ │ ├── tst.return.c │ │ ├── tst.return.d │ │ ├── tst.weak1.c │ │ ├── tst.weak1.d │ │ ├── tst.weak2.c │ │ └── tst.weak2.d │ ├── plockstat │ │ ├── tst.available.d │ │ ├── tst.available.exe │ │ ├── tst.libmap.d │ │ └── tst.libmap.exe │ ├── pointers │ │ ├── err.BadAlign.d │ │ ├── err.D_ADDROF_VAR.ArrayVar.d │ │ ├── err.D_ADDROF_VAR.DynamicVar.d │ │ ├── err.D_ADDROF_VAR.agg.d │ │ ├── err.D_DEREF_NONPTR.noptr.d │ │ ├── err.D_DEREF_VOID.VoidPointerDeref.d │ │ ├── err.D_OP_ARRFUN.ArrayAssignment.d │ │ ├── err.D_OP_INCOMPAT.VoidPointerArith.d │ │ ├── err.D_OP_LVAL.AddressChange.d │ │ ├── err.D_OP_PTR.NonPointerAccess.d │ │ ├── err.D_OP_PTR.badpointer.d │ │ ├── err.D_OP_SOU.BadPointerAccess.d │ │ ├── err.D_OP_SOU.badpointer.d │ │ ├── err.InvalidAddress1.d │ │ ├── err.InvalidAddress2.d │ │ ├── err.InvalidAddress3.d │ │ ├── err.InvalidAddress4.d │ │ ├── err.InvalidAddress5.d │ │ ├── tst.ArrayPointer1.d │ │ ├── tst.ArrayPointer2.d │ │ ├── tst.ArrayPointer3.d │ │ ├── tst.GlobalVar.d │ │ ├── tst.IntegerArithmetic1.d │ │ ├── tst.PointerArithmetic1.d │ │ ├── tst.PointerArithmetic2.d │ │ ├── tst.PointerArithmetic3.d │ │ ├── tst.PointerAssignment.d │ │ ├── tst.ValidPointer1.d │ │ ├── tst.ValidPointer2.d │ │ ├── tst.VoidCast.d │ │ ├── tst.assigncast1.d │ │ ├── tst.assigncast2.d │ │ ├── tst.basic1.d │ │ └── tst.basic2.d │ ├── pragma │ │ ├── err.D_PRAGERR.d │ │ ├── err.D_PRAGMA_INVAL.d │ │ ├── err.D_PRAGMA_MALFORM.d │ │ ├── err.D_PRAGMA_UNUSED.UnusedPragma.d │ │ ├── tst.libdepsepdir.ksh │ │ ├── tst.temporal1.ksh │ │ ├── tst.temporal2.ksh │ │ └── tst.temporal3.d │ ├── predicates │ │ ├── err.D_PRED_SCALAR.NonScalarPred.d │ │ ├── err.D_SYNTAX.invalid.d │ │ ├── err.D_SYNTAX.operr.d │ │ ├── tst.basics.d │ │ ├── tst.basics.d.out │ │ ├── tst.complex.d │ │ └── tst.complex.d.out │ ├── preprocessor │ │ ├── err.D_IDENT_UNDEF.afterprobe.d │ │ ├── err.D_SYNTAX.withoutpound.d │ │ ├── err.defincomp.d │ │ ├── err.ifdefelsenotendif.d │ │ ├── err.ifdefincomp.d │ │ ├── err.ifdefnotendif.d │ │ ├── err.incompelse.d │ │ ├── err.mulelse.d │ │ ├── tst.ifdef.d │ │ ├── tst.ifdef.d.out │ │ ├── tst.ifndef.d │ │ ├── tst.ifndef.d.out │ │ ├── tst.ifnotdef.d │ │ ├── tst.ifnotdef.d.out │ │ ├── tst.logicaland.d │ │ ├── tst.logicaland.d.out │ │ ├── tst.logicalandor.d │ │ ├── tst.logicalandor.d.out │ │ ├── tst.logicalor.d │ │ ├── tst.logicalor.d.out │ │ ├── tst.muland.d │ │ ├── tst.muland.d.out │ │ ├── tst.mulor.d │ │ ├── tst.mulor.d.out │ │ ├── tst.precondi.d │ │ ├── tst.precondi.d.out │ │ ├── tst.predicatedeclare.d │ │ ├── tst.preexp.d │ │ ├── tst.preexp.d.out │ │ ├── tst.preexpelse.d │ │ ├── tst.preexpelse.d.out │ │ ├── tst.preexpif.d │ │ ├── tst.preexpif.d.out │ │ ├── tst.preexpifelse.d │ │ ├── tst.preexpifelse.d.out │ │ └── tst.withinprobe.d │ ├── print │ │ ├── err.D_PRINT_VOID.bad.d │ │ ├── err.D_PROTO_LEN.bad.d │ │ ├── tst.array.d │ │ ├── tst.array.d.out │ │ ├── tst.bitfield.d │ │ ├── tst.bitfield.d.out │ │ ├── tst.dyn.d │ │ ├── tst.primitive.d │ │ ├── tst.primitive.d.out │ │ ├── tst.struct.d │ │ ├── tst.struct.d.out │ │ ├── tst.xlate.d │ │ └── tst.xlate.d.out │ ├── printa │ │ ├── err.D_PRINTA_AGGARG.badagg.d │ │ ├── err.D_PRINTA_AGGARG.badfmt.d │ │ ├── err.D_PRINTA_AGGARG.badval.d │ │ ├── err.D_PRINTA_PROTO.bad.d │ │ ├── err.D_PRINTF_ARG_TYPE.jstack.d │ │ ├── err.D_PRINTF_ARG_TYPE.stack.d │ │ ├── err.D_PRINTF_ARG_TYPE.ustack.d │ │ ├── tst.basics.d │ │ ├── tst.basics.d.out │ │ ├── tst.def.d │ │ ├── tst.def.d.out │ │ ├── tst.dynwidth.d │ │ ├── tst.dynwidth.d.out │ │ ├── tst.fmt.d │ │ ├── tst.fmt.d.out │ │ ├── tst.many.d │ │ ├── tst.manyval.d │ │ ├── tst.manyval.d.out │ │ ├── tst.stack.d │ │ ├── tst.tuple.d │ │ ├── tst.tuple.d.out │ │ ├── tst.walltimestamp.d │ │ └── tst.walltimestamp.d.out │ ├── printf │ │ ├── err.D_PRINTF_AGG_CONV.aggfmt.d │ │ ├── err.D_PRINTF_ARG_EXTRA.toomany.d │ │ ├── err.D_PRINTF_ARG_EXTRA.widths.d │ │ ├── err.D_PRINTF_ARG_FMT.badfmt.d │ │ ├── err.D_PRINTF_ARG_PROTO.novalue.d │ │ ├── err.D_PRINTF_ARG_TYPE.aggarg.d │ │ ├── err.D_PRINTF_ARG_TYPE.different-encoding.d │ │ ├── err.D_PRINTF_ARG_TYPE.recursive.d │ │ ├── err.D_PRINTF_DYN_PROTO.noprec.d │ │ ├── err.D_PRINTF_DYN_PROTO.nowidth.d │ │ ├── err.D_PRINTF_DYN_TYPE.badprec.d │ │ ├── err.D_PRINTF_DYN_TYPE.badwidth.d │ │ ├── err.D_PROTO_LEN.toofew.d │ │ ├── err.D_SYNTAX.badconv1.d │ │ ├── err.D_SYNTAX.badconv2.d │ │ ├── err.D_SYNTAX.badconv3.d │ │ ├── tst.basics.d │ │ ├── tst.basics.d.out │ │ ├── tst.flags.d │ │ ├── tst.flags.d.out │ │ ├── tst.hello.d │ │ ├── tst.hello.d.out │ │ ├── tst.ints.d │ │ ├── tst.ints.d.out │ │ ├── tst.precs.d │ │ ├── tst.precs.d.out │ │ ├── tst.print-f.d │ │ ├── tst.print-f.d.out │ │ ├── tst.printT.d │ │ ├── tst.printT.d.out │ │ ├── tst.printY.d │ │ ├── tst.printY.d.out │ │ ├── tst.printcont.d │ │ ├── tst.printcont.d.out │ │ ├── tst.printeE.d │ │ ├── tst.printeE.d.out │ │ ├── tst.printgG.d │ │ ├── tst.printgG.d.out │ │ ├── tst.rawfmt.d │ │ ├── tst.rawfmt.d.out │ │ ├── tst.same-encoding.d │ │ ├── tst.signs.d │ │ ├── tst.signs.d.out │ │ ├── tst.str.d │ │ ├── tst.str.d.out │ │ ├── tst.sym.d.out │ │ ├── tst.sym.ksh │ │ ├── tst.uints.d │ │ ├── tst.uints.d.out │ │ ├── tst.widths.d │ │ ├── tst.widths.d.out │ │ ├── tst.widths1.d │ │ ├── tst.wp.d │ │ └── tst.wp.d.out │ ├── probes │ │ ├── err.D_PDESC_ZERO.probeqtn.d │ │ ├── err.D_PDESC_ZERO.probestar.d │ │ ├── err.D_PDESC_ZERO.tickstar.d │ │ ├── err.D_SYNTAX.assign.d │ │ ├── err.D_SYNTAX.declare.d │ │ ├── err.D_SYNTAX.declarein.d │ │ ├── err.D_SYNTAX.lbraces.d │ │ ├── err.D_SYNTAX.probespec.d │ │ ├── err.D_SYNTAX.rbraces.d │ │ ├── err.D_SYNTAX.recdec.d │ │ ├── tst.angle_brackets.cpp │ │ ├── tst.angle_brackets.d │ │ ├── tst.basic1.d │ │ ├── tst.check.d │ │ ├── tst.declare.d │ │ ├── tst.declareafter.d │ │ ├── tst.emptyprobe.d │ │ ├── tst.pragma.d │ │ ├── tst.pragmaaftertab.d │ │ ├── tst.pragmainside.d │ │ ├── tst.pragmaoutside.d │ │ └── tst.probestar.d │ ├── proc │ │ ├── tst.create.ksh │ │ ├── tst.discard.ksh │ │ ├── tst.exec.ksh │ │ ├── tst.execfail.ENOENT.ksh │ │ ├── tst.execfail.ksh │ │ ├── tst.exitexit.ksh │ │ ├── tst.exitkilled.ksh │ │ ├── tst.signal.ksh │ │ ├── tst.sigwait.c │ │ └── tst.startexit.ksh │ ├── processcontrol │ │ ├── exports │ │ ├── test_lib.c │ │ ├── tst.exec.ksh │ │ ├── tst.has_initializers.c │ │ ├── tst.postinit.ksh │ │ ├── tst.preinit.ksh │ │ ├── tst.run.ksh │ │ ├── tst.run_module.ksh │ │ ├── tst.run_module_glob.ksh │ │ ├── tst.target_none.ksh │ │ ├── tst.target_run.ksh │ │ ├── tst.wait.ksh │ │ └── tst.wait_initializers.ksh │ ├── profile-n │ │ ├── err.D_PDESC_ZERO.profile.d │ │ ├── err.D_PDESC_ZEROonens.d │ │ ├── err.D_PDESC_ZEROonensec.d │ │ ├── err.D_PDESC_ZEROoneus.d │ │ ├── err.D_PDESC_ZEROoneusec.d │ │ ├── tst.argtest.d │ │ ├── tst.argtest.d.out │ │ ├── tst.basic.d │ │ ├── tst.basic.d.out │ │ ├── tst.func.ksh │ │ ├── tst.mod.ksh │ │ ├── tst.profilehz.d │ │ ├── tst.profilehz.d.out │ │ ├── tst.profilems.d │ │ ├── tst.profilems.d.out │ │ ├── tst.profilemsec.d │ │ ├── tst.profilemsec.d.out │ │ ├── tst.profilenhz.d │ │ ├── tst.profilenhz.d.out │ │ ├── tst.profilens.d │ │ ├── tst.profilens.d.out │ │ ├── tst.profilensec.d │ │ ├── tst.profilensec.d.out │ │ ├── tst.profiles.d │ │ ├── tst.profiles.d.out │ │ ├── tst.profilesec.d │ │ ├── tst.profilesec.d.out │ │ ├── tst.profileus.d │ │ ├── tst.profileus.d.out │ │ ├── tst.profileusec.d │ │ ├── tst.profileusec.d.out │ │ ├── tst.sym.ksh │ │ ├── tst.ufunc.ksh │ │ ├── tst.umod.ksh │ │ └── tst.usym.ksh │ ├── providers │ │ ├── err.D_PDESC_INVAL.wrongdec4.d │ │ ├── err.D_PDESC_ZERO.nonprofile.d │ │ ├── err.D_PDESC_ZERO.wrongdec1.d │ │ ├── err.D_PDESC_ZERO.wrongdec2.d │ │ ├── err.D_PDESC_ZERO.wrongdec3.d │ │ ├── tst.basics.d │ │ ├── tst.basics.d.out │ │ ├── tst.beginexit.d │ │ ├── tst.beginprof.d │ │ ├── tst.beginprof.d.out │ │ ├── tst.probattrs.d │ │ ├── tst.probattrs.d.out │ │ ├── tst.probefunc.d │ │ ├── tst.probefunc.d.out │ │ ├── tst.probemod.d │ │ ├── tst.probemod.d.out │ │ ├── tst.probename.d │ │ ├── tst.probename.d.out │ │ ├── tst.probprov.d │ │ ├── tst.probprov.d.out │ │ ├── tst.profend.d │ │ ├── tst.profend.d.out │ │ ├── tst.profexit.d │ │ ├── tst.profexit.d.out │ │ ├── tst.trace.d │ │ ├── tst.trace.d.out │ │ ├── tst.twoprof.d │ │ └── tst.twoprof.d.out │ ├── raise │ │ ├── tst.raise1.c │ │ ├── tst.raise1.d │ │ ├── tst.raise2.c │ │ ├── tst.raise2.d │ │ ├── tst.raise3.c │ │ └── tst.raise3.d │ ├── rates │ │ ├── tst.aggrate.d │ │ ├── tst.aggrate.d.out │ │ ├── tst.statusrate.d │ │ ├── tst.switchrate.d │ │ └── tst.switchrate.d.out │ ├── safety │ │ ├── tst.basename.d │ │ ├── tst.caller.d │ │ ├── tst.cleanpath.d │ │ ├── tst.copyin.d │ │ ├── tst.dirname.d │ │ ├── tst.index.d │ │ ├── tst.msgsize.d │ │ ├── tst.null.d │ │ ├── tst.progenyof.d │ │ ├── tst.random.d │ │ ├── tst.shortstr.d │ │ ├── tst.stack.d │ │ ├── tst.stackdepth.d │ │ ├── tst.strchr.d │ │ ├── tst.strjoin.d │ │ ├── tst.strstr.d │ │ ├── tst.strtok.d │ │ ├── tst.substr.d │ │ ├── tst.unalign.d │ │ ├── tst.uregs.d │ │ ├── tst.ustack.d │ │ ├── tst.ustackdepth.d │ │ ├── tst.vahole.d │ │ └── tst.violentdeath.ksh │ ├── scalars │ │ ├── err.D_ARR_LOCAL.thisarray.d │ │ ├── err.D_DECL_CLASS.selfthis.d │ │ ├── err.D_DECL_CLASS.thisself.d │ │ ├── err.D_DECL_IDRED.errval.d │ │ ├── err.D_OP_INCOMPAT.dec.err.d │ │ ├── err.D_OP_INCOMPAT.dupgtype.d │ │ ├── err.D_OP_INCOMPAT.dupltype.d │ │ ├── err.D_OP_INCOMPAT.dupttype.d │ │ ├── err.D_SYNTAX.declare.d │ │ ├── tst.basicvar.d │ │ ├── tst.basicvar.d.out │ │ ├── tst.localvar.d │ │ ├── tst.misc.d │ │ ├── tst.self.d │ │ ├── tst.selfarray.d │ │ ├── tst.selfarray2.d │ │ ├── tst.selfthis.d │ │ ├── tst.this.d │ │ └── tst.thisself.d │ ├── sched │ │ ├── tst.enqueue.d │ │ ├── tst.oncpu.d │ │ └── tst.stackdepth.d │ ├── scripting │ │ ├── err.D_MACRO_UNDEF.invalidargs.d │ │ ├── err.D_OP_LVAL.rdonly.d │ │ ├── err.D_OP_WRITE.usepidmacro.d │ │ ├── err.D_SYNTAX.concat.d │ │ ├── err.D_SYNTAX.desc.d │ │ ├── err.D_SYNTAX.inval.d │ │ ├── err.D_SYNTAX.pid.d │ │ ├── tst.D_MACRO_UNUSED.overflow.ksh │ │ ├── tst.arg0.d │ │ ├── tst.arguments.ksh │ │ ├── tst.assign.d │ │ ├── tst.basic.d │ │ ├── tst.egid.d │ │ ├── tst.egid.ksh │ │ ├── tst.euid.d │ │ ├── tst.euid.ksh │ │ ├── tst.gid.d │ │ ├── tst.gid.ksh │ │ ├── tst.pgid.d │ │ ├── tst.pid.d │ │ ├── tst.ppid.d │ │ ├── tst.ppid.ksh │ │ ├── tst.projid.ksh │ │ ├── tst.quite.d │ │ ├── tst.stringmacro.ksh │ │ ├── tst.trace.d │ │ ├── tst.uid.d │ │ └── tst.uid.ksh │ ├── sizeof │ │ ├── err.D_IDENT_BADREF.SizeofAssoc.d │ │ ├── err.D_IDENT_UNDEF.UnknownSymbol.d │ │ ├── err.D_SIZEOF_TYPE.d │ │ ├── err.D_SYNTAX.SizeofBadType.d │ │ ├── tst.SizeofArray.d │ │ ├── tst.SizeofDataTypes.d │ │ ├── tst.SizeofExpression.d │ │ ├── tst.SizeofNULL.d │ │ ├── tst.SizeofStrConst.d │ │ ├── tst.SizeofStrConst.d.out │ │ ├── tst.SizeofString1.d │ │ ├── tst.SizeofString1.d.out │ │ ├── tst.SizeofString2.d │ │ └── tst.SizeofString2.d.out │ ├── speculation │ │ ├── bug.1001148.SpecSizeVariations.d │ │ ├── err.BufSizeVariations1.d │ │ ├── err.BufSizeVariations2.d │ │ ├── err.D_ACT_SPEC.SpeculateWithBreakPoint.d │ │ ├── err.D_ACT_SPEC.SpeculateWithChill.d │ │ ├── err.D_ACT_SPEC.SpeculateWithCopyOut.d │ │ ├── err.D_ACT_SPEC.SpeculateWithCopyOutStr.d │ │ ├── err.D_ACT_SPEC.SpeculateWithPanic.d │ │ ├── err.D_ACT_SPEC.SpeculateWithRaise.d │ │ ├── err.D_ACT_SPEC.SpeculateWithStop.d │ │ ├── err.D_AGG_COMM.AggAftCommit.d │ │ ├── err.D_AGG_SPEC.SpeculateWithAvg.d │ │ ├── err.D_AGG_SPEC.SpeculateWithCount.d │ │ ├── err.D_AGG_SPEC.SpeculateWithLquant.d │ │ ├── err.D_AGG_SPEC.SpeculateWithMax.d │ │ ├── err.D_AGG_SPEC.SpeculateWithMin.d │ │ ├── err.D_AGG_SPEC.SpeculateWithQuant.d │ │ ├── err.D_AGG_SPEC.SpeculateWithSum.d │ │ ├── err.D_COMM_COMM.CommitAftCommit.d │ │ ├── err.D_COMM_COMM.DisjointCommit.d │ │ ├── err.D_COMM_DREC.CommitAftDataRec.d │ │ ├── err.D_DREC_COMM.DataRecAftCommit.d │ │ ├── err.D_DREC_COMM.ExitAfterCommit.d │ │ ├── err.D_EXIT_SPEC.ExitAftSpec.d │ │ ├── err.D_PRAGMA_MALFORM.NspecExpr.d │ │ ├── err.D_PRAGMA_OPTSET.HugeNspecValue.d │ │ ├── err.D_PRAGMA_OPTSET.InvalidSpecSize.d │ │ ├── err.D_PRAGMA_OPTSET.NegSpecSize.d │ │ ├── err.D_PROTO_LEN.SpecNoId.d │ │ ├── err.D_SPEC_COMM.SpecAftCommit.d │ │ ├── err.D_SPEC_DREC.SpecAftDataRec.d │ │ ├── err.D_SPEC_SPEC.SpecAftSpec.d │ │ ├── err.NegativeBufSize.d │ │ ├── err.NegativeNspec.d │ │ ├── err.NegativeSpecSize.d │ │ ├── err.SpecSizeVariations1.d │ │ ├── err.SpecSizeVariations2.d │ │ ├── tst.CommitAfterDiscard.d │ │ ├── tst.CommitWithZero.d │ │ ├── tst.DataRecAftDiscard.d │ │ ├── tst.DiscardAftCommit.d │ │ ├── tst.DiscardAftDataRec.d │ │ ├── tst.DiscardAftDiscard.d │ │ ├── tst.DiscardWithZero.d │ │ ├── tst.ExitAftDiscard.d │ │ ├── tst.NoSpecBuffer.d │ │ ├── tst.SpecSizeVariations1.d │ │ ├── tst.SpecSizeVariations2.d │ │ ├── tst.SpecSizeVariations3.d │ │ ├── tst.SpeculateWithRandom.d │ │ ├── tst.SpeculationCommit.d │ │ ├── tst.SpeculationDiscard.d │ │ ├── tst.SpeculationID.d │ │ ├── tst.SpeculationWithZero.d │ │ ├── tst.TwoSpecBuffers.d │ │ ├── tst.negcommit.d │ │ ├── tst.negspec.d │ │ └── tst.zerosize.d │ ├── stability │ │ └── err.D_ATTR_MIN.MinAttributes.d │ ├── stack │ │ ├── err.D_STACK_PROTO.bad.d │ │ ├── err.D_STACK_SIZE.d │ │ ├── err.D_USTACK_FRAMES.bad.d │ │ ├── err.D_USTACK_PROTO.bad.d │ │ ├── err.D_USTACK_STRSIZE.bad.d │ │ └── tst.default.d │ ├── stackdepth │ │ └── tst.default.d │ ├── stop │ │ ├── tst.stop1.c │ │ ├── tst.stop1.d │ │ ├── tst.stop2.c │ │ └── tst.stop2.d │ ├── strlen │ │ └── tst.strlen1.d │ ├── strtoll │ │ ├── err.BaseTooLarge.d │ │ ├── err.BaseTooSmall.d │ │ ├── tst.strtoll.d │ │ └── tst.strtoll.d.out │ ├── struct │ │ ├── err.D_ADDROF_VAR.StructPointer.d │ │ ├── err.D_DECL_COMBO.StructWithoutColon.d │ │ ├── err.D_DECL_COMBO.StructWithoutColon1.d │ │ ├── err.D_DECL_INCOMPLETE.circular.d │ │ ├── err.D_DECL_INCOMPLETE.order.d │ │ ├── err.D_DECL_INCOMPLETE.order2.d │ │ ├── err.D_DECL_INCOMPLETE.recursive.d │ │ ├── err.D_DECL_INCOMPLETE.simple.d │ │ ├── err.D_DECL_VOIDOBJ.baddec.d │ │ ├── err.D_PROTO_ARG.DupStructAssoc.d │ │ ├── tst.StructAnon.d │ │ ├── tst.StructAssoc.d │ │ ├── tst.StructDataTypes.d │ │ ├── tst.StructInside.d │ │ ├── tst.clauselocal.d │ │ └── tst.clauselocal.d.out │ ├── sugar │ │ ├── tst.else.d │ │ ├── tst.if.d │ │ ├── tst.if2.d │ │ ├── tst.if_before_after.d │ │ ├── tst.if_nested.d │ │ ├── tst.if_trailing_semicolon.d │ │ └── tst.if_trailing_semicolon2.d │ ├── syscall │ │ ├── tst.enabledisable.ksh │ │ ├── tst.machtrap.d │ │ └── tst.openret.ksh │ ├── tick-n │ │ ├── err.D_PDESC_ZERO.tick.d │ │ ├── err.D_PDESC_ZEROonens.d │ │ ├── err.D_PDESC_ZEROonensec.d │ │ ├── err.D_PDESC_ZEROoneus.d │ │ ├── err.D_PDESC_ZEROoneusec.d │ │ ├── tst.tickarg0.d │ │ ├── tst.tickms.d │ │ ├── tst.tickms.d.out │ │ ├── tst.tickmsec.d │ │ ├── tst.tickmsec.d.out │ │ ├── tst.tickns.d │ │ ├── tst.tickns.d.out │ │ ├── tst.ticknsec.d │ │ ├── tst.ticknsec.d.out │ │ ├── tst.ticks.d │ │ ├── tst.ticks.d.out │ │ ├── tst.ticksec.d │ │ ├── tst.ticksec.d.out │ │ ├── tst.tickus.d │ │ ├── tst.tickus.d.out │ │ ├── tst.tickusec.d │ │ └── tst.tickusec.d.out │ ├── tools │ │ └── tst.dtruss.ksh │ ├── trace │ │ ├── err.D_PROTO_LEN.bad.d │ │ ├── err.D_TRACE_VOID.bad.d │ │ ├── tst.dyn.d │ │ ├── tst.misc.d │ │ ├── tst.qstring.d │ │ ├── tst.qstring.d.out │ │ └── tst.string.d │ ├── tracemem │ │ ├── err.D_PROTO_ARG.badsize.d │ │ ├── err.D_PROTO_LEN.toofew.d │ │ ├── err.D_TRACEMEM_ADDR.badaddr.d │ │ ├── err.D_TRACEMEM_ARGS.d │ │ ├── err.D_TRACEMEM_DYNSIZE.d │ │ ├── err.D_TRACEMEM_SIZE.negsize.d │ │ ├── err.D_TRACEMEM_SIZE.zerosize.d │ │ ├── tst.dynsize.d │ │ ├── tst.dynsize.d.out │ │ ├── tst.rootvp.d │ │ ├── tst.smallsize.d │ │ └── tst.smallsize.d.out │ ├── translators │ │ ├── err.D_DECL_TYPERED.BadTransDecl.d │ │ ├── err.D_OP_INCOMPLETE.NonExistentInput1.d │ │ ├── err.D_SYNTAX.BadTransDecl1.d │ │ ├── err.D_SYNTAX.BadTransDecl3.d │ │ ├── err.D_SYNTAX.BadTransDecl4.d │ │ ├── err.D_TYPE_MEMBER.NonExistentInput2.d │ │ ├── err.D_XLATE_INCOMPAT.BadInputType1.d │ │ ├── err.D_XLATE_MEMB.NonExistentOutput2.d │ │ ├── err.D_XLATE_NONE.BadTransDecl6.d │ │ ├── err.D_XLATE_REDECL.RepeatTransDecl.d │ │ ├── err.D_XLATE_SOU.BadTransDecl8.d │ │ ├── err.D_XLATE_SOU.BadTransInt.d │ │ ├── err.D_XLATE_SOU.NonExistentOutput1.d │ │ ├── tst.CircularTransDecl.d │ │ ├── tst.EmptyTransDecl.d │ │ ├── tst.ForwardTag.d │ │ ├── tst.InputAliasTrans.d │ │ ├── tst.InputIntTrans.d │ │ ├── tst.OutputAliasTrans.d │ │ ├── tst.PartialDereferencing.d │ │ ├── tst.PartialOutputTransDefn.d │ │ ├── tst.ProcModelTrans.d │ │ ├── tst.RepeatDeclaration.d │ │ ├── tst.SimultaneousTranslators.d │ │ ├── tst.StructureAssignment.d │ │ ├── tst.TestTransStability1.ksh │ │ ├── tst.TestTransStability1.ksh.out │ │ ├── tst.TestTransStability2.ksh │ │ ├── tst.TestTransStability2.ksh.out │ │ ├── tst.TransNonPointer.d │ │ ├── tst.TransOutputPointer.d │ │ ├── tst.TransPointer.d │ │ ├── tst.TranslateSelf.d │ │ ├── tst.UnionInputTrans.d │ │ └── tst.UnionOutputTrans.d │ ├── typedef │ │ ├── err.D_DECL_IDRED.DupTypeDef.d │ │ ├── err.D_SYNTAX.BadExistingTypedef.d │ │ ├── err.D_SYNTAX.TypedefInClause.d │ │ ├── tst.ChainTypedef.d │ │ └── tst.TypedefDataAssign.d │ ├── types │ │ ├── err.D_CAST_INVAL.badcast.d │ │ ├── err.D_CG_DYN.ResultDynType.d │ │ ├── err.D_CHR_OFLOW.charconst.d │ │ ├── err.D_DECL_BADCLASS.bad.d │ │ ├── err.D_DECL_CHARATTR.badtype3.d │ │ ├── err.D_DECL_COMBO.badtype4.d │ │ ├── err.D_DECL_COMBO.badtype5.d │ │ ├── err.D_DECL_COMBO.badtype6.d │ │ ├── err.D_DECL_COMBO.badtype7.d │ │ ├── err.D_DECL_ENCONST.badeval.d │ │ ├── err.D_DECL_ENOFLOW.enoflow.d │ │ ├── err.D_DECL_ENOFLOW.enuflow.d │ │ ├── err.D_DECL_SCOPE.scopeop.d │ │ ├── err.D_DECL_USELESS.baddec.d │ │ ├── err.D_OP_ACT.badcond.d │ │ ├── err.D_OP_ARITH.badoperand.d │ │ ├── err.D_OP_INCOMPAT.badassign.d │ │ ├── err.D_OP_INT.badbitop.d │ │ ├── err.D_OP_INT.badshift.d │ │ ├── err.D_OP_SCALAR.badcond.d │ │ ├── err.D_OP_SCALAR.badincop.d │ │ ├── err.D_OP_SCALAR.badlogop.d │ │ ├── err.D_PROTO_LEN.badcond1.d │ │ ├── err.D_SYNTAX.badenum.d │ │ ├── err.D_SYNTAX.badid.d │ │ ├── err.D_SYNTAX.badstruct.d │ │ ├── err.D_UNKNOWN.badtype1.d │ │ ├── err.D_UNKNOWN.badtype2.d │ │ ├── err.D_UNKNOWN.dupenum.d │ │ ├── err.D_UNKNOWN.dupstruct.d │ │ ├── err.D_XLATE_REDECL.ResultDynType.d │ │ ├── tst.assignops.d │ │ ├── tst.badshiftops.d │ │ ├── tst.basics.d │ │ ├── tst.basics.d.out │ │ ├── tst.bitops.d │ │ ├── tst.charconstants.d │ │ ├── tst.complex.d │ │ ├── tst.condexpr.d │ │ ├── tst.constants.d │ │ ├── tst.conv.d │ │ ├── tst.enum.d │ │ ├── tst.intincop.d │ │ ├── tst.intops.d │ │ ├── tst.inttypes.d │ │ ├── tst.ptrincop.d │ │ ├── tst.ptrops.d │ │ ├── tst.relenum.d │ │ ├── tst.relstring.d │ │ ├── tst.shiftops.d │ │ ├── tst.stringconstants.d │ │ ├── tst.struct.d │ │ ├── tst.typedef.d │ │ ├── tst.unaryop.d │ │ ├── tst.userlandkey.c │ │ ├── tst.userlandkey.d.out │ │ └── tst.userlandkey.ksh │ ├── union │ │ ├── err.D_ADDROF_VAR.UnionPointer.d │ │ ├── err.D_DECL_COMBO.UnionWithoutColon.d │ │ ├── err.D_DECL_COMBO.UnionWithoutColon1.d │ │ ├── err.D_DECL_INCOMPLETE.circular.d │ │ ├── err.D_DECL_INCOMPLETE.order.d │ │ ├── err.D_DECL_INCOMPLETE.recursive.d │ │ ├── err.D_DECL_INCOMPLETE.simple.d │ │ ├── err.D_PROTO_ARG.DupUnionAssoc.d │ │ ├── tst.UnionAnon.d │ │ ├── tst.UnionAssoc.d │ │ ├── tst.UnionDataTypes.d │ │ └── tst.UnionInside.d │ ├── usdt_apple │ │ ├── test_provider.d │ │ ├── tst.basic.c │ │ ├── tst.basic.d │ │ ├── tst.fork_star.c │ │ ├── tst.fork_star.ksh │ │ ├── tst.star.c │ │ └── tst.star.d │ ├── ustack │ │ ├── tst.depth.ksh │ │ ├── tst.spin.c │ │ └── tst.spin.ksh │ ├── vars │ │ ├── tst.gid.d │ │ ├── tst.nullassign.d │ │ ├── tst.ppid.d │ │ ├── tst.ucaller.ksh │ │ ├── tst.ucaller.ksh.out │ │ ├── tst.uid.d │ │ └── tst.walltimestamp.d │ └── version │ │ └── tst.1.0.d │ └── i386 │ ├── arrays │ ├── tst.uregsarray.d │ └── tst.vmregsarray.d │ ├── funcs │ ├── tst.badcopyin.d │ ├── tst.badcopyinstr.d │ ├── tst.badcopyout.d │ └── tst.badcopyoutstr.d │ ├── pid │ ├── tst.branch.d │ ├── tst.branch.s │ ├── tst.embedded.d │ ├── tst.embedded.s │ ├── tst.nop.c │ ├── tst.nop.d │ ├── tst.nop.s │ ├── tst.ret.d │ ├── tst.ret.s │ ├── tst.retlist.ksh │ ├── tst.retlist.s │ ├── tst.sse3.movshdup.c │ └── tst.sse3.movshdup.d │ └── ustack │ ├── tst.annotated.c │ ├── tst.annotated.d │ ├── tst.annotated.d.out │ ├── tst.annotated_helper.d │ ├── tst.helper.c │ ├── tst.helper.d │ ├── tst.helper.d.out │ └── tst.helper_helper.d └── tools └── ctfconvert ├── alist.cpp ├── alist.h ├── array.c ├── array.h ├── atom.cpp ├── atom.h ├── barrier.c ├── barrier.h ├── compare.c ├── ctf.c ├── ctf_headers.h ├── ctfconvert.c ├── ctfmerge.c ├── ctfmerge.h ├── ctftools.h ├── dump.c ├── dwarf.c ├── fifo.c ├── fifo.h ├── hash.c ├── hash.h ├── iidesc.c ├── input.c ├── list.c ├── list.h ├── memory.c ├── memory.h ├── merge.c ├── output.c ├── stack.c ├── stack.h ├── strtab.cpp ├── strtab.h ├── symbol.c ├── symbol.h ├── tdata.c ├── traverse.c ├── traverse.h ├── util.c ├── utils.c └── utils.h /DTTk/Apps/Readme: -------------------------------------------------------------------------------- 1 | Apps - Specific Application based analysis 2 | 3 | These are DTrace scripts that are written to analyse a particular 4 | application or applictaion layer protocol. For example, Apache or NFS 5 | scripts would appear here. 6 | -------------------------------------------------------------------------------- /DTTk/Cpu/Readme: -------------------------------------------------------------------------------- 1 | Cpu - CPU based analysis 2 | 3 | This would include activity by CPU. 4 | -------------------------------------------------------------------------------- /DTTk/Disk/Readme: -------------------------------------------------------------------------------- 1 | Disk - Disk based analysis 2 | 3 | These are scripts that analyse I/O activity that has made it to the disks. 4 | -------------------------------------------------------------------------------- /DTTk/Docs/Examples/creatbyproc_example.txt: -------------------------------------------------------------------------------- 1 | The following is an example of the creatbyproc.d script, 2 | 3 | 4 | Here we run creatbyproc.d for several seconds, 5 | 6 | # ./creatbyproc.d 7 | dtrace: script './creatbyproc.d' matched 2 probes 8 | CPU ID FUNCTION:NAME 9 | 0 5438 creat64:entry touch /tmp/newfile 10 | 0 5438 creat64:entry sh /tmp/mpLaaOik 11 | 0 5438 creat64:entry sh /dev/null 12 | ^C 13 | 14 | In another window, the following commands were run, 15 | 16 | touch /tmp/newfile 17 | man ls 18 | 19 | The file creation activity caused by these commands can be seen in the 20 | output by creatbyproc.d 21 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /DTTk/Docs/Examples/intbycpu_example.txt: -------------------------------------------------------------------------------- 1 | The following is a demonstration of the intbycpu.d script, 2 | 3 | # intbycpu.d 4 | Tracing... Hit Ctrl-C to end. 5 | ^C 6 | CPU INTERRUPTS 7 | 0 374 8 | 1 412 9 | 10 | In the above output, CPU 1 had 421 interrupts, and CPU 0 had 374. 11 | 12 | -------------------------------------------------------------------------------- /DTTk/Docs/Examples/iofileb_example.txt: -------------------------------------------------------------------------------- 1 | The following is a demonstration of the iofileb.d script, 2 | 3 | 4 | Here we run it while a tar command is backing up /var/adm, 5 | 6 | # ./iofileb.d 7 | Tracing... Hit Ctrl-C to end. 8 | ^C 9 | PID CMD KB FILE 10 | 29529 tar 56 /var/adm/sa/sa31 11 | 29529 tar 56 /var/adm/sa/sa03 12 | 29529 tar 56 /var/adm/sa/sa02 13 | 29529 tar 56 /var/adm/sa/sa01 14 | 29529 tar 56 /var/adm/sa/sa04 15 | 29529 tar 56 /var/adm/sa/sa27 16 | 29529 tar 56 /var/adm/sa/sa28 17 | 29529 tar 324 /var/adm/exacct/task 18 | 29529 tar 736 /var/adm/wtmpx 19 | 20 | In the above output, we can see that the tar command has caused 736 Kbytes 21 | of the /var/adm/wtmpx file to be read from disk. All af the Kbyte values 22 | measured are for disk activity. 23 | 24 | -------------------------------------------------------------------------------- /DTTk/Docs/Examples/kill_example.txt: -------------------------------------------------------------------------------- 1 | This is an example of the kill.d DTrace script, 2 | 3 | # kill.d 4 | FROM COMMAND SIG TO RESULT 5 | 2344 bash 2 3117 0 6 | 2344 bash 9 12345 -1 7 | ^C 8 | 9 | In the above output, a kill -2 (Ctrl-C) was sent from the bash command 10 | to PID 3177. Then a kill -9 (SIGKILL) was sent to PID 12345 - which 11 | returned a "-1" for failure. 12 | 13 | -------------------------------------------------------------------------------- /DTTk/Docs/Examples/loads_example.txt: -------------------------------------------------------------------------------- 1 | The following is a demonstration of the loads.d script. 2 | 3 | 4 | Here we run both loads.d and the uptime command for comparison, 5 | 6 | # uptime 7 | 1:30am up 14 day(s), 2:27, 3 users, load average: 3.52, 3.45, 3.05 8 | 9 | # ./loads.d 10 | 2005 Jun 11 01:30:49, load average: 3.52, 3.45, 3.05 11 | 12 | Both have returned the same load average, confirming that loads.d is 13 | behaving as expected. 14 | 15 | 16 | The point of loads.d is to demonstrate fetching the same data as uptime 17 | does, in the DTrace language. It is not intended as a replacement 18 | or substitute to the uptime(1) command. 19 | 20 | -------------------------------------------------------------------------------- /DTTk/Docs/Examples/pidpersec_example.txt: -------------------------------------------------------------------------------- 1 | The following is a demonstration of the pidpersec.d script. 2 | 3 | 4 | Here the program is run on an idle system, 5 | 6 | # ./pidpersec.d 7 | TIME LASTPID PID/s 8 | 2005 Jun 9 22:15:09 3010 0 9 | 2005 Jun 9 22:15:10 3010 0 10 | 2005 Jun 9 22:15:11 3010 0 11 | 2005 Jun 9 22:15:12 3010 0 12 | 2005 Jun 9 22:15:13 3010 0 13 | ^C 14 | 15 | This shows that there are now new processes being created. 16 | 17 | 18 | 19 | Now the script is run on a busy system, that is creating many processes 20 | (which happen to be short-lived), 21 | 22 | # ./pidpersec.d 23 | TIME LASTPID PID/s 24 | 2005 Jun 9 22:16:30 3051 13 25 | 2005 Jun 9 22:16:31 3063 12 26 | 2005 Jun 9 22:16:32 3073 10 27 | 2005 Jun 9 22:16:33 3084 11 28 | 2005 Jun 9 22:16:34 3096 12 29 | ^C 30 | 31 | Now we can see that there are over 10 new processes created each second. 32 | The value for lastpid confirms the rates printed. 33 | 34 | -------------------------------------------------------------------------------- /DTTk/Docs/Examples/rwbypid_example.txt: -------------------------------------------------------------------------------- 1 | The following is a demonstration of the rwbypid.d script, 2 | 3 | 4 | Here we run it for a few seconds then hit Ctrl-C, 5 | 6 | # rwbypid.d 7 | Tracing... Hit Ctrl-C to end. 8 | ^C 9 | PID CMD DIR COUNT 10 | 11131 dtrace W 2 11 | 20334 sshd W 17 12 | 20334 sshd R 24 13 | 1532 Xorg W 69 14 | 1659 mozilla-bin R 852 15 | 1659 mozilla-bin W 1128 16 | 1532 Xorg R 1702 17 | 18 | In the above output, we can see that Xorg with PID 1532 has made 1702 reads. 19 | 20 | -------------------------------------------------------------------------------- /DTTk/Docs/Examples/sigdist_example.txt: -------------------------------------------------------------------------------- 1 | The following is a demonstration of the sigdist.d script. 2 | 3 | 4 | Here we run sigdist.d, and in another window we kill -9 a sleep process, 5 | 6 | # ./sigdist.d 7 | Tracing... Hit Ctrl-C to end. 8 | ^C 9 | SENDER RECIPIENT SIG COUNT 10 | sched dtrace 2 1 11 | sched bash 18 1 12 | bash sleep 9 1 13 | sched Xorg 14 55 14 | 15 | We can see the signal sent from bash to sleep. We can also see that Xorg 16 | has recieved 55 signal 14s. a "man -s3head signal" may help explain what 17 | signal 14 is (alarm clock). 18 | 19 | -------------------------------------------------------------------------------- /DTTk/Docs/Examples/syscallbyproc_example.txt: -------------------------------------------------------------------------------- 1 | The following is an example of the syscallbyproc.d script, 2 | 3 | # syscallbyproc.d 4 | dtrace: description 'syscall:::entry ' matched 228 probes 5 | ^C 6 | snmpd 1 7 | utmpd 2 8 | inetd 2 9 | nscd 7 10 | svc.startd 11 11 | sendmail 31 12 | poold 133 13 | dtrace 1720 14 | 15 | The above output shows that dtrace made the most system calls in this sample, 16 | 1720 syscalls. 17 | 18 | -------------------------------------------------------------------------------- /DTTk/Docs/Links: -------------------------------------------------------------------------------- 1 | Links - DTrace links 2 | 3 | http://www.opensolaris.org/os/community/dtrace/dtracetoolkit 4 | DTraceToolkit Home 5 | 6 | http://www.opensolaris.org/os/community/dtrace 7 | OpenSolaris DTrace site 8 | 9 | http://www.brendangregg.com/dtrace.html 10 | DTraceToolkit 11 | DTrace Tools 12 | 13 | http://www.sun.com/bigadmin/content/dtrace 14 | DTrace site on BigAdmin 15 | 16 | http://docs.sun.com/db/doc/817-6223 17 | DTrace Guide (answerbook) 18 | 19 | http://blogs.sun.com/roller/page/bmc 20 | Bryan Cantrill's Blog (DTrace Team) 21 | 22 | http://blogs.sun.com/roller/page/ahl 23 | Adam Leventhal's Blog (DTrace Team) 24 | 25 | http://blogs.sun.com/mws 26 | Mike Shapiro's Blog (DTrace Team) 27 | 28 | http://www.solarisinternals.com/si/dtrace/index.php 29 | DTrace scripts by Richard McDougall 30 | 31 | -------------------------------------------------------------------------------- /DTTk/Docs/Maintainer: -------------------------------------------------------------------------------- 1 | Maintainer - The DTraceToolkit Author and Maintainer, 2 | 3 | Brendan Gregg 4 | brendan.gregg@tpg.com.au (or see website below for emailaddr) 5 | http://www.brendangregg.com 6 | 7 | -------------------------------------------------------------------------------- /DTTk/Docs/Notes/dappprof_notes.txt: -------------------------------------------------------------------------------- 1 | The following are extra notes on the dappprof command, 2 | 3 | 4 | * Can I trust the elapsed and on-cpu times? 5 | 6 | See the documentation for this point in the dtruss_notes.txt file. 7 | 8 | 9 | -------------------------------------------------------------------------------- /DTTk/Docs/Notes/dapptrace_notes.txt: -------------------------------------------------------------------------------- 1 | The following are extra notes on the dapptrace command, 2 | 3 | 4 | * Can I trust the elapsed and on-cpu times? 5 | 6 | See the documentation for this point in the dtruss_notes.txt file. 7 | 8 | 9 | 10 | * The output appears shuffled? 11 | 12 | Read the answer to this in ALLsnoop_notes.txt. 13 | 14 | -------------------------------------------------------------------------------- /DTTk/Docs/Notes/procsystime_notes.txt: -------------------------------------------------------------------------------- 1 | The following are extra notes on the procsystime command, 2 | 3 | 4 | * Can I trust the elapsed and on-cpu times? 5 | 6 | See the documentation for this point in the dtruss_notes.txt file. 7 | 8 | 9 | -------------------------------------------------------------------------------- /DTTk/Docs/Readme: -------------------------------------------------------------------------------- 1 | Docs - DTraceToolkit Documentation 2 | 3 | Contents summary of toolkit commands 4 | Docs/Examples examples of command usage 5 | Docs/Notes notes on commands 6 | 7 | The following may be followed to learn about a DTraceToolkit command, 8 | 9 | 1. read "Contents" for a command name and toolkit location. 10 | 2. run the command with "-h" to check it's usage. 11 | 3. read the manpage from Man/man1m. 12 | 4. read the examples from Docs/Examples. 13 | 5. read the notes from Docs/Notes. 14 | 15 | Try the following to discover all docs related to a command, eg iosnoop, 16 | 17 | find . | grep iosnoop 18 | 19 | best run from the DTraceToolkit root directory. 20 | 21 | -------------------------------------------------------------------------------- /DTTk/Docs/ToDo: -------------------------------------------------------------------------------- 1 | ToDo - To Do List 2 | 3 | The following is a list of todo reminders for the DTraceToolkit. 4 | If you are about to email us a suggestion, maybe it's already on 5 | the todo list? :) 6 | 7 | * many more notes files in Docs/Notes. 8 | 9 | 10 | -------------------------------------------------------------------------------- /DTTk/Docs/cddl1.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apple-oss-distributions/dtrace/6a6c61d813c93d4a12a0e0cec4ae144c009bdaf1/DTTk/Docs/cddl1.txt -------------------------------------------------------------------------------- /DTTk/Kernel/Readme: -------------------------------------------------------------------------------- 1 | Kernel - Kernel based analysis 2 | 3 | These are scripts to monitor kernel activity. 4 | -------------------------------------------------------------------------------- /DTTk/Locks/lockbydist.d: -------------------------------------------------------------------------------- 1 | #!/usr/sbin/dtrace -s 2 | /* 3 | * lockbydist.d - lock distrib. by process name. DTrace OneLiner. 4 | * 5 | * This is a DTrace OneLiner from the DTraceToolkit. 6 | * 7 | * 15-May-2005 Brendan Gregg Created this. 8 | */ 9 | 10 | lockstat:::adaptive-block { @time[execname] = quantize(arg1); } 11 | -------------------------------------------------------------------------------- /DTTk/Locks/lockbyproc.d: -------------------------------------------------------------------------------- 1 | #!/usr/sbin/dtrace -s 2 | /* 3 | * lockbyproc.d - lock time by process name. DTrace OneLiner. 4 | * 5 | * This is a DTrace OneLiner from the DTraceToolkit. 6 | * 7 | * 15-May-2005 Brendan Gregg Created this. 8 | */ 9 | 10 | lockstat:::adaptive-block { @time[execname] = sum(arg1); } 11 | -------------------------------------------------------------------------------- /DTTk/Man/man1m/dispqlen.d.1m: -------------------------------------------------------------------------------- 1 | .TH dispqlen.d 1m "Jun 27, 2005" "version 0.80" "USER COMMANDS" 2 | .SH NAME 3 | dispqlen.d \- dispatcher queue length by CPU. Uses DTrace. 4 | .SH SYNOPSIS 5 | .B dispqlen.d 6 | .SH DESCRIPTION 7 | The dispatcher queue length is an indication of CPU saturation. 8 | It is not an indicatior of utilisation - the CPUs may or may not be 9 | utilised when the dispatcher queue reports a length of zero. 10 | 11 | This script measures this activity by sampling at 1000 Hertz per CPU. 12 | 13 | Since this uses DTrace, only users with root privileges can run this command. 14 | .SH EXAMPLES 15 | .TP 16 | Print dispatcher queue length by CPU. 17 | # 18 | .B dispqlen.d 19 | .PP 20 | .SH DOCUMENTATION 21 | See the DTraceToolkit for further documentation under the 22 | Docs directory. The DTraceToolkit docs may include full worked 23 | examples with verbose descriptions explaining the output. 24 | .SH EXIT 25 | dispqlen.d will sample until Ctrl-C is hit. 26 | .SH AUTHOR 27 | Brendan Gregg 28 | [Sydney, Australia] 29 | .SH SEE ALSO 30 | uptime(1), dtrace(1M) 31 | 32 | -------------------------------------------------------------------------------- /DTTk/Man/man1m/loads.d.1m: -------------------------------------------------------------------------------- 1 | .TH loads.d 1m "Jun 10, 2005" "version 0.90" "USER COMMANDS" 2 | .SH NAME 3 | loads.d \- print load averages. Uses DTrace. 4 | .SH SYNOPSIS 5 | .B loads.d 6 | .SH DESCRIPTION 7 | These are the same load averages that the "uptime" command prints. 8 | The purpose of this script is to demonstrate fetching these values 9 | from the DTrace language. 10 | 11 | The first field is the 1 minute average, the second is the 5 minute, 12 | and the third is the 15 minute average. The value represents the average 13 | number of runnable threads in the system, a value higher than your 14 | CPU (core/hwthread) count may be a sign of CPU saturation. 15 | 16 | Since this uses DTrace, only users with root privileges can run this command. 17 | .SH EXAMPLES 18 | .TP 19 | Print load averages, 20 | # 21 | .B loads.d 22 | .PP 23 | .SH DOCUMENTATION 24 | See the DTraceToolkit for further documentation under the 25 | Docs directory. The DTraceToolkit docs may include full worked 26 | examples with verbose descriptions explaining the output. 27 | .SH AUTHOR 28 | Brendan Gregg 29 | [Sydney, Australia] 30 | .SH SEE ALSO 31 | uptime(1), dtrace(1M) 32 | 33 | -------------------------------------------------------------------------------- /DTTk/Man/man1m/pathopens.d.1m: -------------------------------------------------------------------------------- 1 | .TH pathopens.d 1m "Jun 28, 2005" "version 0.80" "USER COMMANDS" 2 | .SH NAME 3 | pathopens.d \- full pathnames opened ok count. Uses DTrace. 4 | .SH SYNOPSIS 5 | .B pathopens.d 6 | .SH DESCRIPTION 7 | This program prints a count of the number of times files have been 8 | successfully opened. This is somewhat special in that the full pathname 9 | is calculated, even if the file open referred to a relative pathname. 10 | 11 | Since this uses DTrace, only users with root privileges can run this command. 12 | .SH EXAMPLES 13 | .TP 14 | This samples until Ctrl\-C is hit. 15 | # 16 | .B pathopens.d 17 | .PP 18 | .SH FIELDS 19 | .TP 20 | PATHNAME 21 | full pathname 22 | .TP 23 | COUNT 24 | number of successful opens 25 | .PP 26 | .SH DOCUMENTATION 27 | See the DTraceToolkit for further documentation under the 28 | Docs directory. The DTraceToolkit docs may include full worked 29 | examples with verbose descriptions explaining the output. 30 | .SH EXIT 31 | pathopens.d will sample until Ctrl\-C is hit. 32 | .SH SEE ALSO 33 | opensnoop(1M), dtrace(1M) 34 | -------------------------------------------------------------------------------- /DTTk/Man/man1m/pidpersec.d.1m: -------------------------------------------------------------------------------- 1 | .TH pidpersec.d 1m "Jun 09, 2005" "version 0.80" "USER COMMANDS" 2 | .SH NAME 3 | pidpersec.d \- print new PIDs per sec. Uses DTrace. 4 | .SH SYNOPSIS 5 | .B pidpersec.d 6 | .SH DESCRIPTION 7 | This script prints the number of new processes created per second. 8 | 9 | Since this uses DTrace, only users with root privileges can run this command. 10 | .SH EXAMPLES 11 | .TP 12 | Print PID statistics per second, 13 | # 14 | .B pidpersec.d 15 | .PP 16 | .SH FIELDS 17 | .TP 18 | TIME 19 | time, as a string 20 | .TP 21 | LASTPID 22 | last PID created 23 | .TP 24 | PID/s 25 | Number of processes created per second 26 | .PP 27 | .SH DOCUMENTATION 28 | See the DTraceToolkit for further documentation under the 29 | Docs directory. The DTraceToolkit docs may include full worked 30 | examples with verbose descriptions explaining the output. 31 | .SH EXIT 32 | pidpersec.d will run until Ctrl\-C is hit. 33 | .SH AUTHOR 34 | Brendan Gregg 35 | [Sydney, Australia] 36 | .SH SEE ALSO 37 | execsnoop(1M), dtrace(1M) 38 | -------------------------------------------------------------------------------- /DTTk/Man/man1m/rwbypid.d.1m: -------------------------------------------------------------------------------- 1 | .TH rwbypid.d 1m "Jun 28, 2005" "version 1.00" "USER COMMANDS" 2 | .SH NAME 3 | rwbypid.d \- read/write calls by PID. Uses DTrace. 4 | .SH SYNOPSIS 5 | .B rwbypid.d 6 | .SH DESCRIPTION 7 | This script tracks the number of reads and writes at the syscall level 8 | by processes, printing the totals in a report. This matches reads 9 | and writes whether they succeed or not. 10 | 11 | Since this uses DTrace, only users with root privileges can run this command. 12 | .SH EXAMPLES 13 | .TP 14 | This samples until Ctrl\-C is hit. 15 | # 16 | .B rwbypid.d 17 | .PP 18 | .SH FIELDS 19 | .TP 20 | PID 21 | process ID 22 | .TP 23 | CMD 24 | process name 25 | .TP 26 | DIR 27 | direction, Read or Write 28 | .TP 29 | COUNT 30 | total calls 31 | .PP 32 | .SH DOCUMENTATION 33 | See the DTraceToolkit for further documentation under the 34 | Docs directory. The DTraceToolkit docs may include full worked 35 | examples with verbose descriptions explaining the output. 36 | .SH EXIT 37 | rwbypid.d will sample until Ctrl\-C is hit. 38 | .SH AUTHOR 39 | Brendan Gregg 40 | [Sydney, Australia] 41 | .SH SEE ALSO 42 | rwbbypid.d(1M), dtrace(1M) 43 | 44 | -------------------------------------------------------------------------------- /DTTk/Proc/Readme: -------------------------------------------------------------------------------- 1 | Proc - Process based analysis 2 | 3 | This would include activity by PID. 4 | -------------------------------------------------------------------------------- /DTTk/Proc/creatbyproc.d: -------------------------------------------------------------------------------- 1 | #!/usr/sbin/dtrace -s 2 | /* 3 | * creatbyproc.d - file creat()s by process name. DTrace OneLiner. 4 | * 5 | * This is a DTrace OneLiner from the DTraceToolkit. 6 | * 7 | * 11-Jun-2005 Brendan Gregg Created this. 8 | */ 9 | 10 | syscall::open:entry /arg1 == 0x0200 | 0x0400 | 0x0001 /* O_CREAT | O_TRUNC | O_WRONLY */ / 11 | { 12 | printf("%s %s", execname, copyinstr(arg0)); 13 | } 14 | -------------------------------------------------------------------------------- /DTTk/Proc/filebyproc.d: -------------------------------------------------------------------------------- 1 | #!/usr/sbin/dtrace -s 2 | /* 3 | * filebyproc.d - snoop files opened by process name. DTrace OneLiner. 4 | * 5 | * This is a DTrace OneLiner from the DTraceToolkit. 6 | * 7 | * 15-May-2005 Brendan Gregg Created this. 8 | */ 9 | 10 | syscall::open*:entry { printf("%s %s", execname, copyinstr(arg0)); } 11 | -------------------------------------------------------------------------------- /DTTk/Proc/syscallbyproc.d: -------------------------------------------------------------------------------- 1 | #!/usr/sbin/dtrace -s 2 | /* 3 | * syscallbyproc.d - report on syscalls by process name . DTrace OneLiner. 4 | * 5 | * This is a DTrace OneLiner from the DTraceToolkit. 6 | * 7 | * 15-May-2005 Brendan Gregg Created this. 8 | */ 9 | 10 | syscall:::entry { @num[execname] = count(); } 11 | -------------------------------------------------------------------------------- /DTTk/System/Readme: -------------------------------------------------------------------------------- 1 | System - System based analysis 2 | 3 | This would include measuring system wide activity. 4 | -------------------------------------------------------------------------------- /DTTk/System/syscallbysysc.d: -------------------------------------------------------------------------------- 1 | #!/usr/sbin/dtrace -s 2 | /* 3 | * syscallbysysc.d - report on syscalls by syscall. DTrace OneLiner. 4 | * 5 | * This is a DTrace OneLiner from the DTraceToolkit. 6 | * 7 | * 15-May-2005 Brendan Gregg Created this. 8 | */ 9 | 10 | syscall:::entry { @num[probefunc] = count(); } 11 | -------------------------------------------------------------------------------- /DTTk/User/Readme: -------------------------------------------------------------------------------- 1 | User - User based analysis 2 | 3 | This would include activity by UID. 4 | -------------------------------------------------------------------------------- /DTTk/Version: -------------------------------------------------------------------------------- 1 | DTraceToolkit version 0.96, 24-Apr-2006 2 | -------------------------------------------------------------------------------- /XCTests/ctf-test/ctf_lib.swift: -------------------------------------------------------------------------------- 1 | // 2 | // ctf_lib.swift 3 | // dtrace 4 | // 5 | // Created by tjedlicka on 5/11/22. 6 | // 7 | 8 | import XCTest 9 | 10 | class ctf_lib: XCTestCase { 11 | 12 | func testVersion() { 13 | XCTAssertEqual(CTF_VERSION, CTF_VERSION_4) 14 | } 15 | 16 | func testContainerCreate() { 17 | var ctf_container: UnsafeMutablePointer? 18 | var err: Int32 = 0 19 | 20 | ctf_container = ctf_create(&err) 21 | 22 | XCTAssertNotNil(ctf_container) 23 | XCTAssertEqual(err, 0) 24 | 25 | ctf_close(ctf_container) 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /XCTests/ctf-test/ctf_test_bridge.h: -------------------------------------------------------------------------------- 1 | 2 | #import "ctf_impl.h" 3 | -------------------------------------------------------------------------------- /cmd/dtrace/dtrace-entitlements.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | com.apple.private.kernel.get-kext-info 6 | 7 | com.apple.security.cs.debugger.read.root 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /config/com.apple.dtrace.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | DTrace 6 | 7 | Enable 8 | Info 9 | Enable-Oversize-Messages 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /config/ctftools.xcconfig: -------------------------------------------------------------------------------- 1 | #include "base.xcconfig" 2 | // On OSX, binaries are not built fat. 3 | VALID_ARCHS[sdk=macosx*] = $(ARCHS_STANDARD_64_BIT) 4 | ARCHS[sdk=macosx*] = $(ARCHS_STANDARD_64_BIT) 5 | INSTALL_PATH = $(TOOLCHAIN_INSTALL_DIR)/usr/local/bin 6 | 7 | STRIP_STYLE = debugging 8 | 9 | COPY_PHASE_STRIP[config=Debug][sdk=*] = NO 10 | COPY_PHASE_STRIP[config=Releas][sdk=*] = YES 11 | 12 | -------------------------------------------------------------------------------- /config/dtrace.xcconfig: -------------------------------------------------------------------------------- 1 | #include "dtrace_executable.xcconfig" 2 | INSTALL_PATH = /usr/sbin/; 3 | 4 | -------------------------------------------------------------------------------- /config/dtrace_executable.xcconfig: -------------------------------------------------------------------------------- 1 | #include "base.xcconfig" 2 | 3 | INSTALL_PATH = /usr/bin 4 | CODE_SIGN_ENTITLEMENTS = $(SRCROOT)/cmd/dtrace/dtrace-entitlements.plist 5 | 6 | // On macOS, binaries are not built fat. 7 | VALID_ARCHS[sdk=macosx*] = $(ARCHS_STANDARD_64_BIT) 8 | ARCHS[sdk=macosx*] = $(ARCHS_STANDARD_64_BIT) 9 | 10 | STRIP_STYLE = debugging 11 | 12 | COPY_PHASE_STRIP[config=Debug][sdk=*] = NO 13 | COPY_PHASE_STRIP[config=Releas][sdk=*] = YES 14 | 15 | -------------------------------------------------------------------------------- /config/dtrace_local_executable.xcconfig: -------------------------------------------------------------------------------- 1 | #include "dtrace_executable.xcconfig" 2 | INSTALL_PATH = /usr/local/bin 3 | -------------------------------------------------------------------------------- /config/static.xcconfig: -------------------------------------------------------------------------------- 1 | #include "base.xcconfig" 2 | SKIP_INSTALL = YES 3 | STRIP_INSTALLED_PRODUCT = NO 4 | COPY_PHASE_STRIP = NO 5 | DEBUG_INFORMATION_FORMAT = dwarf 6 | SEPARATE_STRIP = NO 7 | 8 | GCC_GENERATE_DEBUGGING_SYMBOLS = YES 9 | -------------------------------------------------------------------------------- /config/test_executable.xcconfig: -------------------------------------------------------------------------------- 1 | #include "base.xcconfig" 2 | STRIP_INSTALLED_PRODUCT = NO 3 | COPY_PHASE_STRIP = NO 4 | DEBUG_INFORMATION_FORMAT = dwarf 5 | GCC_OPTIMIZATION_LEVEL = 0 6 | COPY_PHASE_STRIP = NO 7 | LLVM_LTO[config=Release] = NO 8 | -------------------------------------------------------------------------------- /config/tests/test_io.xcconfig: -------------------------------------------------------------------------------- 1 | #include "../test_executable.xcconfig" 2 | INSTALL_PATH = $(COMMON_TEST_PATH)/io 3 | 4 | -------------------------------------------------------------------------------- /config/tests/test_json.xcconfig: -------------------------------------------------------------------------------- 1 | #include "../test_executable.xcconfig" 2 | INSTALL_PATH = $(COMMON_TEST_PATH)/json 3 | 4 | -------------------------------------------------------------------------------- /config/tests/test_lib.xcconfig: -------------------------------------------------------------------------------- 1 | #include "../base.xcconfig" 2 | EXPORTED_SYMBOLS_FILE = test/tst/common/processcontrol/exports; 3 | INSTALL_PATH = $(COMMON_TEST_PATH)/processcontrol 4 | 5 | DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; 6 | GCC_OPTIMIZATION_LEVEL = 0; 7 | 8 | 9 | LIBRARY_STYLE = DYNAMIC; 10 | MACH_O_TYPE = mh_dylib; 11 | 12 | -------------------------------------------------------------------------------- /config/tests/test_objc.xcconfig: -------------------------------------------------------------------------------- 1 | #include "../test_executable.xcconfig" 2 | INSTALL_PATH = $(COMMON_TEST_PATH)/objc 3 | 4 | -------------------------------------------------------------------------------- /config/tests/test_perf.xcconfig: -------------------------------------------------------------------------------- 1 | #include "../test_executable.xcconfig" 2 | INSTALL_PATH = $(COMMON_TEST_PATH)/perf 3 | CODE_SIGN_ENTITLEMENTS = $(SRCROOT)/cmd/dtrace/dtrace-entitlements.plist 4 | 5 | -------------------------------------------------------------------------------- /config/tests/test_pid.xcconfig: -------------------------------------------------------------------------------- 1 | #include "../test_executable.xcconfig" 2 | INSTALL_PATH = $(COMMON_TEST_PATH)/pid 3 | 4 | -------------------------------------------------------------------------------- /config/tests/test_pid_i386.xcconfig: -------------------------------------------------------------------------------- 1 | #include "../test_executable.xcconfig" 2 | INSTALL_PATH = $(I386_TEST_PATH)/pid 3 | 4 | EXCLUDED_SOURCE_FILE_NAMES = * 5 | EXCLUDED_SOURCE_FILE_NAMES[arch=x86_64] = 6 | 7 | -------------------------------------------------------------------------------- /config/tests/test_probes.xcconfig: -------------------------------------------------------------------------------- 1 | #include "../test_executable.xcconfig" 2 | INSTALL_PATH = $(COMMON_TEST_PATH)/probes 3 | CLANG_CXX_STANDARD_LIBRARY_HARDENING = none 4 | -------------------------------------------------------------------------------- /config/tests/test_processcontrol.xcconfig: -------------------------------------------------------------------------------- 1 | #include "../test_executable.xcconfig" 2 | INSTALL_PATH = $(COMMON_TEST_PATH)/processcontrol 3 | 4 | -------------------------------------------------------------------------------- /config/tests/test_raise.xcconfig: -------------------------------------------------------------------------------- 1 | #include "../test_executable.xcconfig" 2 | INSTALL_PATH = $(COMMON_TEST_PATH)/raise 3 | 4 | -------------------------------------------------------------------------------- /config/tests/test_stop.xcconfig: -------------------------------------------------------------------------------- 1 | #include "../test_executable.xcconfig" 2 | INSTALL_PATH = $(COMMON_TEST_PATH)/stop 3 | 4 | -------------------------------------------------------------------------------- /config/tests/test_types.xcconfig: -------------------------------------------------------------------------------- 1 | #include "../test_executable.xcconfig" 2 | INSTALL_PATH = $(COMMON_TEST_PATH)/types 3 | 4 | -------------------------------------------------------------------------------- /config/tests/test_usdt_apple.xcconfig: -------------------------------------------------------------------------------- 1 | #include "../test_executable.xcconfig" 2 | INSTALL_PATH = $(COMMON_TEST_PATH)/usdt_apple 3 | 4 | -------------------------------------------------------------------------------- /config/tests/test_ustack.xcconfig: -------------------------------------------------------------------------------- 1 | #include "../test_executable.xcconfig" 2 | INSTALL_PATH = $(COMMON_TEST_PATH)/ustack 3 | 4 | -------------------------------------------------------------------------------- /config/tests/tst.has_initializers.exe.xcconfig: -------------------------------------------------------------------------------- 1 | #include "test_processcontrol.xcconfig" 2 | 3 | OTHER_LDFLAGS = $(inherited) -bind_at_load 4 | 5 | -------------------------------------------------------------------------------- /config/usdtheadergen.xcconfig: -------------------------------------------------------------------------------- 1 | #include "dtrace_executable.xcconfig" 2 | PUBLIC_HEADERS_FOLDER_PATH = /usr/include 3 | INSTALL_PATH = $(TOOLCHAIN_INSTALL_DIR)/usr/bin 4 | -------------------------------------------------------------------------------- /dtrace.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | OpenSourceProject 7 | dtrace 8 | OpenSourceVersion 9 | on-src-20060828 10 | OpenSourceURL 11 | http://hub.opensolaris.org/bin/view/downloads/on 12 | OpenSourceImportDate 13 | 2006-08-29 14 | OpenSourceLicense 15 | CDDL 16 | OpenSourceLicenseFile 17 | dtrace.txt 18 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /dtrace.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | BuildSystemType 6 | Latest 7 | 8 | 9 | -------------------------------------------------------------------------------- /include/llvm-Support/ReverseIteration.h: -------------------------------------------------------------------------------- 1 | #ifndef LLVM_SUPPORT_REVERSEITERATION_H 2 | #define LLVM_SUPPORT_REVERSEITERATION_H 3 | 4 | #include "llvm-Support/PointerLikeTypeTraits.h" 5 | 6 | namespace llvm { 7 | 8 | template 9 | bool shouldReverseIterate() { 10 | #if LLVM_ENABLE_REVERSE_ITERATION 11 | return detail::IsPointerLike::value; 12 | #else 13 | return false; 14 | #endif 15 | } 16 | 17 | } 18 | #endif 19 | -------------------------------------------------------------------------------- /lib/libdtrace/common/dt_grammar.h: -------------------------------------------------------------------------------- 1 | #include "y.tab.h" -------------------------------------------------------------------------------- /lib/libdwarf/COPYING: -------------------------------------------------------------------------------- 1 | 2 | 3 | The files: 4 | libdwarf.h 5 | dwarf.h 6 | and all the .h and .c files in this implementation of 7 | libdwarf are copyrighted according to the file 8 | LIBDWARFCOPYRIGHT. 9 | 10 | 11 | The dwarf documentation: 12 | dwarf.v2.mm and its postscript form and its 13 | indexes are copyright Unix International (UI is now defunct). 14 | One presumes XOPEN owns the copyright now. In any case copying 15 | and revision without fee is permitted (see the 16 | copyright in the document). 17 | 18 | The libdwarf documentation: 19 | libdwarf2.1.mm 20 | libdwarf2p.1.mm 21 | are based on material submitted to the UI PLSIG as proposed 22 | interfaces for dwarf. Copyright ownership is unclear, but 23 | it seems clear that the intent was there was to be free 24 | copying with no fees. 25 | 26 | These documents are substantial revisions, done at SGI, of 27 | previous libdwarf work. 28 | 29 | $Source: /plroot/cmplrs.src/v7.4.5m/.RCS/PL/libdwarf/RCS/COPYING,v $ 30 | $Revision: 1.2 $ 31 | $Date: 2001/01/16 17:08:36 $ 32 | -------------------------------------------------------------------------------- /lib/libelf/clscook_ELF64.c: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2005-2006 Apple Computer, Inc. All rights reserved. 3 | * 4 | * @APPLE_LICENSE_HEADER_START@ 5 | * 6 | * The contents of this file constitute Original Code as defined in and 7 | * are subject to the Apple Public Source License Version 1.1 (the 8 | * "License"). You may not use this file except in compliance with the 9 | * License. Please obtain a copy of the License at 10 | * http://www.apple.com/publicsource and read it before using this file. 11 | * 12 | * This Original Code and all software distributed under the License are 13 | * distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, EITHER 14 | * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 15 | * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 16 | * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT. Please see the 17 | * License for the specific language governing rights and limitations 18 | * under the License. 19 | * 20 | * @APPLE_LICENSE_HEADER_END@ 21 | */ 22 | 23 | #define _ELF64 24 | #include "clscook.c" 25 | 26 | -------------------------------------------------------------------------------- /scripts/dt_cpp.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2007 Apple Inc. All rights reserved. 3 | * 4 | * @APPLE_LICENSE_HEADER_START@ 5 | * 6 | * The contents of this file constitute Original Code as defined in and 7 | * are subject to the Apple Public Source License Version 1.1 (the 8 | * "License"). You may not use this file except in compliance with the 9 | * License. Please obtain a copy of the License at 10 | * http://www.apple.com/publicsource and read it before using this file. 11 | * 12 | * This Original Code and all software distributed under the License are 13 | * distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, EITHER 14 | * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 15 | * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 16 | * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT. Please see the 17 | * License for the specific language governing rights and limitations 18 | * under the License. 19 | * 20 | * @APPLE_LICENSE_HEADER_END@ 21 | */ 22 | 23 | #if !defined(__GNUC__) 24 | 25 | /* Delete the __asm define */ 26 | #define __asm(x) 27 | 28 | #endif 29 | -------------------------------------------------------------------------------- /scripts/swift_arm.d: -------------------------------------------------------------------------------- 1 | #pragma D depends_on module mach_kernel 2 | #pragma D depends_on library darwin.d 3 | #pragma D depends_on library regs_arm.d 4 | 5 | inline user_addr_t swifterror = uregs[R_R8]; 6 | inline user_addr_t swiftself = uregs[R_R10]; 7 | -------------------------------------------------------------------------------- /scripts/swift_arm64.d: -------------------------------------------------------------------------------- 1 | #pragma D depends_on module mach_kernel 2 | #pragma D depends_on library darwin.d 3 | #pragma D depends_on library regs_arm64.d 4 | 5 | inline user_addr_t swifterror = curpsinfo->pr_dmodel == PR_MODEL_LP64 ? uregs[R_X21] : uregs[R_R8]; 6 | inline user_addr_t swiftself = curpsinfo->pr_dmodel == PR_MODEL_LP64 ? uregs[R_X20] : uregs[R_R10]; 7 | -------------------------------------------------------------------------------- /scripts/swift_x86_64.d: -------------------------------------------------------------------------------- 1 | #pragma D depends_on module mach_kernel 2 | #pragma D depends_on library darwin.d 3 | #pragma D depends_on library regs_x86_64.d 4 | 5 | inline user_addr_t swifterror = curpsinfo->pr_dmodel == PR_MODEL_LP64 ? uregs[R_R12] : 0; 6 | inline user_addr_t swiftself = curpsinfo->pr_dmodel == PR_MODEL_LP64 ? uregs[R_R13] : 0; 7 | 8 | -------------------------------------------------------------------------------- /test/tst/common/SafetyTests: -------------------------------------------------------------------------------- 1 | safety/tst.basename.d 2 | safety/tst.caller.d 3 | safety/tst.cleanpath.d 4 | safety/tst.copyin.d 5 | # safety/tst.ddi_pathname.d /* WAIVED: Solaris device driver model specific. */ 6 | safety/tst.dirname.d 7 | safety/tst.index.d 8 | # safety/tst.msgdsize.d /* WAIVED: Darwin doesn't do SysV msg buffers(?) */ 9 | # safety/tst.msgsize.d 10 | safety/tst.null.d 11 | safety/tst.progenyof.d 12 | safety/tst.random.d 13 | # safety/tst.rw.d /* RADAR 4769158: Awaits rw_lock_is_held et al */ 14 | safety/tst.shortstr.d 15 | safety/tst.stack.d 16 | safety/tst.stackdepth.d 17 | safety/tst.strchr.d 18 | safety/tst.strjoin.d 19 | safety/tst.strstr.d 20 | safety/tst.strtok.d 21 | safety/tst.substr.d 22 | safety/tst.unalign.d 23 | safety/tst.uregs.d 24 | safety/tst.ustack.d 25 | safety/tst.ustackdepth.d 26 | safety/tst.vahole.d 27 | # safety/tst.violentdeath.ksh 28 | -------------------------------------------------------------------------------- /test/tst/common/aggs/err.D_LLQUANT_FACTOREVEN.nodivide.d: -------------------------------------------------------------------------------- 1 | /* 2 | * CDDL HEADER START 3 | * 4 | * The contents of this file are subject to the terms of the 5 | * Common Development and Distribution License (the "License"). 6 | * You may not use this file except in compliance with the License. 7 | * 8 | * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 9 | * or http://www.opensolaris.org/os/licensing. 10 | * See the License for the specific language governing permissions 11 | * and limitations under the License. 12 | * 13 | * When distributing Covered Code, include this CDDL HEADER in each 14 | * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 15 | * If applicable, add the following below this CDDL HEADER, with the 16 | * fields enclosed by brackets "[]" replaced with your own identifying 17 | * information: Portions Copyright [yyyy] [name of copyright owner] 18 | * 19 | * CDDL HEADER END 20 | */ 21 | 22 | /* 23 | * Copyright (c) 2011, Joyent, Inc. All rights reserved. 24 | */ 25 | 26 | BEGIN 27 | { 28 | @ = llquantize(0, 10, 0, 10, 25); 29 | } 30 | -------------------------------------------------------------------------------- /test/tst/common/aggs/err.D_LLQUANT_FACTOREVEN.notfactor.d: -------------------------------------------------------------------------------- 1 | /* 2 | * CDDL HEADER START 3 | * 4 | * The contents of this file are subject to the terms of the 5 | * Common Development and Distribution License (the "License"). 6 | * You may not use this file except in compliance with the License. 7 | * 8 | * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 9 | * or http://www.opensolaris.org/os/licensing. 10 | * See the License for the specific language governing permissions 11 | * and limitations under the License. 12 | * 13 | * When distributing Covered Code, include this CDDL HEADER in each 14 | * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 15 | * If applicable, add the following below this CDDL HEADER, with the 16 | * fields enclosed by brackets "[]" replaced with your own identifying 17 | * information: Portions Copyright [yyyy] [name of copyright owner] 18 | * 19 | * CDDL HEADER END 20 | */ 21 | 22 | /* 23 | * Copyright (c) 2011, Joyent, Inc. All rights reserved. 24 | */ 25 | 26 | BEGIN 27 | { 28 | @ = llquantize(0, 10, 0, 10, 30); 29 | } 30 | -------------------------------------------------------------------------------- /test/tst/common/aggs/err.D_LLQUANT_FACTORMATCH.d: -------------------------------------------------------------------------------- 1 | /* 2 | * CDDL HEADER START 3 | * 4 | * The contents of this file are subject to the terms of the 5 | * Common Development and Distribution License (the "License"). 6 | * You may not use this file except in compliance with the License. 7 | * 8 | * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 9 | * or http://www.opensolaris.org/os/licensing. 10 | * See the License for the specific language governing permissions 11 | * and limitations under the License. 12 | * 13 | * When distributing Covered Code, include this CDDL HEADER in each 14 | * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 15 | * If applicable, add the following below this CDDL HEADER, with the 16 | * fields enclosed by brackets "[]" replaced with your own identifying 17 | * information: Portions Copyright [yyyy] [name of copyright owner] 18 | * 19 | * CDDL HEADER END 20 | */ 21 | 22 | /* 23 | * Copyright (c) 2011, Joyent, Inc. All rights reserved. 24 | */ 25 | 26 | BEGIN 27 | { 28 | @ = llquantize(0, 10, 0, 10, 10); 29 | @ = llquantize(0, 3, 0, 10, 81); 30 | } 31 | -------------------------------------------------------------------------------- /test/tst/common/aggs/err.D_LLQUANT_FACTORNSTEPS.d: -------------------------------------------------------------------------------- 1 | /* 2 | * CDDL HEADER START 3 | * 4 | * The contents of this file are subject to the terms of the 5 | * Common Development and Distribution License (the "License"). 6 | * You may not use this file except in compliance with the License. 7 | * 8 | * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 9 | * or http://www.opensolaris.org/os/licensing. 10 | * See the License for the specific language governing permissions 11 | * and limitations under the License. 12 | * 13 | * When distributing Covered Code, include this CDDL HEADER in each 14 | * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 15 | * If applicable, add the following below this CDDL HEADER, with the 16 | * fields enclosed by brackets "[]" replaced with your own identifying 17 | * information: Portions Copyright [yyyy] [name of copyright owner] 18 | * 19 | * CDDL HEADER END 20 | */ 21 | 22 | /* 23 | * Copyright (c) 2011, Joyent, Inc. All rights reserved. 24 | */ 25 | 26 | BEGIN 27 | { 28 | @ = llquantize(0, 10, 0, 10, 7); 29 | } 30 | -------------------------------------------------------------------------------- /test/tst/common/aggs/err.D_LLQUANT_FACTORSMALL.d: -------------------------------------------------------------------------------- 1 | /* 2 | * CDDL HEADER START 3 | * 4 | * The contents of this file are subject to the terms of the 5 | * Common Development and Distribution License (the "License"). 6 | * You may not use this file except in compliance with the License. 7 | * 8 | * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 9 | * or http://www.opensolaris.org/os/licensing. 10 | * See the License for the specific language governing permissions 11 | * and limitations under the License. 12 | * 13 | * When distributing Covered Code, include this CDDL HEADER in each 14 | * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 15 | * If applicable, add the following below this CDDL HEADER, with the 16 | * fields enclosed by brackets "[]" replaced with your own identifying 17 | * information: Portions Copyright [yyyy] [name of copyright owner] 18 | * 19 | * CDDL HEADER END 20 | */ 21 | 22 | /* 23 | * Copyright (c) 2011, Joyent, Inc. All rights reserved. 24 | */ 25 | 26 | BEGIN 27 | { 28 | @ = llquantize(0, 1, 0, 10, 10); 29 | } 30 | -------------------------------------------------------------------------------- /test/tst/common/aggs/err.D_LLQUANT_FACTORTYPE.d: -------------------------------------------------------------------------------- 1 | /* 2 | * CDDL HEADER START 3 | * 4 | * The contents of this file are subject to the terms of the 5 | * Common Development and Distribution License (the "License"). 6 | * You may not use this file except in compliance with the License. 7 | * 8 | * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 9 | * or http://www.opensolaris.org/os/licensing. 10 | * See the License for the specific language governing permissions 11 | * and limitations under the License. 12 | * 13 | * When distributing Covered Code, include this CDDL HEADER in each 14 | * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 15 | * If applicable, add the following below this CDDL HEADER, with the 16 | * fields enclosed by brackets "[]" replaced with your own identifying 17 | * information: Portions Copyright [yyyy] [name of copyright owner] 18 | * 19 | * CDDL HEADER END 20 | */ 21 | 22 | /* 23 | * Copyright (c) 2011, Joyent, Inc. All rights reserved. 24 | */ 25 | 26 | BEGIN 27 | { 28 | this->doogle = 10; 29 | @ = llquantize(0, this->doogle, 0, 10, 10); 30 | } 31 | -------------------------------------------------------------------------------- /test/tst/common/aggs/err.D_LLQUANT_FACTORVAL.d: -------------------------------------------------------------------------------- 1 | /* 2 | * CDDL HEADER START 3 | * 4 | * The contents of this file are subject to the terms of the 5 | * Common Development and Distribution License (the "License"). 6 | * You may not use this file except in compliance with the License. 7 | * 8 | * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 9 | * or http://www.opensolaris.org/os/licensing. 10 | * See the License for the specific language governing permissions 11 | * and limitations under the License. 12 | * 13 | * When distributing Covered Code, include this CDDL HEADER in each 14 | * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 15 | * If applicable, add the following below this CDDL HEADER, with the 16 | * fields enclosed by brackets "[]" replaced with your own identifying 17 | * information: Portions Copyright [yyyy] [name of copyright owner] 18 | * 19 | * CDDL HEADER END 20 | */ 21 | 22 | /* 23 | * Copyright (c) 2011, Joyent, Inc. All rights reserved. 24 | */ 25 | 26 | BEGIN 27 | { 28 | @ = llquantize(0, 65537, 0, 10, 10); 29 | } 30 | -------------------------------------------------------------------------------- /test/tst/common/aggs/err.D_LLQUANT_HIGHMATCH.d: -------------------------------------------------------------------------------- 1 | /* 2 | * CDDL HEADER START 3 | * 4 | * The contents of this file are subject to the terms of the 5 | * Common Development and Distribution License (the "License"). 6 | * You may not use this file except in compliance with the License. 7 | * 8 | * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 9 | * or http://www.opensolaris.org/os/licensing. 10 | * See the License for the specific language governing permissions 11 | * and limitations under the License. 12 | * 13 | * When distributing Covered Code, include this CDDL HEADER in each 14 | * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 15 | * If applicable, add the following below this CDDL HEADER, with the 16 | * fields enclosed by brackets "[]" replaced with your own identifying 17 | * information: Portions Copyright [yyyy] [name of copyright owner] 18 | * 19 | * CDDL HEADER END 20 | */ 21 | 22 | /* 23 | * Copyright (c) 2011, Joyent, Inc. All rights reserved. 24 | */ 25 | 26 | BEGIN 27 | { 28 | @ = llquantize(0, 10, 0, 10, 10); 29 | @ = llquantize(0, 10, 0, 11, 10); 30 | } 31 | -------------------------------------------------------------------------------- /test/tst/common/aggs/err.D_LLQUANT_HIGHTYPE.d: -------------------------------------------------------------------------------- 1 | /* 2 | * CDDL HEADER START 3 | * 4 | * The contents of this file are subject to the terms of the 5 | * Common Development and Distribution License (the "License"). 6 | * You may not use this file except in compliance with the License. 7 | * 8 | * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 9 | * or http://www.opensolaris.org/os/licensing. 10 | * See the License for the specific language governing permissions 11 | * and limitations under the License. 12 | * 13 | * When distributing Covered Code, include this CDDL HEADER in each 14 | * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 15 | * If applicable, add the following below this CDDL HEADER, with the 16 | * fields enclosed by brackets "[]" replaced with your own identifying 17 | * information: Portions Copyright [yyyy] [name of copyright owner] 18 | * 19 | * CDDL HEADER END 20 | */ 21 | 22 | /* 23 | * Copyright (c) 2011, Joyent, Inc. All rights reserved. 24 | */ 25 | 26 | BEGIN 27 | { 28 | this->doogle = 10; 29 | @ = llquantize(0, 10, 0, this->doogle, 10); 30 | } 31 | -------------------------------------------------------------------------------- /test/tst/common/aggs/err.D_LLQUANT_HIGHVAL.d: -------------------------------------------------------------------------------- 1 | /* 2 | * CDDL HEADER START 3 | * 4 | * The contents of this file are subject to the terms of the 5 | * Common Development and Distribution License (the "License"). 6 | * You may not use this file except in compliance with the License. 7 | * 8 | * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 9 | * or http://www.opensolaris.org/os/licensing. 10 | * See the License for the specific language governing permissions 11 | * and limitations under the License. 12 | * 13 | * When distributing Covered Code, include this CDDL HEADER in each 14 | * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 15 | * If applicable, add the following below this CDDL HEADER, with the 16 | * fields enclosed by brackets "[]" replaced with your own identifying 17 | * information: Portions Copyright [yyyy] [name of copyright owner] 18 | * 19 | * CDDL HEADER END 20 | */ 21 | 22 | /* 23 | * Copyright (c) 2011, Joyent, Inc. All rights reserved. 24 | */ 25 | 26 | BEGIN 27 | { 28 | @ = llquantize(0, 10, 0, -1, 10); 29 | } 30 | -------------------------------------------------------------------------------- /test/tst/common/aggs/err.D_LLQUANT_LOWMATCH.d: -------------------------------------------------------------------------------- 1 | /* 2 | * CDDL HEADER START 3 | * 4 | * The contents of this file are subject to the terms of the 5 | * Common Development and Distribution License (the "License"). 6 | * You may not use this file except in compliance with the License. 7 | * 8 | * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 9 | * or http://www.opensolaris.org/os/licensing. 10 | * See the License for the specific language governing permissions 11 | * and limitations under the License. 12 | * 13 | * When distributing Covered Code, include this CDDL HEADER in each 14 | * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 15 | * If applicable, add the following below this CDDL HEADER, with the 16 | * fields enclosed by brackets "[]" replaced with your own identifying 17 | * information: Portions Copyright [yyyy] [name of copyright owner] 18 | * 19 | * CDDL HEADER END 20 | */ 21 | 22 | /* 23 | * Copyright (c) 2011, Joyent, Inc. All rights reserved. 24 | */ 25 | 26 | BEGIN 27 | { 28 | @ = llquantize(0, 10, 0, 10, 10); 29 | @ = llquantize(0, 10, 1, 10, 10); 30 | } 31 | -------------------------------------------------------------------------------- /test/tst/common/aggs/err.D_LLQUANT_LOWTYPE.d: -------------------------------------------------------------------------------- 1 | /* 2 | * CDDL HEADER START 3 | * 4 | * The contents of this file are subject to the terms of the 5 | * Common Development and Distribution License (the "License"). 6 | * You may not use this file except in compliance with the License. 7 | * 8 | * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 9 | * or http://www.opensolaris.org/os/licensing. 10 | * See the License for the specific language governing permissions 11 | * and limitations under the License. 12 | * 13 | * When distributing Covered Code, include this CDDL HEADER in each 14 | * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 15 | * If applicable, add the following below this CDDL HEADER, with the 16 | * fields enclosed by brackets "[]" replaced with your own identifying 17 | * information: Portions Copyright [yyyy] [name of copyright owner] 18 | * 19 | * CDDL HEADER END 20 | */ 21 | 22 | /* 23 | * Copyright (c) 2011, Joyent, Inc. All rights reserved. 24 | */ 25 | 26 | BEGIN 27 | { 28 | this->doogle = 0; 29 | @ = llquantize(0, 10, this->doogle, 10, 10); 30 | } 31 | -------------------------------------------------------------------------------- /test/tst/common/aggs/err.D_LLQUANT_LOWVAL.d: -------------------------------------------------------------------------------- 1 | /* 2 | * CDDL HEADER START 3 | * 4 | * The contents of this file are subject to the terms of the 5 | * Common Development and Distribution License (the "License"). 6 | * You may not use this file except in compliance with the License. 7 | * 8 | * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 9 | * or http://www.opensolaris.org/os/licensing. 10 | * See the License for the specific language governing permissions 11 | * and limitations under the License. 12 | * 13 | * When distributing Covered Code, include this CDDL HEADER in each 14 | * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 15 | * If applicable, add the following below this CDDL HEADER, with the 16 | * fields enclosed by brackets "[]" replaced with your own identifying 17 | * information: Portions Copyright [yyyy] [name of copyright owner] 18 | * 19 | * CDDL HEADER END 20 | */ 21 | 22 | /* 23 | * Copyright (c) 2011, Joyent, Inc. All rights reserved. 24 | */ 25 | 26 | BEGIN 27 | { 28 | @ = llquantize(0, 10, -1, 10, 10); 29 | } 30 | -------------------------------------------------------------------------------- /test/tst/common/aggs/err.D_LLQUANT_MAGRANGE.d: -------------------------------------------------------------------------------- 1 | /* 2 | * CDDL HEADER START 3 | * 4 | * The contents of this file are subject to the terms of the 5 | * Common Development and Distribution License (the "License"). 6 | * You may not use this file except in compliance with the License. 7 | * 8 | * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 9 | * or http://www.opensolaris.org/os/licensing. 10 | * See the License for the specific language governing permissions 11 | * and limitations under the License. 12 | * 13 | * When distributing Covered Code, include this CDDL HEADER in each 14 | * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 15 | * If applicable, add the following below this CDDL HEADER, with the 16 | * fields enclosed by brackets "[]" replaced with your own identifying 17 | * information: Portions Copyright [yyyy] [name of copyright owner] 18 | * 19 | * CDDL HEADER END 20 | */ 21 | 22 | /* 23 | * Copyright (c) 2011, Joyent, Inc. All rights reserved. 24 | */ 25 | 26 | BEGIN 27 | { 28 | @ = llquantize(0, 10, 10, 0, 10); 29 | } 30 | -------------------------------------------------------------------------------- /test/tst/common/aggs/err.D_LLQUANT_MAGTOOBIG.d: -------------------------------------------------------------------------------- 1 | /* 2 | * CDDL HEADER START 3 | * 4 | * The contents of this file are subject to the terms of the 5 | * Common Development and Distribution License (the "License"). 6 | * You may not use this file except in compliance with the License. 7 | * 8 | * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 9 | * or http://www.opensolaris.org/os/licensing. 10 | * See the License for the specific language governing permissions 11 | * and limitations under the License. 12 | * 13 | * When distributing Covered Code, include this CDDL HEADER in each 14 | * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 15 | * If applicable, add the following below this CDDL HEADER, with the 16 | * fields enclosed by brackets "[]" replaced with your own identifying 17 | * information: Portions Copyright [yyyy] [name of copyright owner] 18 | * 19 | * CDDL HEADER END 20 | */ 21 | 22 | /* 23 | * Copyright (c) 2011, Joyent, Inc. All rights reserved. 24 | */ 25 | 26 | BEGIN 27 | { 28 | @ = llquantize(0, 10, 0, 100, 10); 29 | } 30 | -------------------------------------------------------------------------------- /test/tst/common/aggs/err.D_LLQUANT_NSTEPMATCH.d: -------------------------------------------------------------------------------- 1 | /* 2 | * CDDL HEADER START 3 | * 4 | * The contents of this file are subject to the terms of the 5 | * Common Development and Distribution License (the "License"). 6 | * You may not use this file except in compliance with the License. 7 | * 8 | * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 9 | * or http://www.opensolaris.org/os/licensing. 10 | * See the License for the specific language governing permissions 11 | * and limitations under the License. 12 | * 13 | * When distributing Covered Code, include this CDDL HEADER in each 14 | * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 15 | * If applicable, add the following below this CDDL HEADER, with the 16 | * fields enclosed by brackets "[]" replaced with your own identifying 17 | * information: Portions Copyright [yyyy] [name of copyright owner] 18 | * 19 | * CDDL HEADER END 20 | */ 21 | 22 | /* 23 | * Copyright (c) 2011, Joyent, Inc. All rights reserved. 24 | */ 25 | 26 | BEGIN 27 | { 28 | @ = llquantize(0, 10, 0, 10, 10); 29 | @ = llquantize(0, 10, 0, 10, 100); 30 | } 31 | -------------------------------------------------------------------------------- /test/tst/common/aggs/err.D_LLQUANT_NSTEPTYPE.d: -------------------------------------------------------------------------------- 1 | /* 2 | * CDDL HEADER START 3 | * 4 | * The contents of this file are subject to the terms of the 5 | * Common Development and Distribution License (the "License"). 6 | * You may not use this file except in compliance with the License. 7 | * 8 | * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 9 | * or http://www.opensolaris.org/os/licensing. 10 | * See the License for the specific language governing permissions 11 | * and limitations under the License. 12 | * 13 | * When distributing Covered Code, include this CDDL HEADER in each 14 | * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 15 | * If applicable, add the following below this CDDL HEADER, with the 16 | * fields enclosed by brackets "[]" replaced with your own identifying 17 | * information: Portions Copyright [yyyy] [name of copyright owner] 18 | * 19 | * CDDL HEADER END 20 | */ 21 | 22 | /* 23 | * Copyright (c) 2011, Joyent, Inc. All rights reserved. 24 | */ 25 | 26 | BEGIN 27 | { 28 | this->doogle = 10; 29 | @ = llquantize(0, 10, 0, 10, this->doogle); 30 | } 31 | -------------------------------------------------------------------------------- /test/tst/common/aggs/err.D_LLQUANT_NSTEPVAL.d: -------------------------------------------------------------------------------- 1 | /* 2 | * CDDL HEADER START 3 | * 4 | * The contents of this file are subject to the terms of the 5 | * Common Development and Distribution License (the "License"). 6 | * You may not use this file except in compliance with the License. 7 | * 8 | * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 9 | * or http://www.opensolaris.org/os/licensing. 10 | * See the License for the specific language governing permissions 11 | * and limitations under the License. 12 | * 13 | * When distributing Covered Code, include this CDDL HEADER in each 14 | * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 15 | * If applicable, add the following below this CDDL HEADER, with the 16 | * fields enclosed by brackets "[]" replaced with your own identifying 17 | * information: Portions Copyright [yyyy] [name of copyright owner] 18 | * 19 | * CDDL HEADER END 20 | */ 21 | 22 | /* 23 | * Copyright (c) 2011, Joyent, Inc. All rights reserved. 24 | */ 25 | 26 | BEGIN 27 | { 28 | @ = llquantize(123, 10, 0, 10, 123456); 29 | } 30 | -------------------------------------------------------------------------------- /test/tst/common/aggs/err.D_LQUANT_MATCHBASE.d: -------------------------------------------------------------------------------- 1 | /* 2 | * CDDL HEADER START 3 | * 4 | * The contents of this file are subject to the terms of the 5 | * Common Development and Distribution License (the "License"). 6 | * You may not use this file except in compliance with the License. 7 | * 8 | * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 9 | * or http://www.opensolaris.org/os/licensing. 10 | * See the License for the specific language governing permissions 11 | * and limitations under the License. 12 | * 13 | * When distributing Covered Code, include this CDDL HEADER in each 14 | * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 15 | * If applicable, add the following below this CDDL HEADER, with the 16 | * fields enclosed by brackets "[]" replaced with your own identifying 17 | * information: Portions Copyright [yyyy] [name of copyright owner] 18 | * 19 | * CDDL HEADER END 20 | */ 21 | 22 | /* 23 | * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 24 | * Use is subject to license terms. 25 | */ 26 | 27 | BEGIN 28 | { 29 | @ = lquantize(0, 10, 20, 1); 30 | @ = lquantize(0, 15, 20, 1); 31 | } 32 | -------------------------------------------------------------------------------- /test/tst/common/aggs/err.D_LQUANT_MATCHLIM.d: -------------------------------------------------------------------------------- 1 | /* 2 | * CDDL HEADER START 3 | * 4 | * The contents of this file are subject to the terms of the 5 | * Common Development and Distribution License (the "License"). 6 | * You may not use this file except in compliance with the License. 7 | * 8 | * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 9 | * or http://www.opensolaris.org/os/licensing. 10 | * See the License for the specific language governing permissions 11 | * and limitations under the License. 12 | * 13 | * When distributing Covered Code, include this CDDL HEADER in each 14 | * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 15 | * If applicable, add the following below this CDDL HEADER, with the 16 | * fields enclosed by brackets "[]" replaced with your own identifying 17 | * information: Portions Copyright [yyyy] [name of copyright owner] 18 | * 19 | * CDDL HEADER END 20 | */ 21 | 22 | /* 23 | * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 24 | * Use is subject to license terms. 25 | */ 26 | 27 | BEGIN 28 | { 29 | @ = lquantize(0, 10, 20, 1); 30 | @ = lquantize(0, 10, 2000, 1); 31 | } 32 | -------------------------------------------------------------------------------- /test/tst/common/aggs/err.D_TRUNC_AGGARG.bad.d: -------------------------------------------------------------------------------- 1 | /* 2 | * CDDL HEADER START 3 | * 4 | * The contents of this file are subject to the terms of the 5 | * Common Development and Distribution License (the "License"). 6 | * You may not use this file except in compliance with the License. 7 | * 8 | * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 9 | * or http://www.opensolaris.org/os/licensing. 10 | * See the License for the specific language governing permissions 11 | * and limitations under the License. 12 | * 13 | * When distributing Covered Code, include this CDDL HEADER in each 14 | * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 15 | * If applicable, add the following below this CDDL HEADER, with the 16 | * fields enclosed by brackets "[]" replaced with your own identifying 17 | * information: Portions Copyright [yyyy] [name of copyright owner] 18 | * 19 | * CDDL HEADER END 20 | */ 21 | 22 | /* 23 | * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 24 | * Use is subject to license terms. 25 | */ 26 | 27 | int i; 28 | 29 | BEGIN 30 | { 31 | trunc(i); 32 | exit(1); 33 | } 34 | -------------------------------------------------------------------------------- /test/tst/common/aggs/err.D_TRUNC_PROTO.badmany.d: -------------------------------------------------------------------------------- 1 | /* 2 | * CDDL HEADER START 3 | * 4 | * The contents of this file are subject to the terms of the 5 | * Common Development and Distribution License (the "License"). 6 | * You may not use this file except in compliance with the License. 7 | * 8 | * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 9 | * or http://www.opensolaris.org/os/licensing. 10 | * See the License for the specific language governing permissions 11 | * and limitations under the License. 12 | * 13 | * When distributing Covered Code, include this CDDL HEADER in each 14 | * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 15 | * If applicable, add the following below this CDDL HEADER, with the 16 | * fields enclosed by brackets "[]" replaced with your own identifying 17 | * information: Portions Copyright [yyyy] [name of copyright owner] 18 | * 19 | * CDDL HEADER END 20 | */ 21 | 22 | /* 23 | * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 24 | * Use is subject to license terms. 25 | */ 26 | 27 | BEGIN 28 | { 29 | @[0] = count(); 30 | trunc(@, 10, 20); 31 | exit(1); 32 | } 33 | -------------------------------------------------------------------------------- /test/tst/common/aggs/err.D_TRUNC_PROTO.badnone.d: -------------------------------------------------------------------------------- 1 | /* 2 | * CDDL HEADER START 3 | * 4 | * The contents of this file are subject to the terms of the 5 | * Common Development and Distribution License (the "License"). 6 | * You may not use this file except in compliance with the License. 7 | * 8 | * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 9 | * or http://www.opensolaris.org/os/licensing. 10 | * See the License for the specific language governing permissions 11 | * and limitations under the License. 12 | * 13 | * When distributing Covered Code, include this CDDL HEADER in each 14 | * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 15 | * If applicable, add the following below this CDDL HEADER, with the 16 | * fields enclosed by brackets "[]" replaced with your own identifying 17 | * information: Portions Copyright [yyyy] [name of copyright owner] 18 | * 19 | * CDDL HEADER END 20 | */ 21 | 22 | /* 23 | * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 24 | * Use is subject to license terms. 25 | */ 26 | 27 | BEGIN 28 | { 29 | trunc(); 30 | exit(1); 31 | } 32 | -------------------------------------------------------------------------------- /test/tst/common/aggs/err.D_TRUNC_SCALAR.bad.d: -------------------------------------------------------------------------------- 1 | /* 2 | * CDDL HEADER START 3 | * 4 | * The contents of this file are subject to the terms of the 5 | * Common Development and Distribution License (the "License"). 6 | * You may not use this file except in compliance with the License. 7 | * 8 | * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 9 | * or http://www.opensolaris.org/os/licensing. 10 | * See the License for the specific language governing permissions 11 | * and limitations under the License. 12 | * 13 | * When distributing Covered Code, include this CDDL HEADER in each 14 | * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 15 | * If applicable, add the following below this CDDL HEADER, with the 16 | * fields enclosed by brackets "[]" replaced with your own identifying 17 | * information: Portions Copyright [yyyy] [name of copyright owner] 18 | * 19 | * CDDL HEADER END 20 | */ 21 | 22 | /* 23 | * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 24 | * Use is subject to license terms. 25 | */ 26 | 27 | BEGIN 28 | { 29 | @[0] = count(); 30 | trunc(@, @); 31 | exit(1); 32 | } 33 | -------------------------------------------------------------------------------- /test/tst/common/aggs/tst.aggencoding.d: -------------------------------------------------------------------------------- 1 | /* 2 | * This file and its contents are supplied under the terms of the 3 | * Common Development and Distribution License ("CDDL"), version 1.0. 4 | * You may only use this file in accordance with the terms of version 5 | * 1.0 of the CDDL. 6 | * 7 | * A full copy of the text of the CDDL should have accompanied this 8 | * source. A copy of the CDDL is also available via the Internet at 9 | * http://www.illumos.org/license/CDDL. 10 | */ 11 | 12 | /* 13 | * Copyright (c) 2013 Joyent, Inc. All rights reserved. 14 | */ 15 | 16 | #pragma D option quiet 17 | #pragma D option encoding=utf8 18 | #pragma D option aggzoom 19 | 20 | tick-1ms 21 | /i++ < 320/ 22 | { 23 | @ = lquantize(i, 0, 640, 1, i); 24 | @ = lquantize(641 - i, 0, 640, 1, i); 25 | } 26 | 27 | tick-1ms 28 | /i == 320/ 29 | { 30 | printa(@); 31 | exit(0); 32 | } 33 | -------------------------------------------------------------------------------- /test/tst/common/aggs/tst.aggzoom.d: -------------------------------------------------------------------------------- 1 | /* 2 | * This file and its contents are supplied under the terms of the 3 | * Common Development and Distribution License ("CDDL"), version 1.0. 4 | * You may only use this file in accordance with the terms of version 5 | * 1.0 of the CDDL. 6 | * 7 | * A full copy of the text of the CDDL should have accompanied this 8 | * source. A copy of the CDDL is also available via the Internet at 9 | * http://www.illumos.org/license/CDDL. 10 | */ 11 | 12 | /* 13 | * Copyright (c) 2013 Joyent, Inc. All rights reserved. 14 | */ 15 | 16 | #pragma D option quiet 17 | 18 | tick-1ms 19 | /i++ < 90/ 20 | { 21 | @ = lquantize(i, 0, 100, 1, 1000); 22 | } 23 | 24 | tick-1ms 25 | /i == 100/ 26 | { 27 | @ = lquantize(i++, 0, 100, 1, 2000); 28 | @ = lquantize(i++, 0, 100, 1, 3000); 29 | 30 | printa(@); 31 | setopt("aggzoom"); 32 | printa(@); 33 | exit(0); 34 | } 35 | -------------------------------------------------------------------------------- /test/tst/common/aggs/tst.avg.d.out: -------------------------------------------------------------------------------- 1 | 2 | 450 3 | -------------------------------------------------------------------------------- /test/tst/common/aggs/tst.clear.d.out: -------------------------------------------------------------------------------- 1 | Aggregation data before clear(): 2 | 3 | 0 500 4 | 1 700 5 | 2 900 6 | 3 1100 7 | 4 1300 8 | Aggregation data after clear(): 9 | 10 | 0 0 11 | 1 0 12 | 2 0 13 | 3 0 14 | 4 0 15 | Final aggregation data: 16 | 17 | 0 1500 18 | 1 2700 19 | 2 2900 20 | 3 3100 21 | 4 3300 22 | 23 | -------------------------------------------------------------------------------- /test/tst/common/aggs/tst.clearavg.d.out: -------------------------------------------------------------------------------- 1 | 2 | 0 3 | -------------------------------------------------------------------------------- /test/tst/common/aggs/tst.clearavg2.d.out: -------------------------------------------------------------------------------- 1 | 0 2 | 0 3 | 0 4 | 0 5 | 0 6 | 0 7 | 0 8 | 0 9 | 0 10 | 0 11 | 0 12 | 0 13 | 0 14 | 0 15 | 0 16 | 0 17 | 0 18 | 0 19 | 0 20 | 0 21 | 22 | -------------------------------------------------------------------------------- /test/tst/common/aggs/tst.cleardenormalize.d.out: -------------------------------------------------------------------------------- 1 | Denormalized data before clear: 2 | 3 | 0 500 4 | 1 700 5 | 2 900 6 | 3 1100 7 | 4 1300 8 | Aggregation data after clear: 9 | 10 | 0 0 11 | 1 0 12 | 2 0 13 | 3 0 14 | 4 0 15 | Final (denormalized) aggregation data: 16 | 17 | 0 1500 18 | 1 2700 19 | 2 2900 20 | 3 3100 21 | 4 3300 22 | 23 | -------------------------------------------------------------------------------- /test/tst/common/aggs/tst.clearnormalize.d.out: -------------------------------------------------------------------------------- 1 | Normalized data before clear: 2 | 3 | 0 100 4 | 1 140 5 | 2 180 6 | 3 220 7 | 4 260 8 | Aggregation data after clear: 9 | 10 | 0 0 11 | 1 0 12 | 2 0 13 | 3 0 14 | 4 0 15 | Final (normalized) aggregation data: 16 | 17 | 0 300 18 | 1 540 19 | 2 580 20 | 3 620 21 | 4 660 22 | 23 | -------------------------------------------------------------------------------- /test/tst/common/aggs/tst.count.d.out: -------------------------------------------------------------------------------- 1 | 2 | 2 3 | -------------------------------------------------------------------------------- /test/tst/common/aggs/tst.count2.d.out: -------------------------------------------------------------------------------- 1 | 2 | tick-count 10 3 | -------------------------------------------------------------------------------- /test/tst/common/aggs/tst.denormalize.d.out: -------------------------------------------------------------------------------- 1 | denormalized: 2 | 0 3000 3 | 1 3400 4 | 2 3800 5 | 3 4200 6 | 4 4600 7 | 8 | -------------------------------------------------------------------------------- /test/tst/common/aggs/tst.denormalizeonly.d.out: -------------------------------------------------------------------------------- 1 | denormalized: 2 | 0 3000 3 | 1 3400 4 | 2 3800 5 | 3 4200 6 | 4 4600 7 | -------------------------------------------------------------------------------- /test/tst/common/aggs/tst.fmtnormalize.d.out: -------------------------------------------------------------------------------- 1 | normalized data: 2 | 0 600 3 | 1 680 4 | 2 760 5 | 3 840 6 | 4 920 7 | 8 | -------------------------------------------------------------------------------- /test/tst/common/aggs/tst.forms.d.out: -------------------------------------------------------------------------------- 1 | 2 | @a = 1 3 | @b = 1 4 | @c = 1 5 | @d = 1 6 | 7 | -------------------------------------------------------------------------------- /test/tst/common/aggs/tst.lquantnormal.d.out: -------------------------------------------------------------------------------- 1 | 2 | 3 | value ------------- Distribution ------------- count 4 | 0 | 0 5 | 1 |@@@@ 1 6 | 2 |@@@@ 1 7 | 3 |@@@@ 1 8 | 4 |@@@@ 1 9 | 5 |@@@@ 1 10 | 6 |@@@@ 1 11 | 7 |@@@@ 1 12 | 8 |@@@@ 1 13 | 9 |@@@@ 1 14 | >= 10 |@@@@ 1 15 | 16 | 17 | -------------------------------------------------------------------------------- /test/tst/common/aggs/tst.lquantround.d.out: -------------------------------------------------------------------------------- 1 | 2 | 3 | value ------------- Distribution ------------- count 4 | < 0 | 0 5 | 0 |@@@ 2 6 | 1 |@@@@@@@@@ 6 7 | 2 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 19 8 | 3 | 0 9 | 10 | -------------------------------------------------------------------------------- /test/tst/common/aggs/tst.max.d.out: -------------------------------------------------------------------------------- 1 | 2 | 900 3 | 4 | -------------------------------------------------------------------------------- /test/tst/common/aggs/tst.min.d.out: -------------------------------------------------------------------------------- 1 | 2 | 0 3 | -------------------------------------------------------------------------------- /test/tst/common/aggs/tst.multinormalize.d.out: -------------------------------------------------------------------------------- 1 | normalized data #1: 2 | 3 | 0 600 4 | 1 680 5 | 2 760 6 | 3 840 7 | 4 920 8 | 9 | normalized data #2: 10 | 11 | 1 1200 12 | 2 1360 13 | 3 1520 14 | 4 1680 15 | 5 1840 16 | -------------------------------------------------------------------------------- /test/tst/common/aggs/tst.negtrunc.d.out: -------------------------------------------------------------------------------- 1 | 2 | 0 0 3 | 1 1 4 | 2 2 5 | 3 3 6 | 4 4 7 | 5 5 8 | 6 6 9 | 7 7 10 | 8 8 11 | 9 9 12 | -------------------------------------------------------------------------------- /test/tst/common/aggs/tst.normalize.d.out: -------------------------------------------------------------------------------- 1 | normalized data: 2 | 3 | 0 600 4 | 1 680 5 | 2 760 6 | 3 840 7 | 4 920 8 | -------------------------------------------------------------------------------- /test/tst/common/aggs/tst.order.d.out: -------------------------------------------------------------------------------- 1 | 0 2 | 3 3 | 5 4 | 6 5 | 7 6 | 8 7 | 9 8 | 9 | Berlin 10 | Calgary 11 | Dublin 12 | Edmonton 13 | Ghent 14 | London 15 | Regina 16 | Shanghai 17 | Winnipeg 18 | Zurich 19 | 20 | 8 Asparagus 21 | 8 Barley 22 | 8 Carrots 23 | 8 Oatmeal 24 | 8 Rice 25 | 8 Squash 26 | 8 Sweet potato 27 | 28 | a 29 | d 30 | f 31 | s 32 | 33 | 34 | -------------------------------------------------------------------------------- /test/tst/common/aggs/tst.quantround.d.out: -------------------------------------------------------------------------------- 1 | 2 | 3 | value ------------- Distribution ------------- count 4 | -1 | 0 5 | 0 |@@@ 2 6 | 1 |@@@@@@@@@ 6 7 | 2 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 19 8 | 4 | 0 9 | 10 | -------------------------------------------------------------------------------- /test/tst/common/aggs/tst.stddev.d.out: -------------------------------------------------------------------------------- 1 | 81 2 | -------------------------------------------------------------------------------- /test/tst/common/aggs/tst.stddev.normalize.d: -------------------------------------------------------------------------------- 1 | /* 2 | * This file and its contents are supplied under the terms of the 3 | * Common Development and Distribution License ("CDDL"), version 1.0. 4 | * You may only use this file in accordance with the terms of version 5 | * 1.0 of the CDDL. 6 | * 7 | * A full copy of the text of the CDDL should have accompanied this 8 | * source. A copy of the CDDL is also available via the Internet at 9 | * http://www.illumos.org/license/CDDL. 10 | */ 11 | 12 | /* 13 | * Copyright 2017 Panzura. All rights reserved. 14 | */ 15 | 16 | /* 17 | * ASSERTION: 18 | * Positive test for normalization() of stddev() 19 | * 20 | * SECTION: Aggregations/Normalization 21 | * 22 | */ 23 | 24 | #pragma D option quiet 25 | #pragma D option aggrate=1ms 26 | #pragma D option switchrate=50ms 27 | 28 | BEGIN 29 | { 30 | i = 0; 31 | } 32 | 33 | tick-100ms 34 | /i < 11/ 35 | { 36 | @ = stddev(i * 100); 37 | i++; 38 | } 39 | 40 | tick-100ms 41 | /i == 11/ 42 | { 43 | printf("normalized data:\n"); 44 | normalize(@, 10); 45 | exit(0); 46 | } 47 | -------------------------------------------------------------------------------- /test/tst/common/aggs/tst.stddev.normalize.d.out: -------------------------------------------------------------------------------- 1 | normalized data: 2 | 3 | 31 4 | -------------------------------------------------------------------------------- /test/tst/common/aggs/tst.sum.d.out: -------------------------------------------------------------------------------- 1 | 2 | 4500 3 | -------------------------------------------------------------------------------- /test/tst/common/aggs/tst.trunc.d.out: -------------------------------------------------------------------------------- 1 | 2 | 90 90 3 | 91 91 4 | 92 92 5 | 93 93 6 | 94 94 7 | 95 95 8 | 96 96 9 | 97 97 10 | 98 98 11 | 99 99 12 | -------------------------------------------------------------------------------- /test/tst/common/aggs/tst.trunc0.d.out: -------------------------------------------------------------------------------- 1 | 2 | 9 1 3 | 8 2 4 | 7 3 5 | 6 4 6 | 5 5 7 | 8 | -------------------------------------------------------------------------------- /test/tst/common/arithmetic/tst.basics.d.out: -------------------------------------------------------------------------------- 1 | The value of i is 6 2 | The value of i is 18 3 | The value of i is 72 4 | The value of i is 25920 5 | The value of i is 935761216 6 | The value of i is -91738734 7 | The value of i is -91738729 8 | 9 | -------------------------------------------------------------------------------- /test/tst/common/arithmetic/tst.compcast.d.out: -------------------------------------------------------------------------------- 1 | fffffffffffffff0 -16 18446744073709551600 2 | fff0 65520 65520 3 | fffffff0 4294967280 4294967280 4 | fff0 65520 65520 5 | 6 | fffffffffffffff0 -16 18446744073709551600 7 | fffffffffffffff0 -16 18446744073709551600 8 | fff0 65520 65520 9 | fff0 65520 65520 10 | 11 | -------------------------------------------------------------------------------- /test/tst/common/arithmetic/tst.compnarrowassign.d: -------------------------------------------------------------------------------- 1 | /* 2 | * CDDL HEADER START 3 | * 4 | * This file and its contents are supplied under the terms of the 5 | * Common Development and Distribution License ("CDDL"), version 1.0. 6 | * You may only use this file in accordance with the terms of version 7 | * 1.0 of the CDDL. 8 | * 9 | * A full copy of the text of the CDDL should have accompanied this 10 | * source. A copy of the CDDL is also available via the Internet at 11 | * http://www.illumos.org/license/CDDL. 12 | * 13 | * CDDL HEADER END 14 | */ 15 | 16 | /* 17 | * Copyright (c) 2012 by Delphix. All rights reserved. 18 | */ 19 | 20 | /* 21 | * Test narrowing at assignment. 22 | */ 23 | 24 | #pragma D option quiet 25 | 26 | uint16_t x; 27 | uint32_t y; 28 | 29 | BEGIN 30 | { 31 | x = 0xbeefcafe; 32 | y = x; 33 | printf("%x", y); /* where's the beef? */ 34 | 35 | exit(0); 36 | } 37 | -------------------------------------------------------------------------------- /test/tst/common/arithmetic/tst.compnarrowassign.d.out: -------------------------------------------------------------------------------- 1 | cafe 2 | -------------------------------------------------------------------------------- /test/tst/common/arithmetic/tst.execcast.d.out: -------------------------------------------------------------------------------- 1 | fffffffffffffff0 -16 18446744073709551600 2 | fff0 65520 65520 3 | fffffff0 4294967280 4294967280 4 | fff0 65520 65520 5 | 6 | fffffffffffffff0 -16 18446744073709551600 7 | fffffffffffffff0 -16 18446744073709551600 8 | fff0 65520 65520 9 | fff0 65520 65520 10 | 11 | -------------------------------------------------------------------------------- /test/tst/common/assocs/tst.valassign.d.out: -------------------------------------------------------------------------------- 1 | The value of i is 123 2 | 3 | -------------------------------------------------------------------------------- /test/tst/common/begin/tst.begin.d.out: -------------------------------------------------------------------------------- 1 | Begin fired first 2 | tick fired second 3 | Call exit 4 | End fired after exit 5 | 6 | -------------------------------------------------------------------------------- /test/tst/common/begin/tst.multibegin.d.out: -------------------------------------------------------------------------------- 1 | Begin fired first 2 | Begin fired second 3 | Begin fired third 4 | Begin fired fourth 5 | Begin fired fifth 6 | 7 | -------------------------------------------------------------------------------- /test/tst/common/buffering/tst.fill1.d.out: -------------------------------------------------------------------------------- 1 | 0 2 | 1 3 | 2 4 | 3 5 | 4 6 | 5 7 | 6 8 | 7 9 | 10 | -------------------------------------------------------------------------------- /test/tst/common/buffering/tst.ring2.d.out: -------------------------------------------------------------------------------- 1 | 0 2 | 1 3 | 2 4 | 3 5 | 4 6 | 7 | -------------------------------------------------------------------------------- /test/tst/common/buffering/tst.ring3.d.out: -------------------------------------------------------------------------------- 1 | 96 2 | 97 3 | 98 4 | 99 5 | 6 | -------------------------------------------------------------------------------- /test/tst/common/buffering/tst.switch1.d.out: -------------------------------------------------------------------------------- 1 | 0 2 | 1 3 | 2 4 | 3 5 | 4 6 | 5 7 | 6 8 | 7 9 | 8 10 | 9 11 | 12 | -------------------------------------------------------------------------------- /test/tst/common/dtraceUtil/tst.DefineNameWithCPP.d.ksh.out: -------------------------------------------------------------------------------- 1 | Value of VALUE: 40 2 | 3 | -------------------------------------------------------------------------------- /test/tst/common/dtraceUtil/tst.DestructWithFunction.d.ksh.out: -------------------------------------------------------------------------------- 1 | Done chilling 2 | -------------------------------------------------------------------------------- /test/tst/common/dtraceUtil/tst.DestructWithID.d.ksh.out: -------------------------------------------------------------------------------- 1 | Done chilling 2 | -------------------------------------------------------------------------------- /test/tst/common/dtraceUtil/tst.DestructWithModule.d.ksh.out: -------------------------------------------------------------------------------- 1 | Done chilling 2 | -------------------------------------------------------------------------------- /test/tst/common/dtraceUtil/tst.DestructWithName.d.ksh.out: -------------------------------------------------------------------------------- 1 | Done chilling 2 | -------------------------------------------------------------------------------- /test/tst/common/dtraceUtil/tst.DestructWithProvider.d.ksh.out: -------------------------------------------------------------------------------- 1 | Done chilling 2 | -------------------------------------------------------------------------------- /test/tst/common/dtraceUtil/tst.QuietMode.d.ksh.out: -------------------------------------------------------------------------------- 1 | I am the only one. 2 | -------------------------------------------------------------------------------- /test/tst/common/dtraceUtil/tst.TestCompile.d.ksh.out: -------------------------------------------------------------------------------- 1 | dtrace succeeded 2 | -------------------------------------------------------------------------------- /test/tst/common/dtraceUtil/tst.ZeroFunctionProbes.d.ksh.out: -------------------------------------------------------------------------------- 1 | I am done 2 | -------------------------------------------------------------------------------- /test/tst/common/dtraceUtil/tst.ZeroModuleProbes.d.ksh.out: -------------------------------------------------------------------------------- 1 | I am done 2 | -------------------------------------------------------------------------------- /test/tst/common/dtraceUtil/tst.ZeroNameProbes.d.ksh.out: -------------------------------------------------------------------------------- 1 | I am done 2 | -------------------------------------------------------------------------------- /test/tst/common/dtraceUtil/tst.ZeroProviderProbes.d.ksh.out: -------------------------------------------------------------------------------- 1 | I am done 2 | -------------------------------------------------------------------------------- /test/tst/common/env/err.D_PRAGMA_OPTSET.setfromscript.d: -------------------------------------------------------------------------------- 1 | /* 2 | * CDDL HEADER START 3 | * 4 | * This file and its contents are supplied under the terms of the 5 | * Common Development and Distribution License ("CDDL"), version 1.0. 6 | * You may only use this file in accordance with the terms of version 7 | * 1.0 of the CDDL. 8 | * 9 | * A full copy of the text of the CDDL should have accompanied this 10 | * source. A copy of the CDDL is also available via the Internet at 11 | * http://www.illumos.org/license/CDDL. 12 | * 13 | * CDDL HEADER END 14 | */ 15 | 16 | /* 17 | * Copyright (c) 2012 by Delphix. All rights reserved. 18 | */ 19 | 20 | #pragma D option setenv=balloon=something_bad_happens 21 | 22 | BEGIN 23 | { 24 | exit(0); 25 | } 26 | -------------------------------------------------------------------------------- /test/tst/common/env/err.D_PRAGMA_OPTSET.unsetfromscript.d: -------------------------------------------------------------------------------- 1 | /* 2 | * CDDL HEADER START 3 | * 4 | * This file and its contents are supplied under the terms of the 5 | * Common Development and Distribution License ("CDDL"), version 1.0. 6 | * You may only use this file in accordance with the terms of version 7 | * 1.0 of the CDDL. 8 | * 9 | * A full copy of the text of the CDDL should have accompanied this 10 | * source. A copy of the CDDL is also available via the Internet at 11 | * http://www.illumos.org/license/CDDL. 12 | * 13 | * CDDL HEADER END 14 | */ 15 | 16 | /* 17 | * Copyright (c) 2012 by Delphix. All rights reserved. 18 | */ 19 | 20 | #pragma D option unsetenv=rectalexambot 21 | 22 | BEGIN 23 | { 24 | exit(0); 25 | } 26 | -------------------------------------------------------------------------------- /test/tst/common/env/tst.setenv1.ksh: -------------------------------------------------------------------------------- 1 | # 2 | # CDDL HEADER START 3 | # 4 | # This file and its contents are supplied under the terms of the 5 | # Common Development and Distribution License ("CDDL"), version 1.0. 6 | # You may only use this file in accordance with the terms of version 7 | # 1.0 of the CDDL. 8 | # 9 | # A full copy of the text of the CDDL should have accompanied this 10 | # source. A copy of the CDDL is also available via the Internet at 11 | # http://www.illumos.org/license/CDDL. 12 | # 13 | # CDDL HEADER END 14 | # 15 | 16 | # 17 | # Copyright (c) 2012 by Delphix. All rights reserved. 18 | # 19 | 20 | # 21 | # Reset an environment variable we already know to be set. 22 | # 23 | 24 | dtrace=/usr/sbin/dtrace 25 | 26 | $dtrace -q -Z -n doogle -xsetenv=PWD=/usr/bin -c 'printenv PWD' 27 | 28 | exit $? 29 | -------------------------------------------------------------------------------- /test/tst/common/env/tst.setenv1.ksh.out: -------------------------------------------------------------------------------- 1 | /usr/bin 2 | 3 | -------------------------------------------------------------------------------- /test/tst/common/env/tst.setenv2.ksh: -------------------------------------------------------------------------------- 1 | # 2 | # CDDL HEADER START 3 | # 4 | # This file and its contents are supplied under the terms of the 5 | # Common Development and Distribution License ("CDDL"), version 1.0. 6 | # You may only use this file in accordance with the terms of version 7 | # 1.0 of the CDDL. 8 | # 9 | # A full copy of the text of the CDDL should have accompanied this 10 | # source. A copy of the CDDL is also available via the Internet at 11 | # http://www.illumos.org/license/CDDL. 12 | # 13 | # CDDL HEADER END 14 | # 15 | 16 | # 17 | # Copyright (c) 2012 by Delphix. All rights reserved. 18 | # 19 | 20 | # 21 | # Test setting a variable that we isn't already set. 22 | # 23 | 24 | dtrace=/usr/sbin/dtrace 25 | 26 | $dtrace -q -Z -n doogle -xsetenv=CORPORATIONS=PEOPLE -c 'printenv CORPORATIONS' 27 | 28 | exit $? 29 | -------------------------------------------------------------------------------- /test/tst/common/env/tst.setenv2.ksh.out: -------------------------------------------------------------------------------- 1 | PEOPLE 2 | 3 | -------------------------------------------------------------------------------- /test/tst/common/env/tst.unsetenv1.ksh: -------------------------------------------------------------------------------- 1 | # 2 | # CDDL HEADER START 3 | # 4 | # This file and its contents are supplied under the terms of the 5 | # Common Development and Distribution License ("CDDL"), version 1.0. 6 | # You may only use this file in accordance with the terms of version 7 | # 1.0 of the CDDL. 8 | # 9 | # A full copy of the text of the CDDL should have accompanied this 10 | # source. A copy of the CDDL is also available via the Internet at 11 | # http://www.illumos.org/license/CDDL. 12 | # 13 | # CDDL HEADER END 14 | # 15 | 16 | # 17 | # Copyright (c) 2012 by Delphix. All rights reserved. 18 | # 19 | 20 | # 21 | # Test unsetting a variable we know to be set. 22 | # 23 | 24 | dtrace=/usr/sbin/dtrace 25 | 26 | $dtrace -q -Z -n doogle -xunsetenv=PATH -c 'printenv PATH' 27 | 28 | exit $? 29 | -------------------------------------------------------------------------------- /test/tst/common/env/tst.unsetenv1.ksh.out: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /test/tst/common/env/tst.unsetenv2.ksh: -------------------------------------------------------------------------------- 1 | # 2 | # CDDL HEADER START 3 | # 4 | # This file and its contents are supplied under the terms of the 5 | # Common Development and Distribution License ("CDDL"), version 1.0. 6 | # You may only use this file in accordance with the terms of version 7 | # 1.0 of the CDDL. 8 | # 9 | # A full copy of the text of the CDDL should have accompanied this 10 | # source. A copy of the CDDL is also available via the Internet at 11 | # http://www.illumos.org/license/CDDL. 12 | # 13 | # CDDL HEADER END 14 | # 15 | 16 | # 17 | # Copyright (c) 2012 by Delphix. All rights reserved. 18 | # 19 | 20 | # 21 | # Test invalid syntax to the unsetenv option. 22 | # 23 | 24 | dtrace=/usr/sbin/dtrace 25 | 26 | $dtrace -q -Z -n doogle -xunsetenv=ed=screven -c 'true' 2>&1 27 | 28 | [ $? -eq 1 ] && exit 0 29 | 30 | exit 1 31 | -------------------------------------------------------------------------------- /test/tst/common/env/tst.unsetenv2.ksh.out: -------------------------------------------------------------------------------- 1 | dtrace: failed to set -x unsetenv: Invalid value for specified option 2 | -------------------------------------------------------------------------------- /test/tst/common/error/tst.noerror.d.out: -------------------------------------------------------------------------------- 1 | BEGIN fired 2 | -------------------------------------------------------------------------------- /test/tst/common/funcs/err.D_PROTO_LEN.livedump.d: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2021 Apple, Inc. All rights reserved. 3 | * Use is subject to license terms. 4 | */ 5 | 6 | /* 7 | * ASSERTION: 8 | * Verify that livedump() handles too few arguments passed. 9 | * 10 | * SECTION: Actions and Subroutines/livedump() 11 | * 12 | */ 13 | BEGIN 14 | { 15 | livedump(); 16 | exit(0); 17 | } 18 | -------------------------------------------------------------------------------- /test/tst/common/funcs/err.chillbadarg.ksh: -------------------------------------------------------------------------------- 1 | #pragma ident "@(#)err.chillbadarg.ksh 1.1 06/08/28 SMI" 2 | 3 | dtrace_script() 4 | { 5 | 6 | $dtrace -w -s /dev/stdin <pr_envp, sizeof (char *), ptr); 21 | copyout(ptr, 0, sizeof (char *)); 22 | } 23 | 24 | ERROR 25 | { 26 | exit(1) 27 | } 28 | EOF 29 | } 30 | 31 | dtrace="/usr/sbin/dtrace" 32 | 33 | dtrace_script & 34 | child=$! 35 | 36 | wait $child 37 | status=$? 38 | 39 | exit $status 40 | -------------------------------------------------------------------------------- /test/tst/common/funcs/err.copyoutstrbadaddr.ksh: -------------------------------------------------------------------------------- 1 | #pragma ident "@(#)err.copyoutstrbadaddr.ksh 1.1 06/08/28 SMI" 2 | 3 | 4 | dtrace_script() 5 | { 6 | 7 | $dtrace -w -s /dev/stdin <pr_envp, sizeof (char *), ptr); 21 | copyout(ptr, 0, sizeof (char *)); 22 | } 23 | 24 | ERROR 25 | { 26 | exit(1) 27 | } 28 | EOF 29 | } 30 | 31 | dtrace="/usr/sbin/dtrace" 32 | 33 | dtrace_script & 34 | child=$! 35 | 36 | wait $child 37 | status=$? 38 | 39 | exit $status 40 | -------------------------------------------------------------------------------- /test/tst/common/funcs/tst.cleanpath.d.out: -------------------------------------------------------------------------------- 1 | cleanpath("/foo/bar/baz") = "/foo/bar/baz" 2 | cleanpath("/foo/bar///baz/") = "/foo/bar/baz/" 3 | cleanpath("/foo/bar/baz/") = "/foo/bar/baz/" 4 | cleanpath("/foo/bar/baz//") = "/foo/bar/baz/" 5 | cleanpath("/foo/bar/baz/.") = "/foo/bar/baz/." 6 | cleanpath("/foo/bar/baz/./") = "/foo/bar/baz/" 7 | cleanpath("/foo/bar/../../baz/.//") = "/baz/" 8 | cleanpath("foo/bar/./././././baz/") = "foo/bar/baz/" 9 | cleanpath("/foo/bar/baz/../../../../../../") = "/" 10 | cleanpath("/../../../../../../") = "/" 11 | cleanpath("/./") = "/" 12 | cleanpath("/foo/bar/baz/../../bop/bang/../../bar/baz/") = "/foo/bar/baz/" 13 | cleanpath("./") = "./" 14 | cleanpath("//") = "/" 15 | cleanpath("/.") = "/." 16 | cleanpath("/./") = "/" 17 | cleanpath("/./.") = "/." 18 | cleanpath("/.//") = "/" 19 | cleanpath(".") = "." 20 | cleanpath("/////") = "/" 21 | cleanpath("") = "" 22 | 23 | -------------------------------------------------------------------------------- /test/tst/common/funcs/tst.ftruncate.ksh.out: -------------------------------------------------------------------------------- 1 | 10 2 | 11 3 | 12 4 | 13 5 | 14 6 | 15 7 | 16 8 | 17 9 | 18 10 | 19 11 | 12 | -------------------------------------------------------------------------------- /test/tst/common/funcs/tst.lltostr.d.out: -------------------------------------------------------------------------------- 1 | 0 2 | 1 3 | -1 4 | 123456789 5 | -123456789 6 | 4611686018427387904 7 | -4611686018427387904 8 | 9 | -------------------------------------------------------------------------------- /test/tst/common/funcs/tst.mtons.d: -------------------------------------------------------------------------------- 1 | /* 2 | * CDDL HEADER START 3 | * 4 | * The contents of this file are subject to the terms of the 5 | * Common Development and Distribution License (the "License"). 6 | * You may not use this file except in compliance with the License. 7 | * 8 | * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 9 | * or http://www.opensolaris.org/os/licensing. 10 | * See the License for the specific language governing permissions 11 | * and limitations under the License. 12 | * 13 | * When distributing Covered Code, include this CDDL HEADER in each 14 | * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 15 | * If applicable, add the following below this CDDL HEADER, with the 16 | * fields enclosed by brackets "[]" replaced with your own identifying 17 | * information: Portions Copyright [yyyy] [name of copyright owner] 18 | * 19 | * CDDL HEADER END 20 | */ 21 | 22 | #pragma D option quiet 23 | 24 | BEGIN 25 | { 26 | printf("%d\n", mtons(0)); 27 | exit(0); 28 | } 29 | -------------------------------------------------------------------------------- /test/tst/common/funcs/tst.mtons.out: -------------------------------------------------------------------------------- 1 | 0 2 | 3 | -------------------------------------------------------------------------------- /test/tst/common/funcs/tst.strchr.d.out: -------------------------------------------------------------------------------- 1 | strchr("fooeyfooeyfoo", 'f') = "fooeyfooeyfoo" 2 | strrchr("fooeyfooeyfoo", 'f') = "foo" 3 | strchr("fooeyfooeyfoo", 'y') = "yfooeyfoo" 4 | strrchr("fooeyfooeyfoo", 'y') = "yfoo" 5 | strrchr("yfooeyfoo", 'y') = "yfoo" 6 | strchr("fooeyfooeyfoo", '') = "" 7 | strrchr("fooeyfooeyfoo", '') = "" 8 | 9 | -------------------------------------------------------------------------------- /test/tst/common/funcs/tst.strjoin.d.out: -------------------------------------------------------------------------------- 1 | foobaz 2 | foo 3 | baz 4 | 5 | 6 | -------------------------------------------------------------------------------- /test/tst/common/funcs/tst.strstr.d.out: -------------------------------------------------------------------------------- 1 | strstr("foobarbarbazbarbop", "foobarbarbazbarbop") = "foobarbarbazbarbop" 2 | strstr("foobarbarbazbarbop", "baz") = "bazbarbop" 3 | strstr("foobarbarbazbarbop", "bar") = "barbarbazbarbop" 4 | strstr("foobarbarbazbarbop", "bazbarbop") = "bazbarbop" 5 | strstr("foobarbarbazbarbop", "barba") = "barbarbazbarbop" 6 | strstr("bazbarbop", "zbarbop") = "zbarbop" 7 | strstr("foobarbarbazbarbop", "") = "foobarbarbazbarbop" 8 | strstr("", "") = "" 9 | strstr("f", "f") = "f" 10 | 11 | -------------------------------------------------------------------------------- /test/tst/common/funcs/tst.strtok.d.out: -------------------------------------------------------------------------------- 1 | Carrots 2 | Barley 3 | Oatmeal 4 | Beans 5 | 6 | -------------------------------------------------------------------------------- /test/tst/common/funcs/tst.system.d.out: -------------------------------------------------------------------------------- 1 | foo 9 -2 2 | 10 3 | 11 4 | 12 5 | 6 | -------------------------------------------------------------------------------- /test/tst/common/funcs/tst.tolower.out: -------------------------------------------------------------------------------- 1 | abcdefghijklmnopqrstuvwxyz 2 | 0123456789! 3 | /stairway/to/heaven 4 | aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 5 | -------------------------------------------------------------------------------- /test/tst/common/funcs/tst.toupper.out: -------------------------------------------------------------------------------- 1 | ABCDEFGHIJKLMNOPQRSTUVWXYZ 2 | 0123456789! 3 | /STAIRWAY/TO/HEAVEN 4 | AAAAAAAAAAAAAAAAAAAAAAAAA 5 | 6 | -------------------------------------------------------------------------------- /test/tst/common/inline/tst.InlineKinds.d.out: -------------------------------------------------------------------------------- 1 | i0 = 123 2 | i1 = BEGIN 3 | i2 = 1 4 | i3.s_x = 124 5 | i4[10, 20] = 30 6 | i5[123] = 124 7 | 8 | -------------------------------------------------------------------------------- /test/tst/common/json/tst.strsize.d.out: -------------------------------------------------------------------------------- 1 | |{"a": 1024| 2 | 3 | 4 | |{"a": 1024}| 5 | 1024 6 | 7 | |{"a":false,"b":tru| 8 | 9 | 10 | |{"a":false,"b":20}| 11 | 20 12 | 13 | 14 | -------------------------------------------------------------------------------- /test/tst/common/json/tst.usdt.d.out: -------------------------------------------------------------------------------- 1 | [0] sz 445.890000 odd false even true 2 | [1] sz 793.684200 odd true even false 3 | [2] sz 1412.757876 odd false even true 4 | [3] sz 2514.709019 odd true even false 5 | [4] sz 4476.182054 odd false even true 6 | [5] sz 7967.604057 odd true even false 7 | [6] sz 14182.335221 odd false even true 8 | [8] sz 44935.310914 odd false even true 9 | [9] sz 79984.853427 odd true even false 10 | FINISHED! 11 | 12 | -------------------------------------------------------------------------------- /test/tst/common/json/usdt.d: -------------------------------------------------------------------------------- 1 | /* 2 | * This file and its contents are supplied under the terms of the 3 | * Common Development and Distribution License ("CDDL"), version 1.0. 4 | * You may only use this file in accordance with the terms of version 5 | * 1.0 of the CDDL. 6 | * 7 | * A full copy of the text of the CDDL should have accompanied this 8 | * source. A copy of the CDDL is also available via the Internet at 9 | * http://www.illumos.org/license/CDDL. 10 | */ 11 | 12 | /* 13 | * Copyright 2012, Joyent, Inc. All rights reserved. 14 | */ 15 | 16 | /* 17 | * Sets up a fake node-bunyan-like USDT provider for use from C. 18 | */ 19 | 20 | provider bunyan_fake { 21 | probe log__trace(char *msg); 22 | probe log__debug(char *msg); 23 | probe log__info(char *msg); 24 | probe log__warn(char *msg); 25 | probe log__error(char *msg); 26 | probe log__fatal(char *msg); 27 | }; 28 | -------------------------------------------------------------------------------- /test/tst/common/llquantize/err.D_LLQUANT_FACTOREVEN.nodivide.d: -------------------------------------------------------------------------------- 1 | /* 2 | * CDDL HEADER START 3 | * 4 | * The contents of this file are subject to the terms of the 5 | * Common Development and Distribution License (the "License"). 6 | * You may not use this file except in compliance with the License. 7 | * 8 | * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 9 | * or http://www.opensolaris.org/os/licensing. 10 | * See the License for the specific language governing permissions 11 | * and limitations under the License. 12 | * 13 | * When distributing Covered Code, include this CDDL HEADER in each 14 | * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 15 | * If applicable, add the following below this CDDL HEADER, with the 16 | * fields enclosed by brackets "[]" replaced with your own identifying 17 | * information: Portions Copyright [yyyy] [name of copyright owner] 18 | * 19 | * CDDL HEADER END 20 | */ 21 | 22 | /* 23 | * Copyright (c) 2011, Joyent, Inc. All rights reserved. 24 | */ 25 | 26 | BEGIN 27 | { 28 | @ = llquantize(0, 10, 0, 10, 25); 29 | } 30 | -------------------------------------------------------------------------------- /test/tst/common/llquantize/err.D_LLQUANT_FACTOREVEN.notfactor.d: -------------------------------------------------------------------------------- 1 | /* 2 | * CDDL HEADER START 3 | * 4 | * The contents of this file are subject to the terms of the 5 | * Common Development and Distribution License (the "License"). 6 | * You may not use this file except in compliance with the License. 7 | * 8 | * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 9 | * or http://www.opensolaris.org/os/licensing. 10 | * See the License for the specific language governing permissions 11 | * and limitations under the License. 12 | * 13 | * When distributing Covered Code, include this CDDL HEADER in each 14 | * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 15 | * If applicable, add the following below this CDDL HEADER, with the 16 | * fields enclosed by brackets "[]" replaced with your own identifying 17 | * information: Portions Copyright [yyyy] [name of copyright owner] 18 | * 19 | * CDDL HEADER END 20 | */ 21 | 22 | /* 23 | * Copyright (c) 2011, Joyent, Inc. All rights reserved. 24 | */ 25 | 26 | BEGIN 27 | { 28 | @ = llquantize(0, 10, 0, 10, 30); 29 | } 30 | -------------------------------------------------------------------------------- /test/tst/common/llquantize/err.D_LLQUANT_FACTORMATCH.d: -------------------------------------------------------------------------------- 1 | /* 2 | * CDDL HEADER START 3 | * 4 | * The contents of this file are subject to the terms of the 5 | * Common Development and Distribution License (the "License"). 6 | * You may not use this file except in compliance with the License. 7 | * 8 | * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 9 | * or http://www.opensolaris.org/os/licensing. 10 | * See the License for the specific language governing permissions 11 | * and limitations under the License. 12 | * 13 | * When distributing Covered Code, include this CDDL HEADER in each 14 | * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 15 | * If applicable, add the following below this CDDL HEADER, with the 16 | * fields enclosed by brackets "[]" replaced with your own identifying 17 | * information: Portions Copyright [yyyy] [name of copyright owner] 18 | * 19 | * CDDL HEADER END 20 | */ 21 | 22 | /* 23 | * Copyright (c) 2011, Joyent, Inc. All rights reserved. 24 | */ 25 | 26 | BEGIN 27 | { 28 | @ = llquantize(0, 10, 0, 10, 10); 29 | @ = llquantize(0, 3, 0, 10, 81); 30 | } 31 | -------------------------------------------------------------------------------- /test/tst/common/llquantize/err.D_LLQUANT_FACTORNSTEPS.d: -------------------------------------------------------------------------------- 1 | /* 2 | * CDDL HEADER START 3 | * 4 | * The contents of this file are subject to the terms of the 5 | * Common Development and Distribution License (the "License"). 6 | * You may not use this file except in compliance with the License. 7 | * 8 | * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 9 | * or http://www.opensolaris.org/os/licensing. 10 | * See the License for the specific language governing permissions 11 | * and limitations under the License. 12 | * 13 | * When distributing Covered Code, include this CDDL HEADER in each 14 | * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 15 | * If applicable, add the following below this CDDL HEADER, with the 16 | * fields enclosed by brackets "[]" replaced with your own identifying 17 | * information: Portions Copyright [yyyy] [name of copyright owner] 18 | * 19 | * CDDL HEADER END 20 | */ 21 | 22 | /* 23 | * Copyright (c) 2011, Joyent, Inc. All rights reserved. 24 | */ 25 | 26 | BEGIN 27 | { 28 | @ = llquantize(0, 10, 0, 10, 7); 29 | } 30 | -------------------------------------------------------------------------------- /test/tst/common/llquantize/err.D_LLQUANT_FACTORSMALL.d: -------------------------------------------------------------------------------- 1 | /* 2 | * CDDL HEADER START 3 | * 4 | * The contents of this file are subject to the terms of the 5 | * Common Development and Distribution License (the "License"). 6 | * You may not use this file except in compliance with the License. 7 | * 8 | * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 9 | * or http://www.opensolaris.org/os/licensing. 10 | * See the License for the specific language governing permissions 11 | * and limitations under the License. 12 | * 13 | * When distributing Covered Code, include this CDDL HEADER in each 14 | * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 15 | * If applicable, add the following below this CDDL HEADER, with the 16 | * fields enclosed by brackets "[]" replaced with your own identifying 17 | * information: Portions Copyright [yyyy] [name of copyright owner] 18 | * 19 | * CDDL HEADER END 20 | */ 21 | 22 | /* 23 | * Copyright (c) 2011, Joyent, Inc. All rights reserved. 24 | */ 25 | 26 | BEGIN 27 | { 28 | @ = llquantize(0, 1, 0, 10, 10); 29 | } 30 | -------------------------------------------------------------------------------- /test/tst/common/llquantize/err.D_LLQUANT_FACTORTYPE.d: -------------------------------------------------------------------------------- 1 | /* 2 | * CDDL HEADER START 3 | * 4 | * The contents of this file are subject to the terms of the 5 | * Common Development and Distribution License (the "License"). 6 | * You may not use this file except in compliance with the License. 7 | * 8 | * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 9 | * or http://www.opensolaris.org/os/licensing. 10 | * See the License for the specific language governing permissions 11 | * and limitations under the License. 12 | * 13 | * When distributing Covered Code, include this CDDL HEADER in each 14 | * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 15 | * If applicable, add the following below this CDDL HEADER, with the 16 | * fields enclosed by brackets "[]" replaced with your own identifying 17 | * information: Portions Copyright [yyyy] [name of copyright owner] 18 | * 19 | * CDDL HEADER END 20 | */ 21 | 22 | /* 23 | * Copyright (c) 2011, Joyent, Inc. All rights reserved. 24 | */ 25 | 26 | BEGIN 27 | { 28 | this->doogle = 10; 29 | @ = llquantize(0, this->doogle, 0, 10, 10); 30 | } 31 | -------------------------------------------------------------------------------- /test/tst/common/llquantize/err.D_LLQUANT_FACTORVAL.d: -------------------------------------------------------------------------------- 1 | /* 2 | * CDDL HEADER START 3 | * 4 | * The contents of this file are subject to the terms of the 5 | * Common Development and Distribution License (the "License"). 6 | * You may not use this file except in compliance with the License. 7 | * 8 | * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 9 | * or http://www.opensolaris.org/os/licensing. 10 | * See the License for the specific language governing permissions 11 | * and limitations under the License. 12 | * 13 | * When distributing Covered Code, include this CDDL HEADER in each 14 | * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 15 | * If applicable, add the following below this CDDL HEADER, with the 16 | * fields enclosed by brackets "[]" replaced with your own identifying 17 | * information: Portions Copyright [yyyy] [name of copyright owner] 18 | * 19 | * CDDL HEADER END 20 | */ 21 | 22 | /* 23 | * Copyright (c) 2011, Joyent, Inc. All rights reserved. 24 | */ 25 | 26 | BEGIN 27 | { 28 | @ = llquantize(0, 65537, 0, 10, 10); 29 | } 30 | -------------------------------------------------------------------------------- /test/tst/common/llquantize/err.D_LLQUANT_HIGHMATCH.d: -------------------------------------------------------------------------------- 1 | /* 2 | * CDDL HEADER START 3 | * 4 | * The contents of this file are subject to the terms of the 5 | * Common Development and Distribution License (the "License"). 6 | * You may not use this file except in compliance with the License. 7 | * 8 | * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 9 | * or http://www.opensolaris.org/os/licensing. 10 | * See the License for the specific language governing permissions 11 | * and limitations under the License. 12 | * 13 | * When distributing Covered Code, include this CDDL HEADER in each 14 | * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 15 | * If applicable, add the following below this CDDL HEADER, with the 16 | * fields enclosed by brackets "[]" replaced with your own identifying 17 | * information: Portions Copyright [yyyy] [name of copyright owner] 18 | * 19 | * CDDL HEADER END 20 | */ 21 | 22 | /* 23 | * Copyright (c) 2011, Joyent, Inc. All rights reserved. 24 | */ 25 | 26 | BEGIN 27 | { 28 | @ = llquantize(0, 10, 0, 10, 10); 29 | @ = llquantize(0, 10, 0, 11, 10); 30 | } 31 | -------------------------------------------------------------------------------- /test/tst/common/llquantize/err.D_LLQUANT_HIGHTYPE.d: -------------------------------------------------------------------------------- 1 | /* 2 | * CDDL HEADER START 3 | * 4 | * The contents of this file are subject to the terms of the 5 | * Common Development and Distribution License (the "License"). 6 | * You may not use this file except in compliance with the License. 7 | * 8 | * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 9 | * or http://www.opensolaris.org/os/licensing. 10 | * See the License for the specific language governing permissions 11 | * and limitations under the License. 12 | * 13 | * When distributing Covered Code, include this CDDL HEADER in each 14 | * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 15 | * If applicable, add the following below this CDDL HEADER, with the 16 | * fields enclosed by brackets "[]" replaced with your own identifying 17 | * information: Portions Copyright [yyyy] [name of copyright owner] 18 | * 19 | * CDDL HEADER END 20 | */ 21 | 22 | /* 23 | * Copyright (c) 2011, Joyent, Inc. All rights reserved. 24 | */ 25 | 26 | BEGIN 27 | { 28 | this->doogle = 10; 29 | @ = llquantize(0, 10, 0, this->doogle, 10); 30 | } 31 | -------------------------------------------------------------------------------- /test/tst/common/llquantize/err.D_LLQUANT_HIGHVAL.d: -------------------------------------------------------------------------------- 1 | /* 2 | * CDDL HEADER START 3 | * 4 | * The contents of this file are subject to the terms of the 5 | * Common Development and Distribution License (the "License"). 6 | * You may not use this file except in compliance with the License. 7 | * 8 | * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 9 | * or http://www.opensolaris.org/os/licensing. 10 | * See the License for the specific language governing permissions 11 | * and limitations under the License. 12 | * 13 | * When distributing Covered Code, include this CDDL HEADER in each 14 | * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 15 | * If applicable, add the following below this CDDL HEADER, with the 16 | * fields enclosed by brackets "[]" replaced with your own identifying 17 | * information: Portions Copyright [yyyy] [name of copyright owner] 18 | * 19 | * CDDL HEADER END 20 | */ 21 | 22 | /* 23 | * Copyright (c) 2011, Joyent, Inc. All rights reserved. 24 | */ 25 | 26 | BEGIN 27 | { 28 | @ = llquantize(0, 10, 0, -1, 10); 29 | } 30 | -------------------------------------------------------------------------------- /test/tst/common/llquantize/err.D_LLQUANT_LOWMATCH.d: -------------------------------------------------------------------------------- 1 | /* 2 | * CDDL HEADER START 3 | * 4 | * The contents of this file are subject to the terms of the 5 | * Common Development and Distribution License (the "License"). 6 | * You may not use this file except in compliance with the License. 7 | * 8 | * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 9 | * or http://www.opensolaris.org/os/licensing. 10 | * See the License for the specific language governing permissions 11 | * and limitations under the License. 12 | * 13 | * When distributing Covered Code, include this CDDL HEADER in each 14 | * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 15 | * If applicable, add the following below this CDDL HEADER, with the 16 | * fields enclosed by brackets "[]" replaced with your own identifying 17 | * information: Portions Copyright [yyyy] [name of copyright owner] 18 | * 19 | * CDDL HEADER END 20 | */ 21 | 22 | /* 23 | * Copyright (c) 2011, Joyent, Inc. All rights reserved. 24 | */ 25 | 26 | BEGIN 27 | { 28 | @ = llquantize(0, 10, 0, 10, 10); 29 | @ = llquantize(0, 10, 1, 10, 10); 30 | } 31 | -------------------------------------------------------------------------------- /test/tst/common/llquantize/err.D_LLQUANT_LOWTYPE.d: -------------------------------------------------------------------------------- 1 | /* 2 | * CDDL HEADER START 3 | * 4 | * The contents of this file are subject to the terms of the 5 | * Common Development and Distribution License (the "License"). 6 | * You may not use this file except in compliance with the License. 7 | * 8 | * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 9 | * or http://www.opensolaris.org/os/licensing. 10 | * See the License for the specific language governing permissions 11 | * and limitations under the License. 12 | * 13 | * When distributing Covered Code, include this CDDL HEADER in each 14 | * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 15 | * If applicable, add the following below this CDDL HEADER, with the 16 | * fields enclosed by brackets "[]" replaced with your own identifying 17 | * information: Portions Copyright [yyyy] [name of copyright owner] 18 | * 19 | * CDDL HEADER END 20 | */ 21 | 22 | /* 23 | * Copyright (c) 2011, Joyent, Inc. All rights reserved. 24 | */ 25 | 26 | BEGIN 27 | { 28 | this->doogle = 0; 29 | @ = llquantize(0, 10, this->doogle, 10, 10); 30 | } 31 | -------------------------------------------------------------------------------- /test/tst/common/llquantize/err.D_LLQUANT_LOWVAL.d: -------------------------------------------------------------------------------- 1 | /* 2 | * CDDL HEADER START 3 | * 4 | * The contents of this file are subject to the terms of the 5 | * Common Development and Distribution License (the "License"). 6 | * You may not use this file except in compliance with the License. 7 | * 8 | * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 9 | * or http://www.opensolaris.org/os/licensing. 10 | * See the License for the specific language governing permissions 11 | * and limitations under the License. 12 | * 13 | * When distributing Covered Code, include this CDDL HEADER in each 14 | * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 15 | * If applicable, add the following below this CDDL HEADER, with the 16 | * fields enclosed by brackets "[]" replaced with your own identifying 17 | * information: Portions Copyright [yyyy] [name of copyright owner] 18 | * 19 | * CDDL HEADER END 20 | */ 21 | 22 | /* 23 | * Copyright (c) 2011, Joyent, Inc. All rights reserved. 24 | */ 25 | 26 | BEGIN 27 | { 28 | @ = llquantize(0, 10, -1, 10, 10); 29 | } 30 | -------------------------------------------------------------------------------- /test/tst/common/llquantize/err.D_LLQUANT_MAGRANGE.d: -------------------------------------------------------------------------------- 1 | /* 2 | * CDDL HEADER START 3 | * 4 | * The contents of this file are subject to the terms of the 5 | * Common Development and Distribution License (the "License"). 6 | * You may not use this file except in compliance with the License. 7 | * 8 | * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 9 | * or http://www.opensolaris.org/os/licensing. 10 | * See the License for the specific language governing permissions 11 | * and limitations under the License. 12 | * 13 | * When distributing Covered Code, include this CDDL HEADER in each 14 | * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 15 | * If applicable, add the following below this CDDL HEADER, with the 16 | * fields enclosed by brackets "[]" replaced with your own identifying 17 | * information: Portions Copyright [yyyy] [name of copyright owner] 18 | * 19 | * CDDL HEADER END 20 | */ 21 | 22 | /* 23 | * Copyright (c) 2011, Joyent, Inc. All rights reserved. 24 | */ 25 | 26 | BEGIN 27 | { 28 | @ = llquantize(0, 10, 10, 0, 10); 29 | } 30 | -------------------------------------------------------------------------------- /test/tst/common/llquantize/err.D_LLQUANT_MAGTOOBIG.d: -------------------------------------------------------------------------------- 1 | /* 2 | * CDDL HEADER START 3 | * 4 | * The contents of this file are subject to the terms of the 5 | * Common Development and Distribution License (the "License"). 6 | * You may not use this file except in compliance with the License. 7 | * 8 | * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 9 | * or http://www.opensolaris.org/os/licensing. 10 | * See the License for the specific language governing permissions 11 | * and limitations under the License. 12 | * 13 | * When distributing Covered Code, include this CDDL HEADER in each 14 | * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 15 | * If applicable, add the following below this CDDL HEADER, with the 16 | * fields enclosed by brackets "[]" replaced with your own identifying 17 | * information: Portions Copyright [yyyy] [name of copyright owner] 18 | * 19 | * CDDL HEADER END 20 | */ 21 | 22 | /* 23 | * Copyright (c) 2011, Joyent, Inc. All rights reserved. 24 | */ 25 | 26 | BEGIN 27 | { 28 | @ = llquantize(0, 10, 0, 100, 10); 29 | } 30 | -------------------------------------------------------------------------------- /test/tst/common/llquantize/err.D_LLQUANT_MAGTOOBIG.offbyone.d: -------------------------------------------------------------------------------- 1 | /* 2 | * This file and its contents are supplied under the terms of the 3 | * Common Development and Distribution License ("CDDL"), version 1.0. 4 | * You may only use this file in accordance with the terms version 5 | * 1.0 of the CDDL. 6 | * 7 | * A full copy of the text of the CDDL should have accompanied this 8 | * source. A copy of the CDDL is also available via the Internet at 9 | * http://www.illumos.org/license/CDDL. 10 | */ 11 | 12 | /* 13 | * Copyright 2017 Mark Johnston 14 | */ 15 | 16 | /* 17 | * A regression test for rdar://problem/33921762 / FreeBSD r322773. 18 | * 100^9 fits in 64 bits, but llquantize() will create buckets up to 19 | * 100^{10}, which does not fit. 20 | */ 21 | 22 | BEGIN 23 | { 24 | @ = llquantize(0, 100, 0, 9, 100); 25 | exit(0); 26 | } 27 | -------------------------------------------------------------------------------- /test/tst/common/llquantize/err.D_LLQUANT_NSTEPMATCH.d: -------------------------------------------------------------------------------- 1 | /* 2 | * CDDL HEADER START 3 | * 4 | * The contents of this file are subject to the terms of the 5 | * Common Development and Distribution License (the "License"). 6 | * You may not use this file except in compliance with the License. 7 | * 8 | * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 9 | * or http://www.opensolaris.org/os/licensing. 10 | * See the License for the specific language governing permissions 11 | * and limitations under the License. 12 | * 13 | * When distributing Covered Code, include this CDDL HEADER in each 14 | * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 15 | * If applicable, add the following below this CDDL HEADER, with the 16 | * fields enclosed by brackets "[]" replaced with your own identifying 17 | * information: Portions Copyright [yyyy] [name of copyright owner] 18 | * 19 | * CDDL HEADER END 20 | */ 21 | 22 | /* 23 | * Copyright (c) 2011, Joyent, Inc. All rights reserved. 24 | */ 25 | 26 | BEGIN 27 | { 28 | @ = llquantize(0, 10, 0, 10, 10); 29 | @ = llquantize(0, 10, 0, 10, 100); 30 | } 31 | -------------------------------------------------------------------------------- /test/tst/common/llquantize/err.D_LLQUANT_NSTEPTYPE.d: -------------------------------------------------------------------------------- 1 | /* 2 | * CDDL HEADER START 3 | * 4 | * The contents of this file are subject to the terms of the 5 | * Common Development and Distribution License (the "License"). 6 | * You may not use this file except in compliance with the License. 7 | * 8 | * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 9 | * or http://www.opensolaris.org/os/licensing. 10 | * See the License for the specific language governing permissions 11 | * and limitations under the License. 12 | * 13 | * When distributing Covered Code, include this CDDL HEADER in each 14 | * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 15 | * If applicable, add the following below this CDDL HEADER, with the 16 | * fields enclosed by brackets "[]" replaced with your own identifying 17 | * information: Portions Copyright [yyyy] [name of copyright owner] 18 | * 19 | * CDDL HEADER END 20 | */ 21 | 22 | /* 23 | * Copyright (c) 2011, Joyent, Inc. All rights reserved. 24 | */ 25 | 26 | BEGIN 27 | { 28 | this->doogle = 10; 29 | @ = llquantize(0, 10, 0, 10, this->doogle); 30 | } 31 | -------------------------------------------------------------------------------- /test/tst/common/llquantize/err.D_LLQUANT_NSTEPVAL.d: -------------------------------------------------------------------------------- 1 | /* 2 | * CDDL HEADER START 3 | * 4 | * The contents of this file are subject to the terms of the 5 | * Common Development and Distribution License (the "License"). 6 | * You may not use this file except in compliance with the License. 7 | * 8 | * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 9 | * or http://www.opensolaris.org/os/licensing. 10 | * See the License for the specific language governing permissions 11 | * and limitations under the License. 12 | * 13 | * When distributing Covered Code, include this CDDL HEADER in each 14 | * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 15 | * If applicable, add the following below this CDDL HEADER, with the 16 | * fields enclosed by brackets "[]" replaced with your own identifying 17 | * information: Portions Copyright [yyyy] [name of copyright owner] 18 | * 19 | * CDDL HEADER END 20 | */ 21 | 22 | /* 23 | * Copyright (c) 2011, Joyent, Inc. All rights reserved. 24 | */ 25 | 26 | BEGIN 27 | { 28 | @ = llquantize(123, 10, 0, 10, 123456); 29 | } 30 | -------------------------------------------------------------------------------- /test/tst/common/llquantize/tst.clear.d: -------------------------------------------------------------------------------- 1 | /* 2 | * This file and its contents are supplied under the terms of the 3 | * Common Development and Distribution License ("CDDL"), version 1.0. 4 | * You may only use this file in accordance with the terms of version 5 | * 1.0 of the CDDL. 6 | * 7 | * A full copy of the text of the CDDL should have accompanied this 8 | * source. A copy of the CDDL is also available via the Internet at 9 | * http://www.illumos.org/license/CDDL. 10 | */ 11 | 12 | /* 13 | * Copyright (c) 2016, Joyent, Inc. All rights reserved. 14 | */ 15 | 16 | #pragma D option quiet 17 | 18 | BEGIN 19 | { 20 | @ = llquantize(0, 10, 0, 6, 20); 21 | clear(@); 22 | exit(0); 23 | } 24 | -------------------------------------------------------------------------------- /test/tst/common/llquantize/tst.clear.d.out: -------------------------------------------------------------------------------- 1 | 2 | 3 | value ------------- Distribution ------------- count 4 | < 1 | 0 5 | 1 | 0 6 | 7 | -------------------------------------------------------------------------------- /test/tst/common/llquantize/tst.multiaggs.d: -------------------------------------------------------------------------------- 1 | /* 2 | * This file and its contents are supplied under the terms of the 3 | * Common Development and Distribution License ("CDDL"), version 1.0. 4 | * You may only use this file in accordance with the terms of version 5 | * 1.0 of the CDDL. 6 | * 7 | * A full copy of the text of the CDDL should have accompanied this 8 | * source. A copy of the CDDL is also available via the Internet at 9 | * http://www.illumos.org/license/CDDL. 10 | */ 11 | 12 | /* 13 | * Copyright (c) 2016, Joyent, Inc. All rights reserved. 14 | */ 15 | 16 | #pragma D option quiet 17 | 18 | BEGIN 19 | { 20 | @sfo["tabs"] = llquantize(10000, 10, 0, 6, 20); 21 | @yvr["spaces"] = count(); 22 | printa(@sfo, @yvr); 23 | exit(0); 24 | } 25 | -------------------------------------------------------------------------------- /test/tst/common/llquantize/tst.multiaggs.d.out: -------------------------------------------------------------------------------- 1 | 2 | spaces 3 | value ------------- Distribution ------------- count 4 | < 1 | 0 5 | 1 | 0 6 | 1 7 | tabs 8 | value ------------- Distribution ------------- count 9 | 9500 | 0 10 | 10000 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 11 | 15000 | 0 12 | 0 13 | 14 | -------------------------------------------------------------------------------- /test/tst/common/misc/err.D_PRAGMA_OPTSET.d: -------------------------------------------------------------------------------- 1 | /* 2 | * CDDL HEADER START 3 | * 4 | * The contents of this file are subject to the terms of the 5 | * Common Development and Distribution License (the "License"). 6 | * You may not use this file except in compliance with the License. 7 | * 8 | * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 9 | * or http://www.opensolaris.org/os/licensing. 10 | * See the License for the specific language governing permissions 11 | * and limitations under the License. 12 | * 13 | * When distributing Covered Code, include this CDDL HEADER in each 14 | * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 15 | * If applicable, add the following below this CDDL HEADER, with the 16 | * fields enclosed by brackets "[]" replaced with your own identifying 17 | * information: Portions Copyright [yyyy] [name of copyright owner] 18 | * 19 | * CDDL HEADER END 20 | */ 21 | 22 | /* 23 | * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 24 | * Use is subject to license terms. 25 | */ 26 | 27 | #pragma D option quiet=please 28 | 29 | BEGIN 30 | { 31 | exit(0); 32 | } 33 | -------------------------------------------------------------------------------- /test/tst/common/misc/tst.boolopt.d.out: -------------------------------------------------------------------------------- 1 | .lived eht si paTmetsyS, lived eht si paTmetsyS 2 | 3 | -------------------------------------------------------------------------------- /test/tst/common/misc/tst.dynopt.d.out: -------------------------------------------------------------------------------- 1 | 1 2 | 2 3 | 3 4 | 4 5 | 10 6 | 10 7 | 10 8 | 10 9 | 10 10 | 10 11 | 12 | -------------------------------------------------------------------------------- /test/tst/common/multiaggs/tst.same.d.out: -------------------------------------------------------------------------------- 1 | 90904 90904 90904 2 | 90904 90904 90904 3 | 4 | -------------------------------------------------------------------------------- /test/tst/common/multiaggs/tst.tuplecompat.d.out: -------------------------------------------------------------------------------- 1 | foo 789 bar 123 456 2 | 3 | -------------------------------------------------------------------------------- /test/tst/common/multiaggs/tst.zero3.d.out: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /test/tst/common/offsetof/tst.struct.d.out: -------------------------------------------------------------------------------- 1 | offsetof(s, y) = 4 2 | 3 | -------------------------------------------------------------------------------- /test/tst/common/offsetof/tst.union.d.out: -------------------------------------------------------------------------------- 1 | offsetof(s, y) = 0 2 | 3 | -------------------------------------------------------------------------------- /test/tst/common/operators/tst.ternary.d.out: -------------------------------------------------------------------------------- 1 | x is zero 2 | x is one 3 | x is two 4 | 5 | -------------------------------------------------------------------------------- /test/tst/common/perf/usdt_overhead_helper.0.c: -------------------------------------------------------------------------------- 1 | int main(void) { 2 | return 0; 3 | } 4 | -------------------------------------------------------------------------------- /test/tst/common/perf/usdt_overhead_helper.1.c: -------------------------------------------------------------------------------- 1 | #include "usdt_overhead_helper.h" 2 | int main(void) { 3 | PROVIDER(0) 4 | return 0; 5 | } 6 | -------------------------------------------------------------------------------- /test/tst/common/perf/usdt_overhead_helper.10.c: -------------------------------------------------------------------------------- 1 | #include "usdt_overhead_helper.h" 2 | int main(void) { 3 | PROV10() 4 | return 0; 5 | } 6 | 7 | -------------------------------------------------------------------------------- /test/tst/common/perf/usdt_overhead_helper.h: -------------------------------------------------------------------------------- 1 | #ifndef _USDT_OVERHEAD_HELPER_H_ 2 | #define _USDT_OVERHEAD_HELPER_H_ 3 | #include 4 | 5 | #define _CONCAT(a, b) a ## b 6 | #define CONCAT(a, b) _CONCAT(a, b) 7 | 8 | #define PROVIDER(i) CONCAT(CONCAT(PROVIDER, i), _TEST_PROVIDER_PROBE)(); 9 | 10 | #define PROV10(i) PROVIDER(CONCAT(i, 0)) \ 11 | PROVIDER(CONCAT(i, 1)) \ 12 | PROVIDER(CONCAT(i, 2)) \ 13 | PROVIDER(CONCAT(i, 3)) \ 14 | PROVIDER(CONCAT(i, 4)) \ 15 | PROVIDER(CONCAT(i, 5)) \ 16 | PROVIDER(CONCAT(i, 6)) \ 17 | PROVIDER(CONCAT(i, 7)) \ 18 | PROVIDER(CONCAT(i, 8)) \ 19 | PROVIDER(CONCAT(i, 9)) 20 | 21 | #define PROV100() PROV10( ) \ 22 | PROV10(1) \ 23 | PROV10(2) \ 24 | PROV10(3) \ 25 | PROV10(4) \ 26 | PROV10(5) \ 27 | PROV10(6) \ 28 | PROV10(7) \ 29 | PROV10(8) \ 30 | PROV10(9) 31 | 32 | #endif /* _USDT_OVERHEAD_HELPER_H_ */ 33 | -------------------------------------------------------------------------------- /test/tst/common/pid/err.D_PDESC_ZERO.badlib.c: -------------------------------------------------------------------------------- 1 | /* 2 | * CDDL HEADER START 3 | * 4 | * The contents of this file are subject to the terms of the 5 | * Common Development and Distribution License (the "License"). 6 | * You may not use this file except in compliance with the License. 7 | * 8 | * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 9 | * or http://www.opensolaris.org/os/licensing. 10 | * See the License for the specific language governing permissions 11 | * and limitations under the License. 12 | * 13 | * When distributing Covered Code, include this CDDL HEADER in each 14 | * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 15 | * If applicable, add the following below this CDDL HEADER, with the 16 | * fields enclosed by brackets "[]" replaced with your own identifying 17 | * information: Portions Copyright [yyyy] [name of copyright owner] 18 | * 19 | * CDDL HEADER END 20 | */ 21 | 22 | #include 23 | 24 | /* 25 | * Copyright 2020 Apple, Inc. All rights reserved. 26 | * Use is subject to license terms. 27 | */ 28 | 29 | int main(void) 30 | { 31 | sleep(1000000); 32 | return 0; 33 | } 34 | -------------------------------------------------------------------------------- /test/tst/common/pid/err.D_PROC_CREATEFAIL.many.d: -------------------------------------------------------------------------------- 1 | /* 2 | * CDDL HEADER START 3 | * 4 | * The contents of this file are subject to the terms of the 5 | * Common Development and Distribution License (the "License"). 6 | * You may not use this file except in compliance with the License. 7 | * 8 | * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 9 | * or http://www.opensolaris.org/os/licensing. 10 | * See the License for the specific language governing permissions 11 | * and limitations under the License. 12 | * 13 | * When distributing Covered Code, include this CDDL HEADER in each 14 | * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 15 | * If applicable, add the following below this CDDL HEADER, with the 16 | * fields enclosed by brackets "[]" replaced with your own identifying 17 | * information: Portions Copyright [yyyy] [name of copyright owner] 18 | * 19 | * CDDL HEADER END 20 | */ 21 | 22 | /* 23 | * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 24 | * Use is subject to license terms. 25 | */ 26 | 27 | pid$1::: 28 | { 29 | } 30 | 31 | BEGIN 32 | { 33 | exit(1); 34 | } 35 | -------------------------------------------------------------------------------- /test/tst/common/pid/err.D_PROC_FUNC.badfunc.c: -------------------------------------------------------------------------------- 1 | /* 2 | * CDDL HEADER START 3 | * 4 | * The contents of this file are subject to the terms of the 5 | * Common Development and Distribution License (the "License"). 6 | * You may not use this file except in compliance with the License. 7 | * 8 | * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 9 | * or http://www.opensolaris.org/os/licensing. 10 | * See the License for the specific language governing permissions 11 | * and limitations under the License. 12 | * 13 | * When distributing Covered Code, include this CDDL HEADER in each 14 | * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 15 | * If applicable, add the following below this CDDL HEADER, with the 16 | * fields enclosed by brackets "[]" replaced with your own identifying 17 | * information: Portions Copyright [yyyy] [name of copyright owner] 18 | * 19 | * CDDL HEADER END 20 | */ 21 | 22 | #include 23 | 24 | /* 25 | * Copyright 2020 Apple, Inc. All rights reserved. 26 | * Use is subject to license terms. 27 | */ 28 | 29 | int main(void) 30 | { 31 | sleep(1000000); 32 | return 0; 33 | } 34 | -------------------------------------------------------------------------------- /test/tst/common/pid/err.D_PROC_LIB.libdash.c: -------------------------------------------------------------------------------- 1 | /* 2 | * CDDL HEADER START 3 | * 4 | * The contents of this file are subject to the terms of the 5 | * Common Development and Distribution License (the "License"). 6 | * You may not use this file except in compliance with the License. 7 | * 8 | * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 9 | * or http://www.opensolaris.org/os/licensing. 10 | * See the License for the specific language governing permissions 11 | * and limitations under the License. 12 | * 13 | * When distributing Covered Code, include this CDDL HEADER in each 14 | * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 15 | * If applicable, add the following below this CDDL HEADER, with the 16 | * fields enclosed by brackets "[]" replaced with your own identifying 17 | * information: Portions Copyright [yyyy] [name of copyright owner] 18 | * 19 | * CDDL HEADER END 20 | */ 21 | 22 | #include 23 | 24 | /* 25 | * Copyright 2020 Apple, Inc. All rights reserved. 26 | * Use is subject to license terms. 27 | */ 28 | 29 | int main(void) 30 | { 31 | sleep(1000000); 32 | return 0; 33 | } 34 | -------------------------------------------------------------------------------- /test/tst/common/pid/err.D_PROC_NAME.alldash.c: -------------------------------------------------------------------------------- 1 | /* 2 | * CDDL HEADER START 3 | * 4 | * The contents of this file are subject to the terms of the 5 | * Common Development and Distribution License (the "License"). 6 | * You may not use this file except in compliance with the License. 7 | * 8 | * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 9 | * or http://www.opensolaris.org/os/licensing. 10 | * See the License for the specific language governing permissions 11 | * and limitations under the License. 12 | * 13 | * When distributing Covered Code, include this CDDL HEADER in each 14 | * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 15 | * If applicable, add the following below this CDDL HEADER, with the 16 | * fields enclosed by brackets "[]" replaced with your own identifying 17 | * information: Portions Copyright [yyyy] [name of copyright owner] 18 | * 19 | * CDDL HEADER END 20 | */ 21 | 22 | #include 23 | 24 | /* 25 | * Copyright 2020 Apple, Inc. All rights reserved. 26 | * Use is subject to license terms. 27 | */ 28 | 29 | int main(void) 30 | { 31 | sleep(1000000); 32 | return 0; 33 | } 34 | -------------------------------------------------------------------------------- /test/tst/common/pid/err.D_PROC_NAME.badname.c: -------------------------------------------------------------------------------- 1 | /* 2 | * CDDL HEADER START 3 | * 4 | * The contents of this file are subject to the terms of the 5 | * Common Development and Distribution License (the "License"). 6 | * You may not use this file except in compliance with the License. 7 | * 8 | * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 9 | * or http://www.opensolaris.org/os/licensing. 10 | * See the License for the specific language governing permissions 11 | * and limitations under the License. 12 | * 13 | * When distributing Covered Code, include this CDDL HEADER in each 14 | * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 15 | * If applicable, add the following below this CDDL HEADER, with the 16 | * fields enclosed by brackets "[]" replaced with your own identifying 17 | * information: Portions Copyright [yyyy] [name of copyright owner] 18 | * 19 | * CDDL HEADER END 20 | */ 21 | 22 | #include 23 | 24 | /* 25 | * Copyright 2020 Apple, Inc. All rights reserved. 26 | * Use is subject to license terms. 27 | */ 28 | 29 | int main(void) 30 | { 31 | sleep(1000000); 32 | return 0; 33 | } 34 | -------------------------------------------------------------------------------- /test/tst/common/pid/err.D_PROC_NAME.globdash.c: -------------------------------------------------------------------------------- 1 | /* 2 | * CDDL HEADER START 3 | * 4 | * The contents of this file are subject to the terms of the 5 | * Common Development and Distribution License (the "License"). 6 | * You may not use this file except in compliance with the License. 7 | * 8 | * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 9 | * or http://www.opensolaris.org/os/licensing. 10 | * See the License for the specific language governing permissions 11 | * and limitations under the License. 12 | * 13 | * When distributing Covered Code, include this CDDL HEADER in each 14 | * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 15 | * If applicable, add the following below this CDDL HEADER, with the 16 | * fields enclosed by brackets "[]" replaced with your own identifying 17 | * information: Portions Copyright [yyyy] [name of copyright owner] 18 | * 19 | * CDDL HEADER END 20 | */ 21 | 22 | #include 23 | 24 | /* 25 | * Copyright 2020 Apple, Inc. All rights reserved. 26 | * Use is subject to license terms. 27 | */ 28 | 29 | int main(void) 30 | { 31 | sleep(1000000); 32 | return 0; 33 | } 34 | -------------------------------------------------------------------------------- /test/tst/common/pid/err.D_PROC_OFF.toobig.c: -------------------------------------------------------------------------------- 1 | /* 2 | * CDDL HEADER START 3 | * 4 | * The contents of this file are subject to the terms of the 5 | * Common Development and Distribution License (the "License"). 6 | * You may not use this file except in compliance with the License. 7 | * 8 | * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 9 | * or http://www.opensolaris.org/os/licensing. 10 | * See the License for the specific language governing permissions 11 | * and limitations under the License. 12 | * 13 | * When distributing Covered Code, include this CDDL HEADER in each 14 | * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 15 | * If applicable, add the following below this CDDL HEADER, with the 16 | * fields enclosed by brackets "[]" replaced with your own identifying 17 | * information: Portions Copyright [yyyy] [name of copyright owner] 18 | * 19 | * CDDL HEADER END 20 | */ 21 | 22 | #include 23 | 24 | /* 25 | * Copyright 2020 Apple, Inc. All rights reserved. 26 | * Use is subject to license terms. 27 | */ 28 | 29 | int main(void) 30 | { 31 | sleep(1000000); 32 | return 0; 33 | } 34 | -------------------------------------------------------------------------------- /test/tst/common/pid/tst.ProbeModUTF8.ksh: -------------------------------------------------------------------------------- 1 | #!/bin/ksh -p 2 | 3 | # $$ stores the pid of the running process, it will be unique over time. 4 | builddir="/tmp/tst.$$.tmp" 5 | 6 | if ! mkdir $builddir ; 7 | then 8 | print -u2 "Unable to create the temporary directory ${builddir}"; 9 | exit 1; 10 | fi 11 | 12 | cd $builddir 13 | 14 | cat > main.c < 2 | #include 3 | 4 | int waiting(volatile int *a) 5 | { 6 | return (*a); 7 | } 8 | 9 | /* 10 | * Value taken from pcre.h 11 | */ 12 | #define PCRE_CONFIG_UTF8 0 13 | 14 | int main(void) 15 | { 16 | volatile int a = 0; 17 | 18 | while (waiting(&a) == 0) 19 | continue; 20 | 21 | void* library = dlopen("/usr/lib/libpcre.dylib", RTLD_LAZY); 22 | int (*pcre_config)(int, void *) = (int (*)(int, void *))dlsym(library, "pcre_config"); 23 | if (pcre_config) { 24 | int value; 25 | pcre_config(PCRE_CONFIG_UTF8, &value); 26 | } 27 | dlclose(library); 28 | 29 | return 0; 30 | } 31 | -------------------------------------------------------------------------------- /test/tst/common/pid/tst.dlopen.ksh: -------------------------------------------------------------------------------- 1 | file=out.$$ 2 | dtrace=/usr/sbin/dtrace 3 | 4 | cmd=`pwd`/tst.dlopen.exe 5 | 6 | rm -f $file 7 | 8 | $dtrace -o $file -c $cmd -s /dev/stdin <value = (int *)alloca(sizeof (int)); 15 | *this->value = 1; 16 | copyout(this->value, arg0, sizeof (int)); 17 | } 18 | 19 | pid\$target::pcre_config:entry 20 | { 21 | exit(0); 22 | } 23 | 24 | BEGIN 25 | { 26 | /* 27 | * Let's just do this for 5 seconds. 28 | */ 29 | timeout = timestamp + 50000000000; 30 | } 31 | 32 | profile:::tick-4 33 | /timestamp > timeout/ 34 | { 35 | trace("test timed out"); 36 | exit(1); 37 | } 38 | EOF 39 | 40 | status=$? 41 | if [ "$status" -ne 0 ]; then 42 | echo $tst: dtrace failed 43 | exit $status 44 | fi 45 | 46 | if [ "$status" -eq 0 ]; then 47 | rm -f $file 48 | fi 49 | 50 | exit $status 51 | -------------------------------------------------------------------------------- /test/tst/common/pid/tst.emptystack.d.out: -------------------------------------------------------------------------------- 1 | 2 | 3 | 0 4 | -------------------------------------------------------------------------------- /test/tst/common/pid/tst.emptystack.exe: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # 3 | # CDDL HEADER START 4 | # 5 | # The contents of this file are subject to the terms of the 6 | # Common Development and Distribution License (the "License"). 7 | # You may not use this file except in compliance with the License. 8 | # 9 | # You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 10 | # or http://www.opensolaris.org/os/licensing. 11 | # See the License for the specific language governing permissions 12 | # and limitations under the License. 13 | # 14 | # When distributing Covered Code, include this CDDL HEADER in each 15 | # file and include the License file at usr/src/OPENSOLARIS.LICENSE. 16 | # If applicable, add the following below this CDDL HEADER, with the 17 | # fields enclosed by brackets "[]" replaced with your own identifying 18 | # information: Portions Copyright [yyyy] [name of copyright owner] 19 | # 20 | # CDDL HEADER END 21 | # 22 | 23 | # 24 | # Copyright 2006 Sun Microsystems, Inc. All rights reserved. 25 | # Use is subject to license terms. 26 | # 27 | #ident "@(#)tst.emptystack.exe 1.1 06/08/28 SMI" 28 | 29 | exec find / > /dev/null 2>&1 30 | -------------------------------------------------------------------------------- /test/tst/common/pid/tst.oneshot.c: -------------------------------------------------------------------------------- 1 | 2 | void f(void) { 3 | 4 | } 5 | 6 | void g(void) { 7 | 8 | } 9 | 10 | int main(void) { 11 | f(); 12 | f(); 13 | g(); 14 | 15 | return 0; 16 | } 17 | -------------------------------------------------------------------------------- /test/tst/common/pid/tst.oneshot.ksh: -------------------------------------------------------------------------------- 1 | #!/bin/sh -p 2 | dtrace=/usr/sbin/dtrace 3 | 4 | ############################################################################ 5 | # ASSERTION: 6 | # To verify that oneshot probes only fire once 7 | # 8 | # SECTION: oneshot provider 9 | ############################################################################ 10 | 11 | $dtrace -xnolibs -c ./tst.oneshot.exe -qs /dev/stdin < 1 / { 16 | exit(1); 17 | } 18 | 19 | oneshot\$target::g:entry { 20 | exit(0); 21 | } 22 | EOF 23 | exit $? 24 | -------------------------------------------------------------------------------- /test/tst/common/pid/tst.oneshot_multithreaded.ksh: -------------------------------------------------------------------------------- 1 | #!/bin/sh -p 2 | dtrace=/usr/sbin/dtrace 3 | 4 | 5 | $dtrace -xnolibs -c ./tst.oneshot_multithreaded.exe -qs /dev/stdin < 1 / { 16 | exit(1); 17 | } 18 | 19 | oneshot\$target::g:return { 20 | exit(0); 21 | } 22 | EOF 23 | exit $? 24 | -------------------------------------------------------------------------------- /test/tst/common/pid/tst.return.c: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | void f() { 4 | 5 | } 6 | 7 | int main(void) { 8 | while (1) { 9 | f(); 10 | usleep(1); 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /test/tst/common/pid/tst.return.d: -------------------------------------------------------------------------------- 1 | /* 2 | * ASSERTION: 3 | * Verify that pid return probes do trigger more than once 4 | */ 5 | pid$1::f:return 6 | { 7 | self->i++; 8 | } 9 | 10 | pid$1::f:return 11 | / self->i == 10 / 12 | { 13 | exit(0); 14 | } 15 | 16 | -------------------------------------------------------------------------------- /test/tst/common/plockstat/tst.available.exe: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | ##!/usr/bin/sh 3 | # 4 | # CDDL HEADER START 5 | # 6 | # The contents of this file are subject to the terms of the 7 | # Common Development and Distribution License (the "License"). 8 | # You may not use this file except in compliance with the License. 9 | # 10 | # You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 11 | # or http://www.opensolaris.org/os/licensing. 12 | # See the License for the specific language governing permissions 13 | # and limitations under the License. 14 | # 15 | # When distributing Covered Code, include this CDDL HEADER in each 16 | # file and include the License file at usr/src/OPENSOLARIS.LICENSE. 17 | # If applicable, add the following below this CDDL HEADER, with the 18 | # fields enclosed by brackets "[]" replaced with your own identifying 19 | # information: Portions Copyright [yyyy] [name of copyright owner] 20 | # 21 | # CDDL HEADER END 22 | # 23 | 24 | # 25 | # Copyright 2006 Sun Microsystems, Inc. All rights reserved. 26 | # Use is subject to license terms. 27 | # 28 | #ident "@(#)tst.available.exe 1.1 06/08/28 SMI" 29 | 30 | exec sleep 100000000 31 | -------------------------------------------------------------------------------- /test/tst/common/plockstat/tst.libmap.exe: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | ##!/usr/bin/sh 3 | # 4 | # CDDL HEADER START 5 | # 6 | # The contents of this file are subject to the terms of the 7 | # Common Development and Distribution License (the "License"). 8 | # You may not use this file except in compliance with the License. 9 | # 10 | # You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 11 | # or http://www.opensolaris.org/os/licensing. 12 | # See the License for the specific language governing permissions 13 | # and limitations under the License. 14 | # 15 | # When distributing Covered Code, include this CDDL HEADER in each 16 | # file and include the License file at usr/src/OPENSOLARIS.LICENSE. 17 | # If applicable, add the following below this CDDL HEADER, with the 18 | # fields enclosed by brackets "[]" replaced with your own identifying 19 | # information: Portions Copyright [yyyy] [name of copyright owner] 20 | # 21 | # CDDL HEADER END 22 | # 23 | 24 | # 25 | # Copyright 2006 Sun Microsystems, Inc. All rights reserved. 26 | # Use is subject to license terms. 27 | # 28 | #ident "@(#)tst.libmap.exe 1.1 06/08/28 SMI" 29 | 30 | exec sleep 100000000 31 | -------------------------------------------------------------------------------- /test/tst/common/pointers/tst.assigncast1.d: -------------------------------------------------------------------------------- 1 | /* 2 | * CDDL HEADER START 3 | * 4 | * This file and its contents are supplied under the terms of the 5 | * Common Development and Distribution License ("CDDL"), version 1.0. 6 | * You may only use this file in accordance with the terms of version 7 | * 1.0 of the CDDL. 8 | * 9 | * A full copy of the text of the CDDL should have accompanied this 10 | * source. A copy of the CDDL is also available via the Internet at 11 | * http://www.illumos.org/license/CDDL. 12 | * 13 | * CDDL HEADER END 14 | */ 15 | 16 | /* 17 | * Copyright (c) 2012 by Delphix. All rights reserved. 18 | */ 19 | 20 | BEGIN 21 | { 22 | *((int *)alloca(4)) = 1; 23 | } 24 | 25 | BEGIN 26 | { 27 | exit(0); 28 | } 29 | -------------------------------------------------------------------------------- /test/tst/common/pointers/tst.assigncast2.d: -------------------------------------------------------------------------------- 1 | /* 2 | * CDDL HEADER START 3 | * 4 | * This file and its contents are supplied under the terms of the 5 | * Common Development and Distribution License ("CDDL"), version 1.0. 6 | * You may only use this file in accordance with the terms of version 7 | * 1.0 of the CDDL. 8 | * 9 | * A full copy of the text of the CDDL should have accompanied this 10 | * source. A copy of the CDDL is also available via the Internet at 11 | * http://www.illumos.org/license/CDDL. 12 | * 13 | * CDDL HEADER END 14 | */ 15 | 16 | /* 17 | * Copyright (c) 2012 by Delphix. All rights reserved. 18 | */ 19 | 20 | BEGIN 21 | { 22 | this->a = alloca(4); 23 | *((int *)this->a) = 1; 24 | } 25 | 26 | BEGIN 27 | { 28 | exit(0); 29 | } 30 | -------------------------------------------------------------------------------- /test/tst/common/predicates/tst.basics.d.out: -------------------------------------------------------------------------------- 1 | 12345678910 2 | -------------------------------------------------------------------------------- /test/tst/common/predicates/tst.complex.d.out: -------------------------------------------------------------------------------- 1 | 2 | 3 | 1 4 | ------ 5 | i <= 5 6 | i >= 5 || j >= 5 7 | i < 5 8 | j != 10 9 | 10 | 11 | 2 12 | ------ 13 | i <= 5 14 | i >= 5 || j >= 5 15 | i < 5 16 | i == 2 (or) j == 2 17 | i == 2 (and) j == 2 18 | j != 10 19 | j == 5 || i == 2 20 | 21 | 22 | 3 23 | ------ 24 | i <= 5 25 | i >= 5 || j >= 5 26 | i < 5 27 | j != 10 28 | 29 | 30 | 4 31 | ------ 32 | i <= 5 33 | i >= 5 || j >= 5 34 | i < 5 35 | j != 10 36 | 37 | 38 | 5 39 | ------ 40 | i == 5 (or) i == 10 41 | i <= 5 42 | j >= 5 43 | i >= 5 || j >= 5 44 | j >= 5 && i <= 55 45 | j != 10 46 | j == 5 || i == 2 47 | 48 | 49 | 6 50 | ------ 51 | j >= 5 52 | i >= 5 || j >= 5 53 | j != 10 54 | 55 | 56 | 7 57 | ------ 58 | j >= 5 59 | i >= 5 || j >= 5 60 | j != 10 61 | 62 | 63 | 8 64 | ------ 65 | j >= 5 66 | i >= 5 || j >= 5 67 | j != 10 68 | 69 | 70 | 9 71 | ------ 72 | j >= 5 73 | i >= 5 || j >= 5 74 | j != 10 75 | 76 | 77 | 10 78 | ------ 79 | i == 5 (or) i == 10 80 | j >= 5 81 | i >= 5 || j >= 5 82 | i == 10 83 | 84 | -------------------------------------------------------------------------------- /test/tst/common/preprocessor/tst.ifdef.d.out: -------------------------------------------------------------------------------- 1 | The value is 10 2 | 3 | -------------------------------------------------------------------------------- /test/tst/common/preprocessor/tst.ifndef.d.out: -------------------------------------------------------------------------------- 1 | The value is 5 2 | 3 | -------------------------------------------------------------------------------- /test/tst/common/preprocessor/tst.ifnotdef.d.out: -------------------------------------------------------------------------------- 1 | The value is 5 2 | 3 | -------------------------------------------------------------------------------- /test/tst/common/preprocessor/tst.logicaland.d.out: -------------------------------------------------------------------------------- 1 | The value is 0 2 | 3 | -------------------------------------------------------------------------------- /test/tst/common/preprocessor/tst.logicalandor.d.out: -------------------------------------------------------------------------------- 1 | The value is 0 2 | 3 | -------------------------------------------------------------------------------- /test/tst/common/preprocessor/tst.logicalor.d.out: -------------------------------------------------------------------------------- 1 | The value is 0 2 | 3 | -------------------------------------------------------------------------------- /test/tst/common/preprocessor/tst.muland.d.out: -------------------------------------------------------------------------------- 1 | The value is 0 2 | 3 | -------------------------------------------------------------------------------- /test/tst/common/preprocessor/tst.mulor.d.out: -------------------------------------------------------------------------------- 1 | The value is 0 2 | 3 | -------------------------------------------------------------------------------- /test/tst/common/preprocessor/tst.precondi.d.out: -------------------------------------------------------------------------------- 1 | The value is 5 2 | 3 | -------------------------------------------------------------------------------- /test/tst/common/preprocessor/tst.preexp.d.out: -------------------------------------------------------------------------------- 1 | The value is 150 2 | 3 | -------------------------------------------------------------------------------- /test/tst/common/preprocessor/tst.preexpelse.d.out: -------------------------------------------------------------------------------- 1 | The value is 10 2 | 3 | -------------------------------------------------------------------------------- /test/tst/common/preprocessor/tst.preexpif.d.out: -------------------------------------------------------------------------------- 1 | The value is 5 2 | 3 | -------------------------------------------------------------------------------- /test/tst/common/preprocessor/tst.preexpifelse.d.out: -------------------------------------------------------------------------------- 1 | The value is 5 2 | 3 | -------------------------------------------------------------------------------- /test/tst/common/print/err.D_PRINT_VOID.bad.d: -------------------------------------------------------------------------------- 1 | /* 2 | * CDDL HEADER START 3 | * 4 | * The contents of this file are subject to the terms of the 5 | * Common Development and Distribution License (the "License"). 6 | * You may not use this file except in compliance with the License. 7 | * 8 | * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 9 | * or http://www.opensolaris.org/os/licensing. 10 | * See the License for the specific language governing permissions 11 | * and limitations under the License. 12 | * 13 | * When distributing Covered Code, include this CDDL HEADER in each 14 | * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 15 | * If applicable, add the following below this CDDL HEADER, with the 16 | * fields enclosed by brackets "[]" replaced with your own identifying 17 | * information: Portions Copyright [yyyy] [name of copyright owner] 18 | * 19 | * CDDL HEADER END 20 | */ 21 | 22 | /* 23 | * Copyright (c) 2011 by Delphix. All rights reserved. 24 | */ 25 | 26 | BEGIN 27 | { 28 | print((void)`real_ncpus); 29 | } 30 | -------------------------------------------------------------------------------- /test/tst/common/print/err.D_PROTO_LEN.bad.d: -------------------------------------------------------------------------------- 1 | /* 2 | * CDDL HEADER START 3 | * 4 | * The contents of this file are subject to the terms of the 5 | * Common Development and Distribution License (the "License"). 6 | * You may not use this file except in compliance with the License. 7 | * 8 | * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 9 | * or http://www.opensolaris.org/os/licensing. 10 | * See the License for the specific language governing permissions 11 | * and limitations under the License. 12 | * 13 | * When distributing Covered Code, include this CDDL HEADER in each 14 | * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 15 | * If applicable, add the following below this CDDL HEADER, with the 16 | * fields enclosed by brackets "[]" replaced with your own identifying 17 | * information: Portions Copyright [yyyy] [name of copyright owner] 18 | * 19 | * CDDL HEADER END 20 | */ 21 | 22 | /* 23 | * Copyright (c) 2011 by Delphix. All rights reserved. 24 | */ 25 | 26 | BEGIN 27 | { 28 | print(); 29 | } 30 | -------------------------------------------------------------------------------- /test/tst/common/print/tst.array.d.out: -------------------------------------------------------------------------------- 1 | int [3] [ 0x1, 0x2, 0x3 ] 2 | char [30] "ab" 3 | bar_t [2] [ 4 | bar_t { 5 | int alpha = 0x5 6 | }, 7 | bar_t { 8 | int alpha = 0x6 9 | } 10 | ] 11 | foo_t { 12 | int [3] a = [ 0x1, 0x2, 0x3 ] 13 | char [30] b = [ "ab" ] 14 | bar_t [2] c = [ 15 | bar_t { 16 | int alpha = 0x5 17 | }, 18 | bar_t { 19 | int alpha = 0x6 20 | } 21 | ] 22 | char [3] d = [ '\004', '\0', '\0' ] 23 | } 24 | -------------------------------------------------------------------------------- /test/tst/common/print/tst.bitfield.d.out: -------------------------------------------------------------------------------- 1 | foo_t { 2 | int a :4 = 0x1 3 | int b :7 = 0x5 4 | int c :1 = 0 5 | int d :2 = 0x2 6 | } 7 | -------------------------------------------------------------------------------- /test/tst/common/print/tst.dyn.d: -------------------------------------------------------------------------------- 1 | /* 2 | * CDDL HEADER START 3 | * 4 | * This file and its contents are supplied under the terms of the 5 | * Common Development and Distribution License ("CDDL"), version 1.0. 6 | * You may only use this file in accordance with the terms of version 7 | * 1.0 of the CDDL. 8 | * 9 | * A full copy of the text of the CDDL should have accompanied this 10 | * source. A copy of the CDDL is also available via the Internet at 11 | * http://www.illumos.org/license/CDDL. 12 | * 13 | * CDDL HEADER END 14 | */ 15 | 16 | /* 17 | * Copyright (c) 2012 by Delphix. All rights reserved. 18 | */ 19 | 20 | BEGIN 21 | { 22 | print(*curpsinfo); 23 | } 24 | 25 | BEGIN 26 | { 27 | exit(0); 28 | } 29 | -------------------------------------------------------------------------------- /test/tst/common/print/tst.primitive.d.out: -------------------------------------------------------------------------------- 1 | 2 | char 'a' 3 | int 0xffffffff 4 | unsigned int 0x17 5 | short 0x1c8 6 | unsigned short 0x315 7 | long 0x4d2 8 | ulong_t 0xddd5 9 | void * 0x1234 10 | string "hello" 11 | 12 | -------------------------------------------------------------------------------- /test/tst/common/print/tst.struct.d.out: -------------------------------------------------------------------------------- 1 | foo_t { 2 | int a = 0x1 3 | void *b = 0x2 4 | struct c = { 5 | uint64_t alpha = 0x3 6 | uint64_t beta = 0x4 7 | } 8 | ushort_t d = 0x5 9 | int e = 0x6 10 | forward_t *f = 0x7 11 | int (*)() g = 0x8 12 | } 13 | -------------------------------------------------------------------------------- /test/tst/common/print/tst.xlate.d: -------------------------------------------------------------------------------- 1 | /* 2 | * CDDL HEADER START 3 | * 4 | * This file and its contents are supplied under the terms of the 5 | * Common Development and Distribution License ("CDDL"), version 1.0. 6 | * You may only use this file in accordance with the terms of version 7 | * 1.0 of the CDDL. 8 | * 9 | * A full copy of the text of the CDDL should have accompanied this 10 | * source. A copy of the CDDL is also available via the Internet at 11 | * http://www.illumos.org/license/CDDL. 12 | * 13 | * CDDL HEADER END 14 | */ 15 | 16 | /* 17 | * Copyright (c) 2012 by Delphix. All rights reserved. 18 | */ 19 | 20 | #pragma D option quiet 21 | 22 | typedef struct { 23 | time_t tv_sec; 24 | long tv_nsec; 25 | } timespec_t; 26 | 27 | typedef struct pancakes { 28 | int i; 29 | string s; 30 | timespec_t t; 31 | } pancakes_t; 32 | 33 | translator pancakes_t < void *V > { 34 | i = 2 * 10; 35 | s = strjoin("I like ", "pancakes"); 36 | t = *(timespec_t *)`dtrace_zero; 37 | }; 38 | 39 | BEGIN 40 | { 41 | print(*(xlate < pancakes_t * > ((void *)NULL))); 42 | } 43 | 44 | BEGIN 45 | { 46 | exit(0); 47 | } 48 | -------------------------------------------------------------------------------- /test/tst/common/print/tst.xlate.d.out: -------------------------------------------------------------------------------- 1 | pancakes_t { 2 | int i = 0x14 3 | string s = [ "I like pancakes" ] 4 | timespec_t t = { 5 | time_t tv_sec = 0 6 | long tv_nsec = 0 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /test/tst/common/printa/tst.basics.d.out: -------------------------------------------------------------------------------- 1 | @a = 1 2 | @b = 1 3 | @c = 4 | value ------------- Distribution ------------- count 5 | < 1 | 0 6 | 1 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 7 | 2 | 0 8 | 9 | @d = 1 10 | @e = 1 11 | @f = 1 12 | @g = 13 | value ------------- Distribution ------------- count 14 | 0 | 0 15 | 1 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 16 | 2 | 0 17 | 18 | 19 | -------------------------------------------------------------------------------- /test/tst/common/printa/tst.def.d.out: -------------------------------------------------------------------------------- 1 | 2 | 1 3 | 4 | -------------------------------------------------------------------------------- /test/tst/common/printa/tst.dynwidth.d.out: -------------------------------------------------------------------------------- 1 | -->100 <-- 2 | -->200 <-- 3 | --> 100<-- 4 | -->200 <-- 5 | 6 | -------------------------------------------------------------------------------- /test/tst/common/printa/tst.fmt.d.out: -------------------------------------------------------------------------------- 1 | 1 2 | -------------------------------------------------------------------------------- /test/tst/common/printa/tst.manyval.d.out: -------------------------------------------------------------------------------- 1 | 1 1 1 1 1 1 1 2 | 3 | -------------------------------------------------------------------------------- /test/tst/common/printa/tst.tuple.d.out: -------------------------------------------------------------------------------- 1 | 2 | 1: - 3 | 1: 1 4 | 1: 1 2 5 | 1: 1 2 3 6 | 1: 1 2 3 4 7 | 1: 1 2 3 4 5 8 | 9 | -------------------------------------------------------------------------------- /test/tst/common/printa/tst.walltimestamp.d.out: -------------------------------------------------------------------------------- 1 | Sun, 25 Jan 2004 21:00:00 UTC 2 | 2004 Jan 25 21:00:00 3 | -------------------------------------------------------------------------------- /test/tst/common/printf/tst.basics.d.out: -------------------------------------------------------------------------------- 1 | 2 | c = a 3 | %d = 97 4 | %hd = 97 5 | %hi = 97 6 | %ho = 141 7 | %hu = 97 8 | %hx = 61 9 | %hX = 61 10 | %i = 97 11 | %lc = a 12 | %ld = 97 13 | %li = 97 14 | %lo = 141 15 | %lu = 97 16 | %lx = 61 17 | %lX = 61 18 | %o = 141 19 | %p = 61 20 | %s = hello 21 | %u = 97 22 | %wc = a 23 | %x = 61 24 | %X = 61 25 | 26 | -------------------------------------------------------------------------------- /test/tst/common/printf/tst.flags.d.out: -------------------------------------------------------------------------------- 1 | 2 | # 0x123 3 | 0 00000123 4 | - 123 5 | + +123 6 | 123 7 | 8 | -------------------------------------------------------------------------------- /test/tst/common/printf/tst.hello.d.out: -------------------------------------------------------------------------------- 1 | hello 2 | -------------------------------------------------------------------------------- /test/tst/common/printf/tst.ints.d.out: -------------------------------------------------------------------------------- 1 | 2 | -17 3 | -12817 4 | -1867788817 5 | 1311768467294899695 6 | 7 | 239 8 | 52719 9 | 2427178479 10 | 1311768467294899695 11 | 12 | 239 13 | 52719 14 | 2427178479 15 | 1311768467294899695 16 | 17 | 239 18 | 52719 19 | 2427178479 20 | 1311768467294899695 21 | 22 | ef 23 | cdef 24 | 90abcdef 25 | 1234567890abcdef 26 | 27 | ef 28 | cdef 29 | 90abcdef 30 | 1234567890abcdef 31 | 32 | 357 33 | 146757 34 | 22052746757 35 | 110642547422052746757 36 | 37 | 357 38 | 146757 39 | 22052746757 40 | 110642547422052746757 41 | 42 | 12345678 43 | 90abcdef 44 | 67890abc 45 | 46 | -------------------------------------------------------------------------------- /test/tst/common/printf/tst.precs.d.out: -------------------------------------------------------------------------------- 1 | 2 | hello 3 | h 4 | he 5 | hel 6 | hell 7 | hello 8 | hello 9 | h 10 | he 11 | hel 12 | hell 13 | hello 14 | 15 | -------------------------------------------------------------------------------- /test/tst/common/printf/tst.print-f.d.out: -------------------------------------------------------------------------------- 1 | 2 | %f = 0.000000 3 | %f = 0.000000 4 | 5 | -------------------------------------------------------------------------------- /test/tst/common/printf/tst.printT.d.out: -------------------------------------------------------------------------------- 1 | Thu, 01 Jan 1970 00:00:00 UTC 2 | Wed, 03 Sep 2003 17:23:41 UTC 3 | Tue, 19 Jan 2038 03:14:07 UTC 4 | -------------------------------------------------------------------------------- /test/tst/common/printf/tst.printY.d.out: -------------------------------------------------------------------------------- 1 | 1970 Jan 1 00:00:00 2 | 2003 Sep 3 17:23:41 3 | 2038 Jan 19 03:14:07 4 | -------------------------------------------------------------------------------- /test/tst/common/printf/tst.printcont.d.out: -------------------------------------------------------------------------------- 1 | 53114233149441 2 | 53114233149441 3 | 53114233149441 4 | 53114233149441 5 | 53114233149441 6 | 53114233149441 7 | 53114233149441 8 | 53114233149441 9 | 53114233149441 10 | 53114233149441 11 | 53114233149441 12 | 53114233149441 13 | 53114233149441 14 | 53114233149441 15 | 53114233149441 16 | 17 | -------------------------------------------------------------------------------- /test/tst/common/printf/tst.printeE.d.out: -------------------------------------------------------------------------------- 1 | 2 | %e = 0.000000e+00 3 | %E = 0.000000E+00 4 | %e = 0.000000e+00 5 | %E = 0.000000E+00 6 | 7 | -------------------------------------------------------------------------------- /test/tst/common/printf/tst.printgG.d.out: -------------------------------------------------------------------------------- 1 | 2 | %g = 0 3 | %g = 0 4 | %G = 0 5 | %G = 0 6 | 7 | -------------------------------------------------------------------------------- /test/tst/common/printf/tst.rawfmt.d.out: -------------------------------------------------------------------------------- 1 | hello world from BEGIN 2 | -------------------------------------------------------------------------------- /test/tst/common/printf/tst.signs.d: -------------------------------------------------------------------------------- 1 | /* 2 | * CDDL HEADER START 3 | * 4 | * This file and its contents are supplied under the terms of the 5 | * Common Development and Distribution License ("CDDL"), version 1.0. 6 | * You may only use this file in accordance with the terms of version 7 | * 1.0 of the CDDL. 8 | * 9 | * A full copy of the text of the CDDL should have accompanied this 10 | * source. A copy of the CDDL is also available via the Internet at 11 | * http://www.illumos.org/license/CDDL. 12 | * 13 | * CDDL HEADER END 14 | */ 15 | 16 | /* 17 | * Copyright (c) 2012 by Delphix. All rights reserved. 18 | */ 19 | 20 | /* 21 | * Check %d v. %i v. %u. 22 | */ 23 | 24 | #pragma D option quiet 25 | 26 | uint16_t x; 27 | int16_t y; 28 | 29 | BEGIN 30 | { 31 | x = 0xffffffff; 32 | y = 0xffffffff; 33 | 34 | printf("%d %i %u\n", x, x, x); 35 | printf("%d %i %u\n", y, y, y); 36 | 37 | exit(0); 38 | } 39 | -------------------------------------------------------------------------------- /test/tst/common/printf/tst.signs.d.out: -------------------------------------------------------------------------------- 1 | 65535 -1 65535 2 | -1 -1 65535 3 | 4 | -------------------------------------------------------------------------------- /test/tst/common/printf/tst.str.d.out: -------------------------------------------------------------------------------- 1 | p_comm = dtrace 2 | -------------------------------------------------------------------------------- /test/tst/common/printf/tst.sym.d.out: -------------------------------------------------------------------------------- 1 | symbol = mach_kernel`real_ncpus 2 | -------------------------------------------------------------------------------- /test/tst/common/printf/tst.sym.ksh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | 4 | 5 | # ASSERTION: 6 | # Test printf() with a simple string argument. 7 | # 8 | # SECTION: Output Formatting/printf() 9 | # 10 | # 11 | 12 | script() 13 | { 14 | dtrace -qs /dev/stdin < /dev/null 24 | 25 | exit $? 26 | -------------------------------------------------------------------------------- /test/tst/common/printf/tst.uints.d.out: -------------------------------------------------------------------------------- 1 | 2 | 123 3 | 123 4 | 123 5 | 123 6 | 7 | -------------------------------------------------------------------------------- /test/tst/common/printf/tst.widths.d.out: -------------------------------------------------------------------------------- 1 | 2 | 1 3 | 1 4 | 1 5 | 1 6 | 1 7 | 1 8 | 1 9 | 1 10 | 1 11 | 1 12 | 1 13 | 1 14 | 15 | -------------------------------------------------------------------------------- /test/tst/common/printf/tst.wp.d.out: -------------------------------------------------------------------------------- 1 | 2 | hello 3 | h 4 | he 5 | hel 6 | hell 7 | hello 8 | hello 9 | hello 10 | hello 11 | hello 12 | hello 13 | h 14 | he 15 | hel 16 | hell 17 | hello 18 | hello 19 | hello 20 | hello 21 | hello 22 | 23 | -------------------------------------------------------------------------------- /test/tst/common/probes/tst.angle_brackets.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | 4 | void f(std::vector t) { 5 | return; 6 | } 7 | 8 | int main(void) { 9 | std::vector v; 10 | while (1) { 11 | f(v); 12 | usleep(1); 13 | } 14 | 15 | return 0; 16 | } 17 | -------------------------------------------------------------------------------- /test/tst/common/probes/tst.angle_brackets.d: -------------------------------------------------------------------------------- 1 | /* 2 | * ASSERTION: 3 | * To verify that angle brackets can be used in a probespec 4 | */ 5 | 6 | pid$1::f(*std*vector*):entry 7 | { 8 | exit(0); 9 | } 10 | -------------------------------------------------------------------------------- /test/tst/common/processcontrol/exports: -------------------------------------------------------------------------------- 1 | _exported_library_function 2 | -------------------------------------------------------------------------------- /test/tst/common/processcontrol/test_lib.c: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | void function_called_by_initializer() 4 | { 5 | printf("test_lib initializer ran\n"); 6 | } 7 | 8 | void exported_library_function() 9 | { 10 | 11 | } 12 | 13 | __attribute__((constructor)) 14 | static void 15 | test_lib_initializer() 16 | { 17 | function_called_by_initializer(); 18 | } 19 | -------------------------------------------------------------------------------- /test/tst/common/processcontrol/tst.exec.ksh: -------------------------------------------------------------------------------- 1 | #!/bin/sh -p 2 | dtrace=/usr/sbin/dtrace 3 | 4 | ############################################################################ 5 | # ASSERTION: 6 | # To verify that a binary launched with dtrace -c with -xevaltime=exec 7 | # (which starts tracing after intiializers are run) 8 | # is controlled and can start tracing correctly initializers. 9 | 10 | # NOTE: 11 | # We run this with '-Z', because at the time of evaluation, only 12 | # dyld is loaded. 13 | 14 | 15 | script() 16 | { 17 | $dtrace -xnolibs -Z -c ./tst.has_initializers.exe -xevaltime=exec -qs /dev/stdin < 2 | 3 | void exported_library_function(); 4 | 5 | void main_binary_function() 6 | { 7 | 8 | } 9 | 10 | int main(void) 11 | { 12 | printf("reached main\n"); 13 | 14 | main_binary_function(); 15 | 16 | exported_library_function(); 17 | 18 | return 0; 19 | } 20 | -------------------------------------------------------------------------------- /test/tst/common/processcontrol/tst.postinit.ksh: -------------------------------------------------------------------------------- 1 | #!/bin/sh -p 2 | dtrace=/usr/sbin/dtrace 3 | 4 | ############################################################################ 5 | # ASSERTION: 6 | # To verify that a binary launched with dtrace -c with -xevaltime=postinit 7 | # (which starts tracing after intiializers are run) 8 | # is controlled and can start tracing correctly. 9 | 10 | 11 | script() 12 | { 13 | $dtrace -xnolibs -c ./tst.has_initializers.exe -xevaltime=postinit -qs /dev/stdin < 0 / 24 | { 25 | exit(0); 26 | } 27 | -------------------------------------------------------------------------------- /test/tst/common/tick-n/tst.tickms.d.out: -------------------------------------------------------------------------------- 1 | This test is a simple tick-ms provider test 2 | 3 | -------------------------------------------------------------------------------- /test/tst/common/tick-n/tst.tickmsec.d.out: -------------------------------------------------------------------------------- 1 | This test is a simple tick-msec provider test 2 | 3 | -------------------------------------------------------------------------------- /test/tst/common/tick-n/tst.tickns.d.out: -------------------------------------------------------------------------------- 1 | This test is a simple tick-ns provider test 2 | 3 | -------------------------------------------------------------------------------- /test/tst/common/tick-n/tst.ticknsec.d.out: -------------------------------------------------------------------------------- 1 | This test is a simple tick-nsec provider test 2 | 3 | -------------------------------------------------------------------------------- /test/tst/common/tick-n/tst.ticks.d.out: -------------------------------------------------------------------------------- 1 | This test is a simple tick-s provider test 2 | 3 | -------------------------------------------------------------------------------- /test/tst/common/tick-n/tst.ticksec.d.out: -------------------------------------------------------------------------------- 1 | This test is a simple tick-sec provider test 2 | This test is a simple tick-sec provider test 3 | -------------------------------------------------------------------------------- /test/tst/common/tick-n/tst.tickus.d.out: -------------------------------------------------------------------------------- 1 | This test is a simple tick-us provider test 2 | 3 | -------------------------------------------------------------------------------- /test/tst/common/tick-n/tst.tickusec.d.out: -------------------------------------------------------------------------------- 1 | This test is a simple tick-usec provider test 2 | 3 | -------------------------------------------------------------------------------- /test/tst/common/tools/tst.dtruss.ksh: -------------------------------------------------------------------------------- 1 | #!/bin/sh -p 2 | 3 | ############################################################################ 4 | # ASSERTION: 5 | # To verify that dtruss works in its 3 modes of operation 6 | 7 | 8 | # Check that dtruss "command" works 9 | dtruss /usr/bin/true 1> /dev/null 2> /dev/null 10 | status=$? 11 | if [ $status -ne 0 ]; then 12 | exit 1 13 | fi 14 | 15 | # Check that dtruss -p "pid" works 16 | dtruss -p 1 1> /dev/null 2> /dev/null & 17 | 18 | SUBPID=$! 19 | 20 | sleep 2 21 | 22 | killall -TERM dtrace 23 | wait $SUBPID 24 | status=$? 25 | if [ $status -ne 0 ]; then 26 | exit 2 27 | fi 28 | 29 | # Check that dtruss -W 'processname' works 30 | 31 | ( 32 | while [ 1 -eq 1 ]; do 33 | /usr/bin/true 34 | sleep 0.1 35 | done 36 | ) & 37 | 38 | LOOPPID=$! 39 | 40 | dtruss -W true 1> /dev/null 2> /dev/null 41 | status=$? 42 | kill -TERM $LOOPPID 43 | if [ $status -ne 0 ]; then 44 | exit 3 45 | fi 46 | 47 | exit 0 48 | -------------------------------------------------------------------------------- /test/tst/common/trace/tst.dyn.d: -------------------------------------------------------------------------------- 1 | /* 2 | * CDDL HEADER START 3 | * 4 | * This file and its contents are supplied under the terms of the 5 | * Common Development and Distribution License ("CDDL"), version 1.0. 6 | * You may only use this file in accordance with the terms of version 7 | * 1.0 of the CDDL. 8 | * 9 | * A full copy of the text of the CDDL should have accompanied this 10 | * source. A copy of the CDDL is also available via the Internet at 11 | * http://www.illumos.org/license/CDDL. 12 | * 13 | * CDDL HEADER END 14 | */ 15 | 16 | /* 17 | * Copyright (c) 2012 by Delphix. All rights reserved. 18 | */ 19 | 20 | BEGIN 21 | { 22 | trace(*curpsinfo); 23 | } 24 | 25 | BEGIN 26 | { 27 | exit(0); 28 | } 29 | -------------------------------------------------------------------------------- /test/tst/common/trace/tst.qstring.d.out: -------------------------------------------------------------------------------- 1 | this %should work. 2 | %don't w%orry -- this won't cause a %segfault. 3 | 4 | -------------------------------------------------------------------------------- /test/tst/common/tracemem/err.D_TRACEMEM_ARGS.d: -------------------------------------------------------------------------------- 1 | /* 2 | * CDDL HEADER START 3 | * 4 | * The contents of this file are subject to the terms of the 5 | * Common Development and Distribution License (the "License"). 6 | * You may not use this file except in compliance with the License. 7 | * 8 | * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 9 | * or http://www.opensolaris.org/os/licensing. 10 | * See the License for the specific language governing permissions 11 | * and limitations under the License. 12 | * 13 | * When distributing Covered Code, include this CDDL HEADER in each 14 | * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 15 | * If applicable, add the following below this CDDL HEADER, with the 16 | * fields enclosed by brackets "[]" replaced with your own identifying 17 | * information: Portions Copyright [yyyy] [name of copyright owner] 18 | * 19 | * CDDL HEADER END 20 | */ 21 | 22 | /* 23 | * Copyright (c) 2011, Joyent, Inc. All rights reserved. 24 | */ 25 | 26 | BEGIN 27 | { 28 | tracemem(`dtrace_zero, 256, 0, "fishpong"); 29 | } 30 | -------------------------------------------------------------------------------- /test/tst/common/tracemem/err.D_TRACEMEM_DYNSIZE.d: -------------------------------------------------------------------------------- 1 | /* 2 | * CDDL HEADER START 3 | * 4 | * The contents of this file are subject to the terms of the 5 | * Common Development and Distribution License (the "License"). 6 | * You may not use this file except in compliance with the License. 7 | * 8 | * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 9 | * or http://www.opensolaris.org/os/licensing. 10 | * See the License for the specific language governing permissions 11 | * and limitations under the License. 12 | * 13 | * When distributing Covered Code, include this CDDL HEADER in each 14 | * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 15 | * If applicable, add the following below this CDDL HEADER, with the 16 | * fields enclosed by brackets "[]" replaced with your own identifying 17 | * information: Portions Copyright [yyyy] [name of copyright owner] 18 | * 19 | * CDDL HEADER END 20 | */ 21 | 22 | /* 23 | * Copyright (c) 2011, Joyent, Inc. All rights reserved. 24 | */ 25 | 26 | BEGIN 27 | { 28 | tracemem(`dtrace_zero, 256, "fishpong"); 29 | exit(0); 30 | } 31 | -------------------------------------------------------------------------------- /test/tst/common/tracemem/tst.smallsize.d: -------------------------------------------------------------------------------- 1 | /* 2 | * CDDL HEADER START 3 | * 4 | * The contents of this file are subject to the terms of the 5 | * Common Development and Distribution License (the "License"). 6 | * You may not use this file except in compliance with the License. 7 | * 8 | * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 9 | * or http://www.opensolaris.org/os/licensing. 10 | * See the License for the specific language governing permissions 11 | * and limitations under the License. 12 | * 13 | * When distributing Covered Code, include this CDDL HEADER in each 14 | * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 15 | * If applicable, add the following below this CDDL HEADER, with the 16 | * fields enclosed by brackets "[]" replaced with your own identifying 17 | * information: Portions Copyright [yyyy] [name of copyright owner] 18 | * 19 | * CDDL HEADER END 20 | */ 21 | 22 | #pragma D option quiet 23 | 24 | BEGIN 25 | { 26 | tracemem(`ostype, 6); 27 | exit(0); 28 | } 29 | -------------------------------------------------------------------------------- /test/tst/common/tracemem/tst.smallsize.d.out: -------------------------------------------------------------------------------- 1 | 2 | 0 1 2 3 4 5 6 7 8 9 a b c d e f 0123456789abcdef 3 | 0: 44 61 72 77 69 6e Darwin 4 | 5 | -------------------------------------------------------------------------------- /test/tst/common/translators/tst.TestTransStability1.ksh.out: -------------------------------------------------------------------------------- 1 | 2 | Stability attributes for script /dev/stdin: 3 | 4 | Minimum Probe Description Attributes 5 | Identifier Names: Unstable 6 | Data Semantics: Unstable 7 | Dependency Class: Common 8 | 9 | Minimum Statement Attributes 10 | Identifier Names: Stable 11 | Data Semantics: Stable 12 | Dependency Class: Common 13 | 14 | 15 | -------------------------------------------------------------------------------- /test/tst/common/translators/tst.TestTransStability2.ksh.out: -------------------------------------------------------------------------------- 1 | 2 | Stability attributes for script /dev/stdin: 3 | 4 | Minimum Probe Description Attributes 5 | Identifier Names: Unstable 6 | Data Semantics: Unstable 7 | Dependency Class: Common 8 | 9 | Minimum Statement Attributes 10 | Identifier Names: Private 11 | Data Semantics: Private 12 | Dependency Class: Unknown 13 | 14 | 15 | -------------------------------------------------------------------------------- /test/tst/common/types/tst.basics.d.out: -------------------------------------------------------------------------------- 1 | 2 | sizeof (char) = 1 3 | sizeof (signed char) = 1 4 | sizeof (unsigned char) = 1 5 | sizeof (short) = 2 6 | sizeof (signed short) = 2 7 | sizeof (unsigned short) = 2 8 | sizeof (int) = 4 9 | sizeof (signed int) = 4 10 | sizeof (unsigned int) = 4 11 | sizeof (long long) = 8 12 | sizeof (signed long long) = 8 13 | sizeof (unsigned long long) = 8 14 | sizeof (float) = 4 15 | sizeof (double) = 8 16 | 17 | -------------------------------------------------------------------------------- /test/tst/common/types/tst.userlandkey.d.out: -------------------------------------------------------------------------------- 1 | 0 2 | 1 3 | 1 4 | 2 5 | 3 6 | 5 7 | 8 8 | 13 9 | 10 | -------------------------------------------------------------------------------- /test/tst/common/types/tst.userlandkey.ksh: -------------------------------------------------------------------------------- 1 | #!/bin/ksh 2 | 3 | dtrace=$1 4 | exec="tst.userlandkey.exe" 5 | 6 | ./$exec & 7 | pid=$! 8 | 9 | /usr/sbin/dtrace -qs /dev/stdin <value); l = l->next; 21 | printf("%d\n", l->value); l = l->next; 22 | printf("%d\n", l->value); l = l->next; 23 | printf("%d\n", l->value); l = l->next; 24 | printf("%d\n", l->value); l = l->next; 25 | printf("%d\n", l->value); l = l->next; 26 | printf("%d\n", l->value); l = l->next; 27 | printf("%d\n", l->value); l = l->next; 28 | 29 | exit(0); 30 | } 31 | EOF 32 | 33 | rc=$? 34 | kill -9 $pid 35 | exit $rc 36 | -------------------------------------------------------------------------------- /test/tst/common/usdt_apple/test_provider.d: -------------------------------------------------------------------------------- 1 | provider test_provider { 2 | probe go(int, int, int); 3 | probe called_after_fork(); 4 | }; 5 | -------------------------------------------------------------------------------- /test/tst/common/usdt_apple/tst.basic.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | int main(void) { 4 | while (1) { 5 | TEST_PROVIDER_GO(42, 43, 44); 6 | usleep(1); 7 | } 8 | return 0; 9 | } 10 | -------------------------------------------------------------------------------- /test/tst/common/usdt_apple/tst.basic.d: -------------------------------------------------------------------------------- 1 | /* 2 | * ASSERTION: 3 | * To verify that a process can have and call a usdt probe with arguments 4 | * and that those arguments are valid 5 | */ 6 | 7 | #pragma D option quiet 8 | 9 | test_provider$1:::go 10 | /arg0 == 42 && arg1 == 43 && arg2 == 44 / 11 | { 12 | exit(0); 13 | } 14 | test_provider$1:::go 15 | /arg0 != 42 || arg1 != 43 || arg2 != 44 / 16 | { 17 | exit(1); 18 | } 19 | -------------------------------------------------------------------------------- /test/tst/common/usdt_apple/tst.fork_star.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | int main(void) { 4 | if (fork() == 0) { 5 | TEST_PROVIDER_CALLED_AFTER_FORK(); 6 | } 7 | return 0; 8 | } 9 | 10 | -------------------------------------------------------------------------------- /test/tst/common/usdt_apple/tst.fork_star.ksh: -------------------------------------------------------------------------------- 1 | #!/bin/sh -p 2 | dtrace=/usr/sbin/dtrace 3 | 4 | ############################################################################ 5 | # ASSERTION: 6 | # To verify that a process that just forked can be traced right away 7 | # if a * probe is used 8 | 9 | 10 | $dtrace -xnolibs -c ./tst.fork_star.exe -qs /dev/stdin < 2 | #include 3 | int main(void) { 4 | while (1) { 5 | TEST_PROVIDER_GO(42, 43, 44); 6 | usleep(1); 7 | } 8 | return 0; 9 | } 10 | -------------------------------------------------------------------------------- /test/tst/common/usdt_apple/tst.star.d: -------------------------------------------------------------------------------- 1 | /* 2 | * ASSERTION: 3 | * To verify that test_provider* is a valid syntax for USDT probes to 4 | * start tracing on every process for this provider 5 | */ 6 | 7 | #pragma D option quiet 8 | 9 | test_provider*:::go 10 | /arg0 == 42 && arg1 == 43 && arg2 == 44 / 11 | { 12 | exit(0); 13 | } 14 | test_provider*:::go 15 | /arg0 != 42 || arg1 != 43 || arg2 != 44 / 16 | { 17 | exit(1); 18 | } 19 | 20 | /* (Prevents DTrace from issuing a compilation error because we did not use $1) */ 21 | test_provider$1:::go 22 | { 23 | 24 | } 25 | -------------------------------------------------------------------------------- /test/tst/common/vars/tst.ucaller.ksh.out: -------------------------------------------------------------------------------- 1 | 2 | libsystem_c.dylib libsystem_c.dylib`exit 3 | 4 | -------------------------------------------------------------------------------- /test/tst/i386/pid/tst.nop.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | 4 | extern void nop(void); 5 | 6 | int waiting(volatile int *a) 7 | { 8 | return (*a); 9 | } 10 | 11 | int main(void) 12 | { 13 | volatile int a = 0; 14 | 15 | while (waiting(&a) == 0) 16 | continue; 17 | 18 | nop(); 19 | 20 | return 0; 21 | } 22 | 23 | -------------------------------------------------------------------------------- /test/tst/i386/pid/tst.nop.s: -------------------------------------------------------------------------------- 1 | .text 2 | .globl _nop 3 | _nop: 4 | .byte 0x90 5 | .byte 0x66, 0x90 6 | .byte 0x0F, 0x1f, 0x00 7 | .byte 0x0F, 0x1f, 0x40, 0x00 8 | .byte 0x0F, 0x1f, 0x44, 0x00, 0x00 9 | .byte 0x66, 0x0F, 0x1f, 0x44, 0x00, 0x00 10 | .byte 0x0F, 0x1f, 0x80, 0x00, 0x00, 0x00, 0x00 11 | .byte 0x0F, 0x1f, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00 12 | .byte 0x66, 0x0F, 0x1f, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00 13 | .byte 0x2E, 0x66, 0x0F, 0x1f, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00 14 | .byte 0x36, 0x66, 0x0F, 0x1f, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00 15 | .byte 0x3E, 0x66, 0x0F, 0x1f, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00 16 | .byte 0x26, 0x66, 0x0F, 0x1f, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00 17 | .byte 0x64, 0x66, 0x0F, 0x1f, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00 18 | .byte 0x65, 0x66, 0x0F, 0x1f, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00 19 | ret 20 | 21 | -------------------------------------------------------------------------------- /test/tst/i386/pid/tst.sse3.movshdup.c: -------------------------------------------------------------------------------- 1 | /* 2 | * ASSERTION : To test that SSE3 instructions can be instrumented by the pid 3 | * provider. 4 | * 5 | * SECTION: pid provider, x86_64 6 | * 7 | */ 8 | 9 | float g_vr[4]; 10 | struct myvect { 11 | union { 12 | float v[3]; 13 | struct { 14 | float x,y,z; 15 | }; 16 | }; 17 | }; 18 | 19 | float multiply (struct myvect* v) { 20 | __asm__ volatile("movshdup (%0), %%xmm0" : : "r"(v) : "xmm0"); 21 | 22 | return g_vr[0]; 23 | } 24 | 25 | int main(void) { 26 | struct myvect v1, v2; 27 | float t = multiply(&v2); 28 | while(1) { 29 | 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /test/tst/i386/pid/tst.sse3.movshdup.d: -------------------------------------------------------------------------------- 1 | /* 2 | * ASSERTION : To test that SSE3 instructions can be instrumented by the pid 3 | * provider: If SSE3 instructions are not handled by dtrace, the return probe 4 | * for "multiply" will not be present 5 | * 6 | * SECTION: pid provider, x86_64 7 | * 8 | */ 9 | 10 | BEGIN, pid$1:a.out:multiply:return { 11 | exit(0); 12 | } 13 | 14 | -------------------------------------------------------------------------------- /test/tst/i386/ustack/tst.annotated.d.out: -------------------------------------------------------------------------------- 1 | 2 | tst.annotated.exe`baz 3 | [ it's annotated ] 4 | 5 | -------------------------------------------------------------------------------- /test/tst/i386/ustack/tst.helper.d.out: -------------------------------------------------------------------------------- 1 | 2 | tst.helper.exe`baz 3 | 4 | 5 | --------------------------------------------------------------------------------