IFC @ r238370
This commit is contained in:
commit
b652778e42
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/projects/bhyve/; revision=238375
2
Makefile
2
Makefile
@ -92,7 +92,7 @@ TGTS= all all-man buildenv buildenvvars buildkernel buildworld \
|
|||||||
delete-old delete-old-dirs delete-old-files delete-old-libs \
|
delete-old delete-old-dirs delete-old-files delete-old-libs \
|
||||||
depend distribute distributekernel distributekernel.debug \
|
depend distribute distributekernel distributekernel.debug \
|
||||||
distributeworld distrib-dirs distribution doxygen \
|
distributeworld distrib-dirs distribution doxygen \
|
||||||
everything hierarchy install installcheck installkernel \
|
everything hier hierarchy install installcheck installkernel \
|
||||||
installkernel.debug packagekernel packageworld \
|
installkernel.debug packagekernel packageworld \
|
||||||
reinstallkernel reinstallkernel.debug \
|
reinstallkernel reinstallkernel.debug \
|
||||||
installworld kernel-toolchain libraries lint maninstall \
|
installworld kernel-toolchain libraries lint maninstall \
|
||||||
|
@ -15,6 +15,7 @@
|
|||||||
# -DNO_WWWUPDATE do not update www in ${MAKE} update
|
# -DNO_WWWUPDATE do not update www in ${MAKE} update
|
||||||
# -DNO_CTF do not run the DTrace CTF conversion tools on built objects
|
# -DNO_CTF do not run the DTrace CTF conversion tools on built objects
|
||||||
# LOCAL_DIRS="list of dirs" to add additional dirs to the SUBDIR list
|
# LOCAL_DIRS="list of dirs" to add additional dirs to the SUBDIR list
|
||||||
|
# LOCAL_LIB_DIRS="list of dirs" to add additional dirs to libraries target
|
||||||
# LOCAL_TOOL_DIRS="list of dirs" to add additional dirs to the build-tools
|
# LOCAL_TOOL_DIRS="list of dirs" to add additional dirs to the build-tools
|
||||||
# list
|
# list
|
||||||
# TARGET="machine" to crossbuild world for a different machine type
|
# TARGET="machine" to crossbuild world for a different machine type
|
||||||
@ -88,7 +89,7 @@ SUBDIR+=etc
|
|||||||
|
|
||||||
# These are last, since it is nice to at least get the base system
|
# These are last, since it is nice to at least get the base system
|
||||||
# rebuilt before you do them.
|
# rebuilt before you do them.
|
||||||
.for _DIR in ${LOCAL_DIRS}
|
.for _DIR in ${LOCAL_LIB_DIRS} ${LOCAL_DIRS}
|
||||||
.if exists(${.CURDIR}/${_DIR}/Makefile)
|
.if exists(${.CURDIR}/${_DIR}/Makefile)
|
||||||
SUBDIR+= ${_DIR}
|
SUBDIR+= ${_DIR}
|
||||||
.endif
|
.endif
|
||||||
@ -223,9 +224,6 @@ CROSSENV= MAKEOBJDIRPREFIX=${OBJTREE} \
|
|||||||
MACHINE_ARCH=${TARGET_ARCH} \
|
MACHINE_ARCH=${TARGET_ARCH} \
|
||||||
MACHINE=${TARGET} \
|
MACHINE=${TARGET} \
|
||||||
CPUTYPE=${TARGET_CPUTYPE}
|
CPUTYPE=${TARGET_CPUTYPE}
|
||||||
.if ${OSRELDATE} < 700044
|
|
||||||
CROSSENV+= AR=gnu-ar RANLIB=gnu-ranlib
|
|
||||||
.endif
|
|
||||||
.if ${MK_GROFF} != "no"
|
.if ${MK_GROFF} != "no"
|
||||||
CROSSENV+= GROFF_BIN_PATH=${WORLDTMP}/legacy/usr/bin \
|
CROSSENV+= GROFF_BIN_PATH=${WORLDTMP}/legacy/usr/bin \
|
||||||
GROFF_FONT_PATH=${WORLDTMP}/legacy/usr/share/groff_font \
|
GROFF_FONT_PATH=${WORLDTMP}/legacy/usr/share/groff_font \
|
||||||
@ -245,7 +243,7 @@ BMAKE= MAKEOBJDIRPREFIX=${WORLDTMP} \
|
|||||||
SSP_CFLAGS= \
|
SSP_CFLAGS= \
|
||||||
-DWITHOUT_HTML -DWITHOUT_INFO -DNO_LINT -DWITHOUT_MAN \
|
-DWITHOUT_HTML -DWITHOUT_INFO -DNO_LINT -DWITHOUT_MAN \
|
||||||
-DNO_PIC -DNO_PROFILE -DNO_SHARED \
|
-DNO_PIC -DNO_PROFILE -DNO_SHARED \
|
||||||
-DNO_CPU_CFLAGS -DNO_WARNS -DNO_CTF
|
-DNO_CPU_CFLAGS -DNO_WARNS -DNO_CTF -DEARLY_BUILD
|
||||||
|
|
||||||
# build-tools stage
|
# build-tools stage
|
||||||
TMAKE= MAKEOBJDIRPREFIX=${OBJTREE} \
|
TMAKE= MAKEOBJDIRPREFIX=${OBJTREE} \
|
||||||
@ -255,7 +253,7 @@ TMAKE= MAKEOBJDIRPREFIX=${OBJTREE} \
|
|||||||
BOOTSTRAPPING=${OSRELDATE} \
|
BOOTSTRAPPING=${OSRELDATE} \
|
||||||
SSP_CFLAGS= \
|
SSP_CFLAGS= \
|
||||||
-DNO_LINT \
|
-DNO_LINT \
|
||||||
-DNO_CPU_CFLAGS -DNO_WARNS -DNO_CTF
|
-DNO_CPU_CFLAGS -DNO_WARNS -DNO_CTF -DEARLY_BUILD
|
||||||
|
|
||||||
# cross-tools stage
|
# cross-tools stage
|
||||||
XMAKE= TOOLS_PREFIX=${WORLDTMP} ${BMAKE} \
|
XMAKE= TOOLS_PREFIX=${WORLDTMP} ${BMAKE} \
|
||||||
@ -265,6 +263,7 @@ XMAKE= TOOLS_PREFIX=${WORLDTMP} ${BMAKE} \
|
|||||||
# world stage
|
# world stage
|
||||||
WMAKEENV= ${CROSSENV} \
|
WMAKEENV= ${CROSSENV} \
|
||||||
_SHLIBDIRPREFIX=${WORLDTMP} \
|
_SHLIBDIRPREFIX=${WORLDTMP} \
|
||||||
|
_LDSCRIPTROOT= \
|
||||||
VERSION="${VERSION}" \
|
VERSION="${VERSION}" \
|
||||||
INSTALL="sh ${.CURDIR}/tools/install.sh" \
|
INSTALL="sh ${.CURDIR}/tools/install.sh" \
|
||||||
PATH=${TMPPATH}
|
PATH=${TMPPATH}
|
||||||
@ -307,6 +306,7 @@ LIB32FLAGS= -m32 ${LIB32CPUFLAGS} -DCOMPAT_32BIT \
|
|||||||
# Yes, the flags are redundant.
|
# Yes, the flags are redundant.
|
||||||
LIB32WMAKEENV+= MAKEOBJDIRPREFIX=${OBJTREE}/lib32 \
|
LIB32WMAKEENV+= MAKEOBJDIRPREFIX=${OBJTREE}/lib32 \
|
||||||
_SHLIBDIRPREFIX=${LIB32TMP} \
|
_SHLIBDIRPREFIX=${LIB32TMP} \
|
||||||
|
_LDSCRIPTROOT=${LIB32TMP} \
|
||||||
VERSION="${VERSION}" \
|
VERSION="${VERSION}" \
|
||||||
INSTALL="sh ${.CURDIR}/tools/install.sh" \
|
INSTALL="sh ${.CURDIR}/tools/install.sh" \
|
||||||
PATH=${TMPPATH} \
|
PATH=${TMPPATH} \
|
||||||
@ -319,11 +319,11 @@ LIB32WMAKE= ${LIB32WMAKEENV} ${MAKE} -DNO_CPU_CFLAGS -DCOMPAT_32BIT \
|
|||||||
-DWITHOUT_BIND -DWITHOUT_MAN -DWITHOUT_INFO \
|
-DWITHOUT_BIND -DWITHOUT_MAN -DWITHOUT_INFO \
|
||||||
-DWITHOUT_HTML -DNO_CTF -DNO_LINT -ECC -ECXX -EAS -ELD \
|
-DWITHOUT_HTML -DNO_CTF -DNO_LINT -ECC -ECXX -EAS -ELD \
|
||||||
DESTDIR=${LIB32TMP}
|
DESTDIR=${LIB32TMP}
|
||||||
LIB32IMAKE= ${LIB32WMAKE:NINSTALL=*:NDESTDIR=*} -DNO_INCS
|
LIB32IMAKE= ${LIB32WMAKE:NINSTALL=*:NDESTDIR=*:N_LDSCRIPTROOT=*} -DNO_INCS
|
||||||
.endif
|
.endif
|
||||||
|
|
||||||
# install stage
|
# install stage
|
||||||
IMAKEENV= ${CROSSENV}
|
IMAKEENV= ${CROSSENV:N_LDSCRIPTROOT=*}
|
||||||
IMAKE= ${IMAKEENV} ${MAKE} -f Makefile.inc1
|
IMAKE= ${IMAKEENV} ${MAKE} -f Makefile.inc1
|
||||||
.if empty(.MAKEFLAGS:M-n)
|
.if empty(.MAKEFLAGS:M-n)
|
||||||
IMAKEENV+= PATH=${STRICTTMPPATH}:${INSTALLTMP} \
|
IMAKEENV+= PATH=${STRICTTMPPATH}:${INSTALLTMP} \
|
||||||
@ -488,7 +488,8 @@ build32:
|
|||||||
.for _dir in lib/ncurses/ncurses lib/ncurses/ncursesw lib/libmagic
|
.for _dir in lib/ncurses/ncurses lib/ncurses/ncursesw lib/libmagic
|
||||||
cd ${.CURDIR}/${_dir}; \
|
cd ${.CURDIR}/${_dir}; \
|
||||||
MAKEOBJDIRPREFIX=${OBJTREE}/lib32 ${MAKE} SSP_CFLAGS= DESTDIR= \
|
MAKEOBJDIRPREFIX=${OBJTREE}/lib32 ${MAKE} SSP_CFLAGS= DESTDIR= \
|
||||||
DIRPRFX=${_dir}/ build-tools
|
DIRPRFX=${_dir}/ -DNO_LINT -DNO_CPU_CFLAGS -DNO_WARNS -DNO_CTF \
|
||||||
|
-DEARLY_BUILD build-tools
|
||||||
.endfor
|
.endfor
|
||||||
cd ${.CURDIR}; \
|
cd ${.CURDIR}; \
|
||||||
${LIB32WMAKE} -f Makefile.inc1 libraries
|
${LIB32WMAKE} -f Makefile.inc1 libraries
|
||||||
@ -830,7 +831,7 @@ buildkernel:
|
|||||||
cd ${KRNLOBJDIR}/${_kernel}; \
|
cd ${KRNLOBJDIR}/${_kernel}; \
|
||||||
PATH=${BPATH}:${PATH} \
|
PATH=${BPATH}:${PATH} \
|
||||||
MAKESRCPATH=${KERNSRCDIR}/dev/aic7xxx/aicasm \
|
MAKESRCPATH=${KERNSRCDIR}/dev/aic7xxx/aicasm \
|
||||||
${MAKE} SSP_CFLAGS= -DNO_CPU_CFLAGS -DNO_CTF \
|
${MAKE} SSP_CFLAGS= -DNO_CPU_CFLAGS -DNO_CTF -DEARLY_BUILD \
|
||||||
-f ${KERNSRCDIR}/dev/aic7xxx/aicasm/Makefile
|
-f ${KERNSRCDIR}/dev/aic7xxx/aicasm/Makefile
|
||||||
# XXX - Gratuitously builds aicasm in the ``makeoptions NO_MODULES'' case.
|
# XXX - Gratuitously builds aicasm in the ``makeoptions NO_MODULES'' case.
|
||||||
.if !defined(MODULES_WITH_WORLD) && !defined(NO_MODULES) && exists(${KERNSRCDIR}/modules)
|
.if !defined(MODULES_WITH_WORLD) && !defined(NO_MODULES) && exists(${KERNSRCDIR}/modules)
|
||||||
@ -838,7 +839,7 @@ buildkernel:
|
|||||||
cd ${KERNSRCDIR}/modules/aic7xxx/aicasm; \
|
cd ${KERNSRCDIR}/modules/aic7xxx/aicasm; \
|
||||||
PATH=${BPATH}:${PATH} \
|
PATH=${BPATH}:${PATH} \
|
||||||
MAKEOBJDIRPREFIX=${KRNLOBJDIR}/${_kernel}/modules \
|
MAKEOBJDIRPREFIX=${KRNLOBJDIR}/${_kernel}/modules \
|
||||||
${MAKE} SSP_CFLAGS= -DNO_CPU_CFLAGS -DNO_CTF ${target}
|
${MAKE} SSP_CFLAGS= -DNO_CPU_CFLAGS -DNO_CTF -DEARLY_BUILD ${target}
|
||||||
.endfor
|
.endfor
|
||||||
.endif
|
.endif
|
||||||
.if !defined(NO_KERNELDEPEND)
|
.if !defined(NO_KERNELDEPEND)
|
||||||
@ -979,8 +980,8 @@ update:
|
|||||||
# legacy: Build compatibility shims for the next three targets
|
# legacy: Build compatibility shims for the next three targets
|
||||||
#
|
#
|
||||||
legacy:
|
legacy:
|
||||||
.if ${BOOTSTRAPPING} < 600034 && ${BOOTSTRAPPING} != 0
|
.if ${BOOTSTRAPPING} < 700055 && ${BOOTSTRAPPING} != 0
|
||||||
@echo "ERROR: Source upgrades from versions prior to 6.0 not supported."; \
|
@echo "ERROR: Source upgrades from versions prior to 7.0 not supported."; \
|
||||||
false
|
false
|
||||||
.endif
|
.endif
|
||||||
.for _tool in tools/build
|
.for _tool in tools/build
|
||||||
@ -1008,7 +1009,7 @@ _gperf= gnu/usr.bin/gperf
|
|||||||
_groff= gnu/usr.bin/groff
|
_groff= gnu/usr.bin/groff
|
||||||
.endif
|
.endif
|
||||||
|
|
||||||
.if ${BOOTSTRAPPING} >= 700044 && ${BOOTSTRAPPING} < 800022
|
.if ${BOOTSTRAPPING} < 800022
|
||||||
_ar= usr.bin/ar
|
_ar= usr.bin/ar
|
||||||
.endif
|
.endif
|
||||||
|
|
||||||
@ -1022,6 +1023,9 @@ _sed= usr.bin/sed
|
|||||||
|
|
||||||
.if ${BOOTSTRAPPING} < 900006
|
.if ${BOOTSTRAPPING} < 900006
|
||||||
_lex= usr.bin/lex
|
_lex= usr.bin/lex
|
||||||
|
.endif
|
||||||
|
|
||||||
|
.if ${BOOTSTRAPPING} < 1000013
|
||||||
_yacc= usr.bin/yacc
|
_yacc= usr.bin/yacc
|
||||||
.endif
|
.endif
|
||||||
|
|
||||||
@ -1029,16 +1033,10 @@ _yacc= usr.bin/yacc
|
|||||||
_awk= usr.bin/awk
|
_awk= usr.bin/awk
|
||||||
.endif
|
.endif
|
||||||
|
|
||||||
.if ${MK_BSNMP} != "no" && \
|
.if ${MK_BSNMP} != "no" && !exists(/usr/sbin/gensnmptree)
|
||||||
(${BOOTSTRAPPING} < 700018 || !exists(/usr/sbin/gensnmptree))
|
|
||||||
_gensnmptree= usr.sbin/bsnmpd/gensnmptree
|
_gensnmptree= usr.sbin/bsnmpd/gensnmptree
|
||||||
.endif
|
.endif
|
||||||
|
|
||||||
.if ${MK_RESCUE} != "no" && \
|
|
||||||
${BOOTSTRAPPING} < 700026
|
|
||||||
_crunchgen= usr.sbin/crunch/crunchgen
|
|
||||||
.endif
|
|
||||||
|
|
||||||
.if ${MK_CLANG} != "no"
|
.if ${MK_CLANG} != "no"
|
||||||
_clang_tblgen= \
|
_clang_tblgen= \
|
||||||
lib/clang/libllvmsupport \
|
lib/clang/libllvmsupport \
|
||||||
@ -1088,12 +1086,11 @@ bootstrap-tools:
|
|||||||
${_mklocale} \
|
${_mklocale} \
|
||||||
usr.bin/rpcgen \
|
usr.bin/rpcgen \
|
||||||
${_sed} \
|
${_sed} \
|
||||||
${_lex} \
|
|
||||||
${_yacc} \
|
${_yacc} \
|
||||||
|
${_lex} \
|
||||||
usr.bin/xinstall \
|
usr.bin/xinstall \
|
||||||
${_gensnmptree} \
|
${_gensnmptree} \
|
||||||
usr.sbin/config \
|
usr.sbin/config
|
||||||
${_crunchgen}
|
|
||||||
${_+_}@${ECHODIR} "===> ${_tool} (obj,depend,all,install)"; \
|
${_+_}@${ECHODIR} "===> ${_tool} (obj,depend,all,install)"; \
|
||||||
cd ${.CURDIR}/${_tool}; \
|
cd ${.CURDIR}/${_tool}; \
|
||||||
${MAKE} DIRPRFX=${_tool}/ obj; \
|
${MAKE} DIRPRFX=${_tool}/ obj; \
|
||||||
@ -1200,7 +1197,7 @@ cross-tools:
|
|||||||
#
|
#
|
||||||
# hierarchy - ensure that all the needed directories are present
|
# hierarchy - ensure that all the needed directories are present
|
||||||
#
|
#
|
||||||
hierarchy:
|
hierarchy hier:
|
||||||
cd ${.CURDIR}/etc; ${MAKE} distrib-dirs
|
cd ${.CURDIR}/etc; ${MAKE} distrib-dirs
|
||||||
|
|
||||||
#
|
#
|
||||||
@ -1277,6 +1274,11 @@ _ofed_lib= contrib/ofed/usr.lib/
|
|||||||
.endif
|
.endif
|
||||||
|
|
||||||
_generic_libs= ${_cddl_lib} gnu/lib ${_kerberos5_lib} lib ${_secure_lib} usr.bin/lex/lib ${_ofed_lib}
|
_generic_libs= ${_cddl_lib} gnu/lib ${_kerberos5_lib} lib ${_secure_lib} usr.bin/lex/lib ${_ofed_lib}
|
||||||
|
.for _DIR in ${LOCAL_LIB_DIRS}
|
||||||
|
.if exists(${.CURDIR}/${_DIR}/Makefile)
|
||||||
|
_generic_libs+= ${_DIR}
|
||||||
|
.endif
|
||||||
|
.endfor
|
||||||
|
|
||||||
lib/libopie__L lib/libtacplus__L: lib/libmd__L
|
lib/libopie__L lib/libtacplus__L: lib/libmd__L
|
||||||
|
|
||||||
@ -1649,8 +1651,8 @@ _xi-mtree:
|
|||||||
mtree -deU -f ${.CURDIR}/etc/mtree/BSD.include.dist \
|
mtree -deU -f ${.CURDIR}/etc/mtree/BSD.include.dist \
|
||||||
-p ${XDDESTDIR}/usr/include >/dev/null
|
-p ${XDDESTDIR}/usr/include >/dev/null
|
||||||
|
|
||||||
.ORDER: _xi-mtree _xi-cross-tools _xi-includes _xi-libraries _xi-links
|
.ORDER: xdev-build _xi-mtree _xi-cross-tools _xi-includes _xi-libraries _xi-links
|
||||||
xdev-install: _xi-mtree _xi-cross-tools _xi-includes _xi-libraries _xi-links
|
xdev-install: xdev-build _xi-mtree _xi-cross-tools _xi-includes _xi-libraries _xi-links
|
||||||
|
|
||||||
_xi-cross-tools:
|
_xi-cross-tools:
|
||||||
@echo "_xi-cross-tools"
|
@echo "_xi-cross-tools"
|
||||||
|
@ -38,6 +38,31 @@
|
|||||||
# xargs -n1 | sort | uniq -d;
|
# xargs -n1 | sort | uniq -d;
|
||||||
# done
|
# done
|
||||||
|
|
||||||
|
# 20120621: remove old man page
|
||||||
|
OLD_FILES+=usr/share/man/man8/vnconfig.8.gz
|
||||||
|
# 20120613: auth.conf removed
|
||||||
|
OLD_FILES+=etc/auth.conf
|
||||||
|
OLD_FILES+=usr/share/examples/etc/auth.conf
|
||||||
|
OLD_FILES+=usr/share/man/man3/auth.3.gz
|
||||||
|
OLD_FILES+=usr/share/man/man5/auth.conf.5.gz
|
||||||
|
# 20120530: kde pam lives now in ports
|
||||||
|
OLD_FILES+=etc/pam.d/kde
|
||||||
|
# 20120505: new clang import installed a redundant internal header
|
||||||
|
OLD_FILES+=usr/include/clang/3.1/stdalign.h
|
||||||
|
# 20120428: MD2 removed from libmd
|
||||||
|
OLD_FILES+=usr/include/md2.h
|
||||||
|
OLD_FILES+=usr/share/man/man3/MD2Data.3.gz
|
||||||
|
OLD_FILES+=usr/share/man/man3/MD2End.3.gz
|
||||||
|
OLD_FILES+=usr/share/man/man3/MD2File.3.gz
|
||||||
|
OLD_FILES+=usr/share/man/man3/MD2FileChunk.3.gz
|
||||||
|
OLD_FILES+=usr/share/man/man3/MD2Final.3.gz
|
||||||
|
OLD_FILES+=usr/share/man/man3/MD2Init.3.gz
|
||||||
|
OLD_FILES+=usr/share/man/man3/MD2Update.3.gz
|
||||||
|
OLD_FILES+=usr/share/man/man3/md2.3.gz
|
||||||
|
# 20120425: libusb version bump (r234684)
|
||||||
|
OLD_LIBS+=usr/lib/libusb.so.2
|
||||||
|
OLD_LIBS+=usr/lib32/libusb.so.2
|
||||||
|
OLD_FILES+=usr/share/man/man3/libsub_get_active_config_descriptor.3.gz
|
||||||
# 20120415: new clang import which bumps version from 3.0 to 3.1
|
# 20120415: new clang import which bumps version from 3.0 to 3.1
|
||||||
OLD_FILES+=usr/include/clang/3.0/altivec.h
|
OLD_FILES+=usr/include/clang/3.0/altivec.h
|
||||||
OLD_FILES+=usr/include/clang/3.0/avxintrin.h
|
OLD_FILES+=usr/include/clang/3.0/avxintrin.h
|
||||||
@ -54,6 +79,17 @@ OLD_FILES+=usr/include/clang/3.0/wmmintrin.h
|
|||||||
OLD_FILES+=usr/include/clang/3.0/x86intrin.h
|
OLD_FILES+=usr/include/clang/3.0/x86intrin.h
|
||||||
OLD_FILES+=usr/include/clang/3.0/xmmintrin.h
|
OLD_FILES+=usr/include/clang/3.0/xmmintrin.h
|
||||||
OLD_DIRS+=usr/include/clang/3.0
|
OLD_DIRS+=usr/include/clang/3.0
|
||||||
|
# 20120412: BIND 9.8.1 release notes removed
|
||||||
|
OLD_FILES+=usr/share/doc/bind9/RELEASE-NOTES-BIND-9.8.1.pdf
|
||||||
|
OLD_FILES+=usr/share/doc/bind9/RELEASE-NOTES-BIND-9.8.1.txt
|
||||||
|
OLD_FILES+=usr/share/doc/bind9/RELEASE-NOTES-BIND-9.8.1.html
|
||||||
|
OLD_FILES+=usr/share/doc/bind9/release-notes.css
|
||||||
|
# 20120330: legacy(4) moved to x86
|
||||||
|
OLD_FILES+=usr/include/machine/legacyvar.h
|
||||||
|
# 20120324: MPI headers updated
|
||||||
|
OLD_FILES+=usr/include/dev/mpt/mpilib/mpi_inb.h
|
||||||
|
# 20120322: hwpmc_mips24k.h removed
|
||||||
|
OLD_FILES+=usr/include/dev/hwpmc/hwpmc_mips24k.h
|
||||||
# 20120322: Update heimdal to 1.5.1.
|
# 20120322: Update heimdal to 1.5.1.
|
||||||
OLD_FILES+=usr/include/krb5-v4compat.h \
|
OLD_FILES+=usr/include/krb5-v4compat.h \
|
||||||
usr/include/krb_err.h \
|
usr/include/krb_err.h \
|
||||||
@ -98,6 +134,8 @@ OLD_LIBS+=usr/lib/libasn1.so.10 \
|
|||||||
# 20120309: Remove fifofs header files.
|
# 20120309: Remove fifofs header files.
|
||||||
OLD_FILES+=usr/include/fs/fifofs/fifo.h
|
OLD_FILES+=usr/include/fs/fifofs/fifo.h
|
||||||
OLD_DIRS+=usr/include/fs/fifofs
|
OLD_DIRS+=usr/include/fs/fifofs
|
||||||
|
# 20120304: xlocale cleanup
|
||||||
|
OLD_FILES+=usr/include/_xlocale_ctype.h
|
||||||
# 20120225: libarchive 3.0.3
|
# 20120225: libarchive 3.0.3
|
||||||
OLD_FILES+=usr/share/man/man3/archive_read_data_into_buffer.3.gz \
|
OLD_FILES+=usr/share/man/man3/archive_read_data_into_buffer.3.gz \
|
||||||
usr/share/man/man3/archive_read_support_compression_all.3.gz \
|
usr/share/man/man3/archive_read_support_compression_all.3.gz \
|
||||||
@ -459,7 +497,7 @@ OLD_FILES+=usr/share/man/man5/lastlog.5.gz
|
|||||||
OLD_FILES+=usr/share/man/man5/utmp.5.gz
|
OLD_FILES+=usr/share/man/man5/utmp.5.gz
|
||||||
OLD_FILES+=usr/share/man/man5/wtmp.5.gz
|
OLD_FILES+=usr/share/man/man5/wtmp.5.gz
|
||||||
OLD_LIBS+=lib/libutil.so.8
|
OLD_LIBS+=lib/libutil.so.8
|
||||||
OLB_LIBS+=usr/lib32/libutil.so.8
|
OLD_LIBS+=usr/lib32/libutil.so.8
|
||||||
# 20100105: new userland semaphore implementation
|
# 20100105: new userland semaphore implementation
|
||||||
OLD_FILES+=usr/include/sys/semaphore.h
|
OLD_FILES+=usr/include/sys/semaphore.h
|
||||||
# 20100103: ntptrace(8) removed
|
# 20100103: ntptrace(8) removed
|
||||||
@ -579,6 +617,7 @@ OLD_LIBS+=lib/libipx.so.4
|
|||||||
OLD_LIBS+=lib/libkiconv.so.3
|
OLD_LIBS+=lib/libkiconv.so.3
|
||||||
OLD_LIBS+=lib/libkvm.so.4
|
OLD_LIBS+=lib/libkvm.so.4
|
||||||
OLD_LIBS+=lib/libmd.so.4
|
OLD_LIBS+=lib/libmd.so.4
|
||||||
|
OLD_LIBS+=lib/libmd.so.5
|
||||||
OLD_LIBS+=lib/libncurses.so.7
|
OLD_LIBS+=lib/libncurses.so.7
|
||||||
OLD_LIBS+=lib/libncursesw.so.7
|
OLD_LIBS+=lib/libncursesw.so.7
|
||||||
OLD_LIBS+=lib/libnvpair.so.1
|
OLD_LIBS+=lib/libnvpair.so.1
|
||||||
|
17
UPDATING
17
UPDATING
@ -24,6 +24,23 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 10.x IS SLOW:
|
|||||||
disable the most expensive debugging functionality run
|
disable the most expensive debugging functionality run
|
||||||
"ln -s 'abort:false,junk:false' /etc/malloc.conf".)
|
"ln -s 'abort:false,junk:false' /etc/malloc.conf".)
|
||||||
|
|
||||||
|
20120628:
|
||||||
|
The sort utility has been replaced with BSD sort. For now, GNU sort
|
||||||
|
is also available as "gnusort" or the default can be set back to
|
||||||
|
GNU sort by setting WITH_GNU_SORT. In this case, BSD sort will be
|
||||||
|
installed as "bsdsort".
|
||||||
|
|
||||||
|
20120611:
|
||||||
|
A new version of ZFS (pool version 5000) has been merged to -HEAD.
|
||||||
|
Starting with this version the old system of ZFS pool versioning
|
||||||
|
is superseded by "feature flags". This concept enables forward
|
||||||
|
compatibility against certain future changes in functionality of ZFS
|
||||||
|
pools. The first read-only compatible "feature flag" for ZFS pools
|
||||||
|
is named "com.delphix:async_destroy". For more information
|
||||||
|
read the new zpool-features(5) manual page.
|
||||||
|
Please refer to the "ZFS notes" section of this file for information
|
||||||
|
on upgrading boot ZFS pools.
|
||||||
|
|
||||||
20120417:
|
20120417:
|
||||||
The malloc(3) implementation embedded in libc now uses sources imported
|
The malloc(3) implementation embedded in libc now uses sources imported
|
||||||
as contrib/jemalloc. The most disruptive API change is to
|
as contrib/jemalloc. The most disruptive API change is to
|
||||||
|
@ -7,12 +7,12 @@ SRCS= buf.c cbc.c glbl.c io.c main.c re.c sub.c undo.c
|
|||||||
LINKS= ${BINDIR}/ed ${BINDIR}/red
|
LINKS= ${BINDIR}/ed ${BINDIR}/red
|
||||||
MLINKS= ed.1 red.1
|
MLINKS= ed.1 red.1
|
||||||
|
|
||||||
.if !defined(RELEASE_CRUNCH)
|
.if !defined(RELEASE_CRUNCH) && \
|
||||||
.if ${MK_OPENSSL} != "no"
|
${MK_OPENSSL} != "no" && \
|
||||||
|
${MK_ED_CRYPTO} != "no"
|
||||||
CFLAGS+=-DDES
|
CFLAGS+=-DDES
|
||||||
DPADD= ${LIBCRYPTO}
|
DPADD= ${LIBCRYPTO}
|
||||||
LDADD= -lcrypto
|
LDADD= -lcrypto
|
||||||
.endif
|
.endif
|
||||||
.endif
|
|
||||||
|
|
||||||
.include <bsd.prog.mk>
|
.include <bsd.prog.mk>
|
||||||
|
@ -77,7 +77,7 @@ Operators with equal precedence are grouped within symbols
|
|||||||
and
|
and
|
||||||
.Ql } .
|
.Ql } .
|
||||||
.Bl -tag -width indent
|
.Bl -tag -width indent
|
||||||
.It Ar expr1 Li | Ar expr2
|
.It Ar expr1 Li \&| Ar expr2
|
||||||
Return the evaluation of
|
Return the evaluation of
|
||||||
.Ar expr1
|
.Ar expr1
|
||||||
if it is neither an empty string nor zero;
|
if it is neither an empty string nor zero;
|
||||||
|
@ -74,7 +74,6 @@ int to_integer(struct val *);
|
|||||||
void to_string(struct val *);
|
void to_string(struct val *);
|
||||||
int yyerror(const char *);
|
int yyerror(const char *);
|
||||||
int yylex(void);
|
int yylex(void);
|
||||||
int yyparse(void);
|
|
||||||
|
|
||||||
%}
|
%}
|
||||||
|
|
||||||
|
@ -24,7 +24,7 @@
|
|||||||
.\"
|
.\"
|
||||||
.\" $FreeBSD$
|
.\" $FreeBSD$
|
||||||
.\"
|
.\"
|
||||||
.Dd January 13, 2009
|
.Dd May 11, 2012
|
||||||
.Dt KENV 1
|
.Dt KENV 1
|
||||||
.Os
|
.Os
|
||||||
.Sh NAME
|
.Sh NAME
|
||||||
@ -32,9 +32,9 @@
|
|||||||
.Nd dump or modify the kernel environment
|
.Nd dump or modify the kernel environment
|
||||||
.Sh SYNOPSIS
|
.Sh SYNOPSIS
|
||||||
.Nm
|
.Nm
|
||||||
.Op Fl hq
|
.Op Fl hNq
|
||||||
.Nm
|
.Nm
|
||||||
.Op Fl q
|
.Op Fl qv
|
||||||
.Ar variable Ns Op = Ns Ar value
|
.Ar variable Ns Op = Ns Ar value
|
||||||
.Nm
|
.Nm
|
||||||
.Op Fl q
|
.Op Fl q
|
||||||
@ -54,6 +54,11 @@ name is specified,
|
|||||||
.Nm
|
.Nm
|
||||||
will only report that value.
|
will only report that value.
|
||||||
If the
|
If the
|
||||||
|
.Fl N
|
||||||
|
option is specified,
|
||||||
|
.Nm
|
||||||
|
will only display variable names and not their values.
|
||||||
|
If the
|
||||||
.Fl u
|
.Fl u
|
||||||
option is specified,
|
option is specified,
|
||||||
.Nm
|
.Nm
|
||||||
@ -68,6 +73,13 @@ If the
|
|||||||
option is set, warnings normally printed as a result of being unable to
|
option is set, warnings normally printed as a result of being unable to
|
||||||
perform the requested operation will be suppressed.
|
perform the requested operation will be suppressed.
|
||||||
.Pp
|
.Pp
|
||||||
|
If the
|
||||||
|
.Fl v
|
||||||
|
option is set, the variable name will be printed out for the
|
||||||
|
environment variable in addition to the value when
|
||||||
|
.Nm
|
||||||
|
is executed with a variable name.
|
||||||
|
.Pp
|
||||||
Variables can be added to the kernel environment using the
|
Variables can be added to the kernel environment using the
|
||||||
.Pa /boot/loader.conf
|
.Pa /boot/loader.conf
|
||||||
file, or also statically compiled into the kernel using the statement
|
file, or also statically compiled into the kernel using the statement
|
||||||
|
@ -42,15 +42,17 @@ static int ksetenv(char *, char *);
|
|||||||
static int kunsetenv(char *);
|
static int kunsetenv(char *);
|
||||||
|
|
||||||
static int hflag = 0;
|
static int hflag = 0;
|
||||||
|
static int Nflag = 0;
|
||||||
static int qflag = 0;
|
static int qflag = 0;
|
||||||
static int uflag = 0;
|
static int uflag = 0;
|
||||||
|
static int vflag = 0;
|
||||||
|
|
||||||
static void
|
static void
|
||||||
usage(void)
|
usage(void)
|
||||||
{
|
{
|
||||||
(void)fprintf(stderr, "%s\n%s\n%s\n",
|
(void)fprintf(stderr, "%s\n%s\n%s\n",
|
||||||
"usage: kenv [-hq]",
|
"usage: kenv [-hNq]",
|
||||||
" kenv [-q] variable[=value]",
|
" kenv [-qv] variable[=value]",
|
||||||
" kenv [-q] -u variable");
|
" kenv [-q] -u variable");
|
||||||
exit(1);
|
exit(1);
|
||||||
}
|
}
|
||||||
@ -64,17 +66,23 @@ main(int argc, char **argv)
|
|||||||
error = 0;
|
error = 0;
|
||||||
val = NULL;
|
val = NULL;
|
||||||
env = NULL;
|
env = NULL;
|
||||||
while ((ch = getopt(argc, argv, "hqu")) != -1) {
|
while ((ch = getopt(argc, argv, "hNquv")) != -1) {
|
||||||
switch (ch) {
|
switch (ch) {
|
||||||
case 'h':
|
case 'h':
|
||||||
hflag++;
|
hflag++;
|
||||||
break;
|
break;
|
||||||
|
case 'N':
|
||||||
|
Nflag++;
|
||||||
|
break;
|
||||||
case 'q':
|
case 'q':
|
||||||
qflag++;
|
qflag++;
|
||||||
break;
|
break;
|
||||||
case 'u':
|
case 'u':
|
||||||
uflag++;
|
uflag++;
|
||||||
break;
|
break;
|
||||||
|
case 'v':
|
||||||
|
vflag++;
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
usage();
|
usage();
|
||||||
}
|
}
|
||||||
@ -91,9 +99,9 @@ main(int argc, char **argv)
|
|||||||
argv++;
|
argv++;
|
||||||
argc--;
|
argc--;
|
||||||
}
|
}
|
||||||
if (hflag && (env != NULL))
|
if ((hflag || Nflag) && env != NULL)
|
||||||
usage();
|
usage();
|
||||||
if ((argc > 0) || (uflag && (env == NULL)))
|
if (argc > 0 || ((uflag || vflag) && env == NULL))
|
||||||
usage();
|
usage();
|
||||||
if (env == NULL) {
|
if (env == NULL) {
|
||||||
error = kdumpenv();
|
error = kdumpenv();
|
||||||
@ -152,7 +160,10 @@ kdumpenv(void)
|
|||||||
if (cp == NULL)
|
if (cp == NULL)
|
||||||
continue;
|
continue;
|
||||||
*cp++ = '\0';
|
*cp++ = '\0';
|
||||||
printf("%s=\"%s\"\n", buf, cp);
|
if (Nflag)
|
||||||
|
printf("%s\n", buf);
|
||||||
|
else
|
||||||
|
printf("%s=\"%s\"\n", buf, cp);
|
||||||
buf = cp;
|
buf = cp;
|
||||||
}
|
}
|
||||||
return (0);
|
return (0);
|
||||||
@ -167,7 +178,10 @@ kgetenv(char *env)
|
|||||||
ret = kenv(KENV_GET, env, buf, sizeof(buf));
|
ret = kenv(KENV_GET, env, buf, sizeof(buf));
|
||||||
if (ret == -1)
|
if (ret == -1)
|
||||||
return (ret);
|
return (ret);
|
||||||
printf("%s\n", buf);
|
if (vflag)
|
||||||
|
printf("%s=\"%s\"\n", env, buf);
|
||||||
|
else
|
||||||
|
printf("%s\n", buf);
|
||||||
return (0);
|
return (0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,12 +1,15 @@
|
|||||||
# @(#)Makefile 8.1 (Berkeley) 6/2/93
|
# @(#)Makefile 8.1 (Berkeley) 6/2/93
|
||||||
# $FreeBSD$
|
# $FreeBSD$
|
||||||
|
|
||||||
|
.include <bsd.own.mk>
|
||||||
|
|
||||||
PROG= ls
|
PROG= ls
|
||||||
SRCS= cmp.c ls.c print.c util.c
|
SRCS= cmp.c ls.c print.c util.c
|
||||||
DPADD= ${LIBUTIL}
|
DPADD= ${LIBUTIL}
|
||||||
LDADD= -lutil
|
LDADD= -lutil
|
||||||
|
|
||||||
.if !defined(RELEASE_CRUNCH)
|
.if !defined(RELEASE_CRUNCH) && \
|
||||||
|
${MK_LS_COLORS} != no
|
||||||
CFLAGS+= -DCOLORLS
|
CFLAGS+= -DCOLORLS
|
||||||
DPADD+= ${LIBTERMCAP}
|
DPADD+= ${LIBTERMCAP}
|
||||||
LDADD+= -ltermcap
|
LDADD+= -ltermcap
|
||||||
|
@ -76,6 +76,7 @@ static VAR var[] = {
|
|||||||
{"comm", "COMMAND", NULL, LJUST, ucomm, 0, CHAR, NULL, 0},
|
{"comm", "COMMAND", NULL, LJUST, ucomm, 0, CHAR, NULL, 0},
|
||||||
{"command", "COMMAND", NULL, COMM|LJUST|USER, command, 0,
|
{"command", "COMMAND", NULL, COMM|LJUST|USER, command, 0,
|
||||||
CHAR, NULL, 0},
|
CHAR, NULL, 0},
|
||||||
|
{"cow", "COW", NULL, 0, kvar, KOFF(ki_cow), UINT, "u", 0},
|
||||||
{"cpu", "CPU", NULL, 0, kvar, KOFF(ki_estcpu), UINT, "d", 0},
|
{"cpu", "CPU", NULL, 0, kvar, KOFF(ki_estcpu), UINT, "d", 0},
|
||||||
{"cputime", "", "time", 0, NULL, 0, CHAR, NULL, 0},
|
{"cputime", "", "time", 0, NULL, 0, CHAR, NULL, 0},
|
||||||
{"egid", "", "gid", 0, NULL, 0, CHAR, NULL, 0},
|
{"egid", "", "gid", 0, NULL, 0, CHAR, NULL, 0},
|
||||||
|
@ -29,7 +29,7 @@
|
|||||||
.\" @(#)ps.1 8.3 (Berkeley) 4/18/94
|
.\" @(#)ps.1 8.3 (Berkeley) 4/18/94
|
||||||
.\" $FreeBSD$
|
.\" $FreeBSD$
|
||||||
.\"
|
.\"
|
||||||
.Dd March 8, 2012
|
.Dd May 20, 2012
|
||||||
.Dt PS 1
|
.Dt PS 1
|
||||||
.Os
|
.Os
|
||||||
.Sh NAME
|
.Sh NAME
|
||||||
@ -496,6 +496,8 @@ login class
|
|||||||
command
|
command
|
||||||
.It Cm command
|
.It Cm command
|
||||||
command and arguments
|
command and arguments
|
||||||
|
.It Cm cow
|
||||||
|
number of copy-on-write faults
|
||||||
.It Cm cpu
|
.It Cm cpu
|
||||||
short-term CPU usage factor (for scheduling)
|
short-term CPU usage factor (for scheduling)
|
||||||
.It Cm emul
|
.It Cm emul
|
||||||
|
@ -116,17 +116,11 @@ The
|
|||||||
.Nm
|
.Nm
|
||||||
utility handles third party copies, where neither source nor target files
|
utility handles third party copies, where neither source nor target files
|
||||||
are on the current machine.
|
are on the current machine.
|
||||||
.Sh FILES
|
|
||||||
.Bl -tag -width ".Pa /etc/auth.conf" -compact
|
|
||||||
.It Pa /etc/auth.conf
|
|
||||||
configure authentication services
|
|
||||||
.El
|
|
||||||
.Sh SEE ALSO
|
.Sh SEE ALSO
|
||||||
.Xr cp 1 ,
|
.Xr cp 1 ,
|
||||||
.Xr ftp 1 ,
|
.Xr ftp 1 ,
|
||||||
.Xr rlogin 1 ,
|
.Xr rlogin 1 ,
|
||||||
.Xr rsh 1 ,
|
.Xr rsh 1 ,
|
||||||
.Xr auth.conf 5 ,
|
|
||||||
.Xr hosts.equiv 5
|
.Xr hosts.equiv 5
|
||||||
.Sh HISTORY
|
.Sh HISTORY
|
||||||
The
|
The
|
||||||
|
@ -61,7 +61,6 @@ __FBSDID("$FreeBSD$");
|
|||||||
#include <err.h>
|
#include <err.h>
|
||||||
#include <errno.h>
|
#include <errno.h>
|
||||||
#include <fcntl.h>
|
#include <fcntl.h>
|
||||||
#include <libutil.h>
|
|
||||||
#include <limits.h>
|
#include <limits.h>
|
||||||
#include <netdb.h>
|
#include <netdb.h>
|
||||||
#include <paths.h>
|
#include <paths.h>
|
||||||
|
21
bin/rm/rm.c
21
bin/rm/rm.c
@ -301,10 +301,16 @@ rm_tree(char **argv)
|
|||||||
if (fflag)
|
if (fflag)
|
||||||
continue;
|
continue;
|
||||||
/* FALLTHROUGH */
|
/* FALLTHROUGH */
|
||||||
default:
|
|
||||||
|
case FTS_F:
|
||||||
|
case FTS_NSOK:
|
||||||
if (Pflag)
|
if (Pflag)
|
||||||
if (!rm_overwrite(p->fts_accpath, NULL))
|
if (!rm_overwrite(p->fts_accpath, p->fts_info ==
|
||||||
|
FTS_NSOK ? NULL : p->fts_statp))
|
||||||
continue;
|
continue;
|
||||||
|
/* FALLTHROUGH */
|
||||||
|
|
||||||
|
default:
|
||||||
rval = unlink(p->fts_accpath);
|
rval = unlink(p->fts_accpath);
|
||||||
if (rval == 0 || (fflag && errno == ENOENT)) {
|
if (rval == 0 || (fflag && errno == ENOENT)) {
|
||||||
if (rval == 0 && vflag)
|
if (rval == 0 && vflag)
|
||||||
@ -408,7 +414,7 @@ rm_file(char **argv)
|
|||||||
int
|
int
|
||||||
rm_overwrite(char *file, struct stat *sbp)
|
rm_overwrite(char *file, struct stat *sbp)
|
||||||
{
|
{
|
||||||
struct stat sb;
|
struct stat sb, sb2;
|
||||||
struct statfs fsb;
|
struct statfs fsb;
|
||||||
off_t len;
|
off_t len;
|
||||||
int bsize, fd, wlen;
|
int bsize, fd, wlen;
|
||||||
@ -427,8 +433,15 @@ rm_overwrite(char *file, struct stat *sbp)
|
|||||||
file, sbp->st_ino);
|
file, sbp->st_ino);
|
||||||
return (0);
|
return (0);
|
||||||
}
|
}
|
||||||
if ((fd = open(file, O_WRONLY, 0)) == -1)
|
if ((fd = open(file, O_WRONLY|O_NONBLOCK|O_NOFOLLOW, 0)) == -1)
|
||||||
goto err;
|
goto err;
|
||||||
|
if (fstat(fd, &sb2))
|
||||||
|
goto err;
|
||||||
|
if (sb2.st_dev != sbp->st_dev || sb2.st_ino != sbp->st_ino ||
|
||||||
|
!S_ISREG(sb2.st_mode)) {
|
||||||
|
errno = EPERM;
|
||||||
|
goto err;
|
||||||
|
}
|
||||||
if (fstatfs(fd, &fsb) == -1)
|
if (fstatfs(fd, &fsb) == -1)
|
||||||
goto err;
|
goto err;
|
||||||
bsize = MAX(fsb.f_iosize, 1024);
|
bsize = MAX(fsb.f_iosize, 1024);
|
||||||
|
@ -38,7 +38,7 @@ build-tools: mkinit mknodes mksyntax
|
|||||||
|
|
||||||
.ORDER: builtins.c builtins.h
|
.ORDER: builtins.c builtins.h
|
||||||
builtins.c builtins.h: mkbuiltins builtins.def
|
builtins.c builtins.h: mkbuiltins builtins.def
|
||||||
cd ${.CURDIR}; sh mkbuiltins ${.OBJDIR}
|
sh ${.CURDIR}/mkbuiltins ${.CURDIR}
|
||||||
|
|
||||||
init.c: mkinit alias.c eval.c exec.c input.c jobs.c options.c parser.c \
|
init.c: mkinit alias.c eval.c exec.c input.c jobs.c options.c parser.c \
|
||||||
redir.c trap.c var.c
|
redir.c trap.c var.c
|
||||||
|
@ -52,7 +52,6 @@ __FBSDID("$FreeBSD$");
|
|||||||
#include <stdint.h>
|
#include <stdint.h>
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <termios.h>
|
|
||||||
|
|
||||||
#include "shell.h"
|
#include "shell.h"
|
||||||
#include "options.h"
|
#include "options.h"
|
||||||
|
@ -35,17 +35,17 @@
|
|||||||
# $FreeBSD$
|
# $FreeBSD$
|
||||||
|
|
||||||
temp=`/usr/bin/mktemp -t ka`
|
temp=`/usr/bin/mktemp -t ka`
|
||||||
havejobs=0
|
|
||||||
if grep '^#define[ ]*JOBS[ ]*1' shell.h > /dev/null
|
|
||||||
then havejobs=1
|
|
||||||
fi
|
|
||||||
havehist=1
|
havehist=1
|
||||||
if [ "X$1" = "X-h" ]; then
|
if [ "X$1" = "X-h" ]; then
|
||||||
havehist=0
|
havehist=0
|
||||||
shift
|
shift
|
||||||
fi
|
fi
|
||||||
objdir=$1
|
srcdir=$1
|
||||||
exec > ${objdir}/builtins.c
|
havejobs=0
|
||||||
|
if grep '^#define[ ]*JOBS[ ]*1' $srcdir/shell.h > /dev/null
|
||||||
|
then havejobs=1
|
||||||
|
fi
|
||||||
|
exec > builtins.c
|
||||||
cat <<\!
|
cat <<\!
|
||||||
/*
|
/*
|
||||||
* This file was generated by the mkbuiltins program.
|
* This file was generated by the mkbuiltins program.
|
||||||
@ -57,7 +57,7 @@ cat <<\!
|
|||||||
|
|
||||||
!
|
!
|
||||||
awk '/^[^#]/ {if(('$havejobs' || $2 != "-j") && ('$havehist' || $2 != "-h")) \
|
awk '/^[^#]/ {if(('$havejobs' || $2 != "-j") && ('$havehist' || $2 != "-h")) \
|
||||||
print $0}' builtins.def | sed 's/-[hj]//' > $temp
|
print $0}' $srcdir/builtins.def | sed 's/-[hj]//' > $temp
|
||||||
echo 'int (*const builtinfunc[])(int, char **) = {'
|
echo 'int (*const builtinfunc[])(int, char **) = {'
|
||||||
awk '/^[^#]/ { printf "\t%s,\n", $1}' $temp
|
awk '/^[^#]/ { printf "\t%s,\n", $1}' $temp
|
||||||
echo '};
|
echo '};
|
||||||
@ -74,7 +74,7 @@ awk '{ for (i = 2 ; i <= NF ; i++) {
|
|||||||
echo ' { NULL, 0, 0 }
|
echo ' { NULL, 0, 0 }
|
||||||
};'
|
};'
|
||||||
|
|
||||||
exec > ${objdir}/builtins.h
|
exec > builtins.h
|
||||||
cat <<\!
|
cat <<\!
|
||||||
/*
|
/*
|
||||||
* This file was generated by the mkbuiltins program.
|
* This file was generated by the mkbuiltins program.
|
||||||
|
@ -375,8 +375,8 @@ The following is a list of valid operators:
|
|||||||
.Bl -tag -width indent
|
.Bl -tag -width indent
|
||||||
.It Control operators:
|
.It Control operators:
|
||||||
.Bl -column "XXX" "XXX" "XXX" "XXX" "XXX" -offset center -compact
|
.Bl -column "XXX" "XXX" "XXX" "XXX" "XXX" -offset center -compact
|
||||||
.It Li & Ta Li && Ta Li ( Ta Li ) Ta Li \en
|
.It Li & Ta Li && Ta Li \&( Ta Li \&) Ta Li \en
|
||||||
.It Li ;; Ta Li ;& Ta Li ; Ta Li | Ta Li ||
|
.It Li ;; Ta Li ;& Ta Li \&; Ta Li \&| Ta Li ||
|
||||||
.El
|
.El
|
||||||
.It Redirection operators:
|
.It Redirection operators:
|
||||||
.Bl -column "XXX" "XXX" "XXX" "XXX" "XXX" -offset center -compact
|
.Bl -column "XXX" "XXX" "XXX" "XXX" "XXX" -offset center -compact
|
||||||
|
@ -43,7 +43,7 @@
|
|||||||
.Nm
|
.Nm
|
||||||
.Ar expression
|
.Ar expression
|
||||||
.Nm \&[
|
.Nm \&[
|
||||||
.Ar expression Cm ]
|
.Ar expression Cm \&]
|
||||||
.Sh DESCRIPTION
|
.Sh DESCRIPTION
|
||||||
The
|
The
|
||||||
.Nm
|
.Nm
|
||||||
|
@ -24,7 +24,7 @@
|
|||||||
.\"
|
.\"
|
||||||
.\" $FreeBSD$
|
.\" $FreeBSD$
|
||||||
.\"
|
.\"
|
||||||
.Dd September 7, 2005
|
.Dd May 23, 2012
|
||||||
.Dt UUIDGEN 1
|
.Dt UUIDGEN 1
|
||||||
.Os
|
.Os
|
||||||
.Sh NAME
|
.Sh NAME
|
||||||
@ -52,8 +52,11 @@ instructs
|
|||||||
to not generate them in batch, but one at a time.
|
to not generate them in batch, but one at a time.
|
||||||
.It Fl n
|
.It Fl n
|
||||||
This option controls the number of identifiers generated.
|
This option controls the number of identifiers generated.
|
||||||
By default, multiple
|
By default, multiple identifiers are generated in batch.
|
||||||
identifiers are generated in batch.
|
The upper hard limit is 2048
|
||||||
|
.Po see
|
||||||
|
.Xr uuidgen 2
|
||||||
|
.Pc .
|
||||||
.It Fl o
|
.It Fl o
|
||||||
Redirect output to
|
Redirect output to
|
||||||
.Ar filename
|
.Ar filename
|
||||||
|
@ -27,11 +27,11 @@
|
|||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#include_next <stdlib.h>
|
||||||
|
|
||||||
#ifndef _COMPAT_OPENSOLARIS_STDLIB_H_
|
#ifndef _COMPAT_OPENSOLARIS_STDLIB_H_
|
||||||
#define _COMPAT_OPENSOLARIS_STDLIB_H_
|
#define _COMPAT_OPENSOLARIS_STDLIB_H_
|
||||||
|
|
||||||
#include_next <stdlib.h>
|
|
||||||
|
|
||||||
#define getexecname getprogname
|
#define getexecname getprogname
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@ -45,7 +45,7 @@ devid_str_decode(char *devidstr, ddi_devid_t *retdevid, char **retminor_name)
|
|||||||
return (EINVAL);
|
return (EINVAL);
|
||||||
}
|
}
|
||||||
*retminor_name = strdup("");
|
*retminor_name = strdup("");
|
||||||
if (*retminor_name == NULL);
|
if (*retminor_name == NULL)
|
||||||
return (ENOMEM);
|
return (ENOMEM);
|
||||||
return (0);
|
return (0);
|
||||||
}
|
}
|
||||||
|
5
cddl/contrib/dtracetoolkit/Apps/Readme
Normal file
5
cddl/contrib/dtracetoolkit/Apps/Readme
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
Apps - Specific Application based analysis
|
||||||
|
|
||||||
|
These are DTrace scripts that are written to analyse a particular
|
||||||
|
application or applictaion layer protocol. For example, Apache or NFS
|
||||||
|
scripts would appear here.
|
132
cddl/contrib/dtracetoolkit/Apps/httpdstat.d
Executable file
132
cddl/contrib/dtracetoolkit/Apps/httpdstat.d
Executable file
@ -0,0 +1,132 @@
|
|||||||
|
#!/usr/sbin/dtrace -s
|
||||||
|
/*
|
||||||
|
* httpdstat.d - realtime httpd statistics. Uses DTrace.
|
||||||
|
*
|
||||||
|
* $Id: httpdstat.d 2 2007-08-01 10:01:43Z brendan $
|
||||||
|
*
|
||||||
|
* USAGE: httpdstat.d [interval [count]]
|
||||||
|
*
|
||||||
|
* interval seconds
|
||||||
|
* count number of samples
|
||||||
|
*
|
||||||
|
* FIELDS:
|
||||||
|
* TIME Time, string
|
||||||
|
* NUM Number of connections
|
||||||
|
* GET Number of "GET"s
|
||||||
|
* POST Number of "POST"s
|
||||||
|
* HEAD Number of "HEAD"s
|
||||||
|
* TRACE Number of "TRACE"s
|
||||||
|
*
|
||||||
|
* All of the statistics are printed as a value per interval (not per second).
|
||||||
|
*
|
||||||
|
* NOTE: This version does not process subsequent operations on keepalives.
|
||||||
|
*
|
||||||
|
* IDEA: Ryan Matteson (who first wrote a solution to this).
|
||||||
|
*
|
||||||
|
* COPYRIGHT: Copyright (c) 2005 Brendan Gregg.
|
||||||
|
*
|
||||||
|
* CDDL HEADER START
|
||||||
|
*
|
||||||
|
* The contents of this file are subject to the terms of the
|
||||||
|
* Common Development and Distribution License, Version 1.0 only
|
||||||
|
* (the "License"). You may not use this file except in compliance
|
||||||
|
* with the License.
|
||||||
|
*
|
||||||
|
* You can obtain a copy of the license at Docs/cddl1.txt
|
||||||
|
* or http://www.opensolaris.org/os/licensing.
|
||||||
|
* See the License for the specific language governing permissions
|
||||||
|
* and limitations under the License.
|
||||||
|
*
|
||||||
|
* CDDL HEADER END
|
||||||
|
*
|
||||||
|
* 20-Nov-2005 Brendan Gregg Created this.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#pragma D option quiet
|
||||||
|
#pragma D option defaultargs
|
||||||
|
|
||||||
|
inline int SCREEN = 21;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Program Start
|
||||||
|
*/
|
||||||
|
dtrace:::BEGIN
|
||||||
|
{
|
||||||
|
num = 0; get = 0; head = 0; post = 0; trac = 0;
|
||||||
|
lines = SCREEN + 1;
|
||||||
|
secs = $1 ? $1 : 1;
|
||||||
|
counts = $2 ? $2 : -1;
|
||||||
|
first = 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
profile:::tick-1sec
|
||||||
|
{
|
||||||
|
secs--;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Print Header
|
||||||
|
*/
|
||||||
|
dtrace:::BEGIN,
|
||||||
|
profile:::tick-1sec
|
||||||
|
/first || (secs == 0 && lines > SCREEN)/
|
||||||
|
{
|
||||||
|
printf("%-20s %6s %6s %5s %5s %5s\n", "TIME",
|
||||||
|
"NUM", "GET", "POST", "HEAD", "TRACE");
|
||||||
|
lines = 0;
|
||||||
|
first = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Track Accept Events
|
||||||
|
*/
|
||||||
|
syscall::accept:return
|
||||||
|
/execname == "httpd"/
|
||||||
|
{
|
||||||
|
self->buf = 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
syscall::read:entry
|
||||||
|
/self->buf/
|
||||||
|
{
|
||||||
|
self->buf = arg1;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Tally Data
|
||||||
|
*/
|
||||||
|
syscall::read:return
|
||||||
|
/self->buf && arg0/
|
||||||
|
{
|
||||||
|
this->str = (char *)copyin(self->buf, arg0);
|
||||||
|
this->str[4] = '\0';
|
||||||
|
get += stringof(this->str) == "GET " ? 1 : 0;
|
||||||
|
post += stringof(this->str) == "POST" ? 1 : 0;
|
||||||
|
head += stringof(this->str) == "HEAD" ? 1 : 0;
|
||||||
|
trac += stringof(this->str) == "TRAC" ? 1 : 0;
|
||||||
|
num++;
|
||||||
|
self->buf = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Print Output
|
||||||
|
*/
|
||||||
|
profile:::tick-1sec
|
||||||
|
/secs == 0/
|
||||||
|
{
|
||||||
|
printf("%-20Y %6d %6d %5d %5d %5d\n", walltimestamp,
|
||||||
|
num, get, post, head, trac);
|
||||||
|
num = 0; get = 0; head = 0; post = 0; trac = 0;
|
||||||
|
secs = $1 ? $1 : 1;
|
||||||
|
lines++;
|
||||||
|
counts--;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* End
|
||||||
|
*/
|
||||||
|
profile:::tick-1sec
|
||||||
|
/counts == 0/
|
||||||
|
{
|
||||||
|
exit(0);
|
||||||
|
}
|
102
cddl/contrib/dtracetoolkit/Apps/nfswizard.d
Executable file
102
cddl/contrib/dtracetoolkit/Apps/nfswizard.d
Executable file
@ -0,0 +1,102 @@
|
|||||||
|
#!/usr/sbin/dtrace -s
|
||||||
|
/*
|
||||||
|
* nfswizard.d - nfs client activity wizard.
|
||||||
|
* Written using DTrace (Solaris 10 3/05).
|
||||||
|
*
|
||||||
|
* This examines activity caused by NFS client processes on the same server
|
||||||
|
* that you are running this script on. A detailed report is generated
|
||||||
|
* to explain various details of NFS client activity, including response
|
||||||
|
* times and file access.
|
||||||
|
*
|
||||||
|
* $Id: nfswizard.d 3 2007-08-01 10:50:08Z brendan $
|
||||||
|
*
|
||||||
|
* USAGE: nfswizard.d # hit Ctrl-C to end sample
|
||||||
|
*
|
||||||
|
* COPYRIGHT: Copyright (c) 2005, 2006 Brendan Gregg.
|
||||||
|
*
|
||||||
|
* CDDL HEADER START
|
||||||
|
*
|
||||||
|
* The contents of this file are subject to the terms of the
|
||||||
|
* Common Development and Distribution License, Version 1.0 only
|
||||||
|
* (the "License"). You may not use this file except in compliance
|
||||||
|
* with the License.
|
||||||
|
*
|
||||||
|
* You can obtain a copy of the license at Docs/cddl1.txt
|
||||||
|
* or http://www.opensolaris.org/os/licensing.
|
||||||
|
* See the License for the specific language governing permissions
|
||||||
|
* and limitations under the License.
|
||||||
|
*
|
||||||
|
* CDDL HEADER END
|
||||||
|
*
|
||||||
|
* 02-Dec-2005 Brendan Gregg Created this.
|
||||||
|
* 20-Apr-2006 " " Last update.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#pragma D option quiet
|
||||||
|
|
||||||
|
dtrace:::BEGIN
|
||||||
|
{
|
||||||
|
printf("Tracing... Hit Ctrl-C to end.\n");
|
||||||
|
scriptstart = walltimestamp;
|
||||||
|
timestart = timestamp;
|
||||||
|
}
|
||||||
|
|
||||||
|
io:nfs::start
|
||||||
|
{
|
||||||
|
/* tally file sizes */
|
||||||
|
@file[args[2]->fi_pathname] = sum(args[0]->b_bcount);
|
||||||
|
|
||||||
|
/* time response */
|
||||||
|
start[args[0]->b_addr] = timestamp;
|
||||||
|
|
||||||
|
/* overall stats */
|
||||||
|
@rbytes = sum(args[0]->b_flags & B_READ ? args[0]->b_bcount : 0);
|
||||||
|
@wbytes = sum(args[0]->b_flags & B_READ ? 0 : args[0]->b_bcount);
|
||||||
|
@events = count();
|
||||||
|
}
|
||||||
|
|
||||||
|
io:nfs::done
|
||||||
|
/start[args[0]->b_addr]/
|
||||||
|
{
|
||||||
|
/* calculate and save response time stats */
|
||||||
|
this->elapsed = timestamp - start[args[0]->b_addr];
|
||||||
|
@maxtime = max(this->elapsed);
|
||||||
|
@avgtime = avg(this->elapsed);
|
||||||
|
@qnztime = quantize(this->elapsed / 1000);
|
||||||
|
}
|
||||||
|
|
||||||
|
dtrace:::END
|
||||||
|
{
|
||||||
|
/* print header */
|
||||||
|
printf("NFS Client Wizard. %Y -> %Y\n\n", scriptstart, walltimestamp);
|
||||||
|
|
||||||
|
/* print read/write stats */
|
||||||
|
printa("Read: %@d bytes ", @rbytes);
|
||||||
|
normalize(@rbytes, 1000000);
|
||||||
|
printa("(%@d Mb)\n", @rbytes);
|
||||||
|
printa("Write: %@d bytes ", @wbytes);
|
||||||
|
normalize(@wbytes, 1000000);
|
||||||
|
printa("(%@d Mb)\n\n", @wbytes);
|
||||||
|
|
||||||
|
/* print throughput stats */
|
||||||
|
denormalize(@rbytes);
|
||||||
|
normalize(@rbytes, (timestamp - timestart) / 1000000);
|
||||||
|
printa("Read: %@d Kb/sec\n", @rbytes);
|
||||||
|
denormalize(@wbytes);
|
||||||
|
normalize(@wbytes, (timestamp - timestart) / 1000000);
|
||||||
|
printa("Write: %@d Kb/sec\n\n", @wbytes);
|
||||||
|
|
||||||
|
/* print time stats */
|
||||||
|
printa("NFS I/O events: %@d\n", @events);
|
||||||
|
normalize(@avgtime, 1000000);
|
||||||
|
printa("Avg response time: %@d ms\n", @avgtime);
|
||||||
|
normalize(@maxtime, 1000000);
|
||||||
|
printa("Max response time: %@d ms\n\n", @maxtime);
|
||||||
|
printa("Response times (us):%@d\n", @qnztime);
|
||||||
|
|
||||||
|
/* print file stats */
|
||||||
|
printf("Top 25 files accessed (bytes):\n");
|
||||||
|
printf(" %-64s %s\n", "PATHNAME", "BYTES");
|
||||||
|
trunc(@file, 25);
|
||||||
|
printa(" %-64s %@d\n", @file);
|
||||||
|
}
|
268
cddl/contrib/dtracetoolkit/Apps/shellsnoop
Executable file
268
cddl/contrib/dtracetoolkit/Apps/shellsnoop
Executable file
@ -0,0 +1,268 @@
|
|||||||
|
#!/usr/bin/sh
|
||||||
|
#
|
||||||
|
# shellsnoop - A program to print read/write details from shells,
|
||||||
|
# such as keystrokes and command outputs.
|
||||||
|
# Written using DTrace (Solaris 10 3/05).
|
||||||
|
#
|
||||||
|
# This program sounds somewhat dangerous (snooping keystrokes), but is
|
||||||
|
# no more so than /usr/bin/truss, and both need root or dtrace privileges to
|
||||||
|
# run. In fact, less dangerous, as we only print visible text (not password
|
||||||
|
# text, for example). Having said that, it goes without saying that this
|
||||||
|
# program shouldn't be used for breeching privacy of other users.
|
||||||
|
#
|
||||||
|
# This was written as a tool to demonstrate the capabilities of DTrace.
|
||||||
|
#
|
||||||
|
# $Id: shellsnoop 19 2007-09-12 07:47:59Z brendan $
|
||||||
|
#
|
||||||
|
# USAGE: shellsnoop [-hqsv] [-p PID] [-u UID]
|
||||||
|
#
|
||||||
|
# -q # quiet, only print data
|
||||||
|
# -s # include start time, us
|
||||||
|
# -v # include start time, string
|
||||||
|
# -p PID # process ID to snoop
|
||||||
|
# -u UID # user ID to snoop
|
||||||
|
# eg,
|
||||||
|
# shellsnoop # default output
|
||||||
|
# shellsnoop -v # human readable timestamps
|
||||||
|
# shellsnoop -p 1892 # snoop this PID only
|
||||||
|
# shellsnoop -qp 1892 # watch this PID data only
|
||||||
|
#
|
||||||
|
# FIELDS:
|
||||||
|
# UID User ID
|
||||||
|
# PID process ID
|
||||||
|
# PPID parent process ID
|
||||||
|
# COMM command name
|
||||||
|
# DIR direction (R read, W write)
|
||||||
|
# TEXT text contained in the read/write
|
||||||
|
# TIME timestamp for the command, us
|
||||||
|
# STRTIME timestamp for the command, string
|
||||||
|
#
|
||||||
|
# SEE ALSO: ttywatcher
|
||||||
|
#
|
||||||
|
# COPYRIGHT: Copyright (c) 2005 Brendan Gregg.
|
||||||
|
#
|
||||||
|
# CDDL HEADER START
|
||||||
|
#
|
||||||
|
# The contents of this file are subject to the terms of the
|
||||||
|
# Common Development and Distribution License, Version 1.0 only
|
||||||
|
# (the "License"). You may not use this file except in compliance
|
||||||
|
# with the License.
|
||||||
|
#
|
||||||
|
# You can obtain a copy of the license at Docs/cddl1.txt
|
||||||
|
# or http://www.opensolaris.org/os/licensing.
|
||||||
|
# See the License for the specific language governing permissions
|
||||||
|
# and limitations under the License.
|
||||||
|
#
|
||||||
|
# CDDL HEADER END
|
||||||
|
#
|
||||||
|
# Author: Brendan Gregg [Sydney, Australia]
|
||||||
|
#
|
||||||
|
# 28-Mar-2004 Brendan Gregg Created this.
|
||||||
|
# 21-Jan-2005 " " Wrapped in sh to provide options.
|
||||||
|
# 30-Nov-2005 " " Fixed trailing buffer text bug.
|
||||||
|
# 30-Nov-2005 " " Fixed sh no keystroke text in quiet bug.
|
||||||
|
# 30-Nov-2005 " " Last update.
|
||||||
|
#
|
||||||
|
|
||||||
|
|
||||||
|
##############################
|
||||||
|
# --- Process Arguments ---
|
||||||
|
#
|
||||||
|
opt_pid=0; opt_uid=0; opt_time=0; opt_timestr=0; opt_quiet=0; opt_debug=0
|
||||||
|
filter=0; pid=0; uid=0
|
||||||
|
|
||||||
|
while getopts dhp:qsu:v name
|
||||||
|
do
|
||||||
|
case $name in
|
||||||
|
d) opt_debug=1 ;;
|
||||||
|
p) opt_pid=1; pid=$OPTARG ;;
|
||||||
|
q) opt_quiet=1 ;;
|
||||||
|
s) opt_time=1 ;;
|
||||||
|
u) opt_uid=1; uid=$OPTARG ;;
|
||||||
|
v) opt_timestr=1 ;;
|
||||||
|
h|?) cat <<-END >&2
|
||||||
|
USAGE: shellsnoop [-hqsv] [-p PID] [-u UID]
|
||||||
|
shellsnoop # default output
|
||||||
|
-q # quiet, only print data
|
||||||
|
-s # include start time, us
|
||||||
|
-v # include start time, string
|
||||||
|
-p PID # process ID to snoop
|
||||||
|
-u UID # user ID to snoop
|
||||||
|
END
|
||||||
|
exit 1
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
|
||||||
|
if [ $opt_quiet -eq 1 ]; then
|
||||||
|
opt_time=0; opt_timestr=0
|
||||||
|
fi
|
||||||
|
if [ $opt_pid -eq 1 -o $opt_uid -eq 1 ]; then
|
||||||
|
filter=1
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
#################################
|
||||||
|
# --- Main Program, DTrace ---
|
||||||
|
#
|
||||||
|
dtrace -n '
|
||||||
|
/*
|
||||||
|
* Command line arguments
|
||||||
|
*/
|
||||||
|
inline int OPT_debug = '$opt_debug';
|
||||||
|
inline int OPT_quiet = '$opt_quiet';
|
||||||
|
inline int OPT_pid = '$opt_pid';
|
||||||
|
inline int OPT_uid = '$opt_uid';
|
||||||
|
inline int OPT_time = '$opt_time';
|
||||||
|
inline int OPT_timestr = '$opt_timestr';
|
||||||
|
inline int FILTER = '$filter';
|
||||||
|
inline int PID = '$pid';
|
||||||
|
inline int UID = '$uid';
|
||||||
|
|
||||||
|
#pragma D option quiet
|
||||||
|
#pragma D option switchrate=20hz
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Print header
|
||||||
|
*/
|
||||||
|
dtrace:::BEGIN /OPT_time == 1/
|
||||||
|
{
|
||||||
|
printf("%-14s ","TIME");
|
||||||
|
}
|
||||||
|
dtrace:::BEGIN /OPT_timestr == 1/
|
||||||
|
{
|
||||||
|
printf("%-20s ","STRTIME");
|
||||||
|
}
|
||||||
|
dtrace:::BEGIN /OPT_quiet == 0/
|
||||||
|
{
|
||||||
|
printf("%5s %5s %8s %3s %s\n", "PID", "PPID", "CMD", "DIR", "TEXT");
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Remember this PID is a shell child
|
||||||
|
*/
|
||||||
|
syscall::exec:entry, syscall::exece:entry
|
||||||
|
/execname == "sh" || execname == "ksh" || execname == "csh" ||
|
||||||
|
execname == "tcsh" || execname == "zsh" || execname == "bash"/
|
||||||
|
{
|
||||||
|
child[pid] = 1;
|
||||||
|
|
||||||
|
/* debug */
|
||||||
|
this->parent = (char *)curthread->t_procp->p_parent->p_user.u_comm;
|
||||||
|
OPT_debug == 1 ? printf("PID %d CMD %s started. (%s)\n",
|
||||||
|
pid, execname, stringof(this->parent)) : 1;
|
||||||
|
}
|
||||||
|
syscall::exec:entry, syscall::exece:entry
|
||||||
|
/(OPT_pid == 1 && PID != ppid) || (OPT_uid == 1 && UID != uid)/
|
||||||
|
{
|
||||||
|
/* forget if filtered */
|
||||||
|
child[pid] = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Print shell keystrokes
|
||||||
|
*/
|
||||||
|
syscall::write:entry, syscall::read:entry
|
||||||
|
/(execname == "sh" || execname == "ksh" || execname == "csh" ||
|
||||||
|
execname == "tcsh" || execname == "zsh" || execname == "bash")
|
||||||
|
&& (arg0 >= 0 && arg0 <= 2)/
|
||||||
|
{
|
||||||
|
self->buf = arg1;
|
||||||
|
}
|
||||||
|
syscall::write:entry, syscall::read:entry
|
||||||
|
/(OPT_pid == 1 && PID != pid) || (OPT_uid == 1 && UID != uid)/
|
||||||
|
{
|
||||||
|
self->buf = 0;
|
||||||
|
}
|
||||||
|
syscall::write:return, syscall::read:return
|
||||||
|
/self->buf && child[pid] == 0 && OPT_time == 1/
|
||||||
|
{
|
||||||
|
printf("%-14d ", timestamp/1000);
|
||||||
|
}
|
||||||
|
syscall::write:return, syscall::read:return
|
||||||
|
/self->buf && child[pid] == 0 && OPT_timestr == 1/
|
||||||
|
{
|
||||||
|
printf("%-20Y ", walltimestamp);
|
||||||
|
}
|
||||||
|
syscall::write:return, syscall::read:return
|
||||||
|
/self->buf && child[pid] == 0 && OPT_quiet == 0/
|
||||||
|
{
|
||||||
|
this->text = (char *)copyin(self->buf, arg0);
|
||||||
|
this->text[arg0] = '\'\\0\'';
|
||||||
|
|
||||||
|
printf("%5d %5d %8s %3s %s\n", pid, curpsinfo->pr_ppid, execname,
|
||||||
|
probefunc == "read" ? "R" : "W", stringof(this->text));
|
||||||
|
}
|
||||||
|
syscall::write:return
|
||||||
|
/self->buf && child[pid] == 0 && OPT_quiet == 1/
|
||||||
|
{
|
||||||
|
this->text = (char *)copyin(self->buf, arg0);
|
||||||
|
this->text[arg0] = '\'\\0\'';
|
||||||
|
printf("%s", stringof(this->text));
|
||||||
|
}
|
||||||
|
syscall::read:return
|
||||||
|
/self->buf && execname == "sh" && child[pid] == 0 && OPT_quiet == 1/
|
||||||
|
{
|
||||||
|
this->text = (char *)copyin(self->buf, arg0);
|
||||||
|
this->text[arg0] = '\'\\0\'';
|
||||||
|
printf("%s", stringof(this->text));
|
||||||
|
}
|
||||||
|
syscall::write:return, syscall::read:return
|
||||||
|
/self->buf && child[pid] == 0/
|
||||||
|
{
|
||||||
|
self->buf = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Print command output
|
||||||
|
*/
|
||||||
|
syscall::write:entry, syscall::read:entry
|
||||||
|
/child[pid] == 1 && (arg0 == 1 || arg0 == 2)/
|
||||||
|
{
|
||||||
|
self->buf = arg1;
|
||||||
|
}
|
||||||
|
syscall::write:return, syscall::read:return
|
||||||
|
/self->buf && OPT_time == 1/
|
||||||
|
{
|
||||||
|
printf("%-14d ", timestamp/1000);
|
||||||
|
}
|
||||||
|
syscall::write:return, syscall::read:return
|
||||||
|
/self->buf && OPT_timestr == 1/
|
||||||
|
{
|
||||||
|
printf("%-20Y ", walltimestamp);
|
||||||
|
}
|
||||||
|
syscall::write:return, syscall::read:return
|
||||||
|
/self->buf && OPT_quiet == 0/
|
||||||
|
{
|
||||||
|
this->text = (char *)copyin(self->buf, arg0);
|
||||||
|
this->text[arg0] = '\'\\0\'';
|
||||||
|
|
||||||
|
printf("%5d %5d %8s %3s %s", pid, curpsinfo->pr_ppid, execname,
|
||||||
|
probefunc == "read" ? "R" : "W", stringof(this->text));
|
||||||
|
|
||||||
|
/* here we check if a newline is needed */
|
||||||
|
this->length = strlen(this->text);
|
||||||
|
printf("%s", this->text[this->length - 1] == '\'\\n\'' ? "" : "\n");
|
||||||
|
self->buf = 0;
|
||||||
|
}
|
||||||
|
syscall::write:return, syscall::read:return
|
||||||
|
/self->buf && OPT_quiet == 1/
|
||||||
|
{
|
||||||
|
this->text = (char *)copyin(self->buf, arg0);
|
||||||
|
this->text[arg0] = '\'\\0\'';
|
||||||
|
printf("%s", stringof(this->text));
|
||||||
|
self->buf = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Cleanup
|
||||||
|
*/
|
||||||
|
syscall::rexit:entry
|
||||||
|
{
|
||||||
|
child[pid] = 0;
|
||||||
|
|
||||||
|
/* debug */
|
||||||
|
this->parent = (char *)curthread->t_procp->p_parent->p_user.u_comm;
|
||||||
|
OPT_debug == 1 ? printf("PID %d CMD %s exited. (%s)\n",
|
||||||
|
pid, execname, stringof(this->parent)) : 1;
|
||||||
|
}
|
||||||
|
'
|
186
cddl/contrib/dtracetoolkit/Apps/weblatency.d
Executable file
186
cddl/contrib/dtracetoolkit/Apps/weblatency.d
Executable file
@ -0,0 +1,186 @@
|
|||||||
|
#!/usr/sbin/dtrace -s
|
||||||
|
/*
|
||||||
|
* weblatency.d - website latency statistics.
|
||||||
|
* Written using DTrace (Solaris 10 3/05).
|
||||||
|
*
|
||||||
|
* $Id: weblatency.d 3 2007-08-01 10:50:08Z brendan $
|
||||||
|
*
|
||||||
|
* USAGE: weblatency.d # hit Ctrl-C to end sample
|
||||||
|
*
|
||||||
|
* See the code below for the "BROWSER" variable, which sets the browser
|
||||||
|
* to trace (currently set to "mozilla-bin").
|
||||||
|
*
|
||||||
|
* This is written as an experimental tool, and may not work at all with
|
||||||
|
* your browser.
|
||||||
|
*
|
||||||
|
* FIELDS:
|
||||||
|
* HOST Hostname from URL
|
||||||
|
* NUM Number of GETs
|
||||||
|
* AVGTIME(ms) Average time for response, ms
|
||||||
|
* MAXTIME(ms) Maximum time for response, ms
|
||||||
|
*
|
||||||
|
* NOTE:
|
||||||
|
*
|
||||||
|
* The latency measured here is from the browser sending the GET
|
||||||
|
* request to when the browser begins to recieve the response. It
|
||||||
|
* is an overall response time for the client, and encompasses
|
||||||
|
* connection speed delays, DNS lookups, proxy delays, and web server
|
||||||
|
* response time.
|
||||||
|
*
|
||||||
|
* IDEA: Bryan Cantrill (who wrote an elegant version for Sol 10 update 1)
|
||||||
|
*
|
||||||
|
* COPYRIGHT: Copyright (c) 2005, 2006 Brendan Gregg.
|
||||||
|
*
|
||||||
|
* CDDL HEADER START
|
||||||
|
*
|
||||||
|
* The contents of this file are subject to the terms of the
|
||||||
|
* Common Development and Distribution License, Version 1.0 only
|
||||||
|
* (the "License"). You may not use this file except in compliance
|
||||||
|
* with the License.
|
||||||
|
*
|
||||||
|
* You can obtain a copy of the license at Docs/cddl1.txt
|
||||||
|
* or http://www.opensolaris.org/os/licensing.
|
||||||
|
* See the License for the specific language governing permissions
|
||||||
|
* and limitations under the License.
|
||||||
|
*
|
||||||
|
* CDDL HEADER END
|
||||||
|
*
|
||||||
|
* ToDo:
|
||||||
|
* Check write fd for socket, not file.
|
||||||
|
*
|
||||||
|
* 30-Nov-2005 Brendan Gregg Created this.
|
||||||
|
* 20-Apr-2006 " " Last update.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#pragma D option quiet
|
||||||
|
|
||||||
|
/* browser's execname */
|
||||||
|
inline string BROWSER = "mozilla-bin";
|
||||||
|
|
||||||
|
/* maximum expected hostname length + "GET http://" */
|
||||||
|
inline int MAX_REQ = 64;
|
||||||
|
|
||||||
|
dtrace:::BEGIN
|
||||||
|
{
|
||||||
|
printf("Tracing... Hit Ctrl-C to end.\n");
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Trace brower request
|
||||||
|
*
|
||||||
|
* This is achieved by matching writes for the browser's execname that
|
||||||
|
* start with "GET", and then timing from the return of the write to
|
||||||
|
* the return of the next read in the same thread. Various stateful flags
|
||||||
|
* are used: self->fd, self->read.
|
||||||
|
*
|
||||||
|
* For performance reasons, I'd like to only process writes that follow a
|
||||||
|
* connect(), however this approach fails to process keepalives.
|
||||||
|
*/
|
||||||
|
syscall::write:entry
|
||||||
|
/execname == BROWSER/
|
||||||
|
{
|
||||||
|
self->buf = arg1;
|
||||||
|
self->fd = arg0 + 1;
|
||||||
|
self->nam = "";
|
||||||
|
}
|
||||||
|
|
||||||
|
syscall::write:return
|
||||||
|
/self->fd/
|
||||||
|
{
|
||||||
|
this->str = (char *)copyin(self->buf, MAX_REQ);
|
||||||
|
this->str[4] = '\0';
|
||||||
|
self->fd = stringof(this->str) == "GET " ? self->fd : 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
syscall::write:return
|
||||||
|
/self->fd/
|
||||||
|
{
|
||||||
|
/* fetch browser request */
|
||||||
|
this->str = (char *)copyin(self->buf, MAX_REQ);
|
||||||
|
this->str[MAX_REQ] = '\0';
|
||||||
|
|
||||||
|
/*
|
||||||
|
* This unrolled loop strips down a URL to it's hostname.
|
||||||
|
* We ought to use strtok(), but it's not available on Sol 10 3/05,
|
||||||
|
* so instead I used dirname(). It's not pretty - it's done so that
|
||||||
|
* this works on all Sol 10 versions.
|
||||||
|
*/
|
||||||
|
self->req = stringof(this->str);
|
||||||
|
self->nam = strlen(self->req) > 15 ? self->req : self->nam;
|
||||||
|
self->req = dirname(self->req);
|
||||||
|
self->nam = strlen(self->req) > 15 ? self->req : self->nam;
|
||||||
|
self->req = dirname(self->req);
|
||||||
|
self->nam = strlen(self->req) > 15 ? self->req : self->nam;
|
||||||
|
self->req = dirname(self->req);
|
||||||
|
self->nam = strlen(self->req) > 15 ? self->req : self->nam;
|
||||||
|
self->req = dirname(self->req);
|
||||||
|
self->nam = strlen(self->req) > 15 ? self->req : self->nam;
|
||||||
|
self->req = dirname(self->req);
|
||||||
|
self->nam = strlen(self->req) > 15 ? self->req : self->nam;
|
||||||
|
self->req = dirname(self->req);
|
||||||
|
self->nam = strlen(self->req) > 15 ? self->req : self->nam;
|
||||||
|
self->req = dirname(self->req);
|
||||||
|
self->nam = strlen(self->req) > 15 ? self->req : self->nam;
|
||||||
|
self->req = dirname(self->req);
|
||||||
|
self->nam = strlen(self->req) > 15 ? self->req : self->nam;
|
||||||
|
self->nam = basename(self->nam);
|
||||||
|
|
||||||
|
/* start the timer */
|
||||||
|
start[pid, self->fd - 1] = timestamp;
|
||||||
|
host[pid, self->fd - 1] = self->nam;
|
||||||
|
self->buf = 0;
|
||||||
|
self->fd = 0;
|
||||||
|
self->req = 0;
|
||||||
|
self->nam = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* this one wasn't a GET */
|
||||||
|
syscall::write:return
|
||||||
|
/self->buf/
|
||||||
|
{
|
||||||
|
self->buf = 0;
|
||||||
|
self->fd = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
syscall::read:entry
|
||||||
|
/execname == BROWSER && start[pid, arg0]/
|
||||||
|
{
|
||||||
|
self->fd = arg0 + 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Record host details
|
||||||
|
*/
|
||||||
|
syscall::read:return
|
||||||
|
/self->fd/
|
||||||
|
{
|
||||||
|
/* fetch details */
|
||||||
|
self->host = stringof(host[pid, self->fd - 1]);
|
||||||
|
this->start = start[pid, self->fd - 1];
|
||||||
|
|
||||||
|
/* save details */
|
||||||
|
@Avg[self->host] = avg((timestamp - this->start)/1000000);
|
||||||
|
@Max[self->host] = max((timestamp - this->start)/1000000);
|
||||||
|
@Num[self->host] = count();
|
||||||
|
|
||||||
|
/* clear vars */
|
||||||
|
start[pid, self->fd - 1] = 0;
|
||||||
|
host[pid, self->fd - 1] = 0;
|
||||||
|
self->host = 0;
|
||||||
|
self->fd = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Output report
|
||||||
|
*/
|
||||||
|
dtrace:::END
|
||||||
|
{
|
||||||
|
printf("%-32s %11s\n", "HOST", "NUM");
|
||||||
|
printa("%-32s %@11d\n", @Num);
|
||||||
|
|
||||||
|
printf("\n%-32s %11s\n", "HOST", "AVGTIME(ms)");
|
||||||
|
printa("%-32s %@11d\n", @Avg);
|
||||||
|
|
||||||
|
printf("\n%-32s %11s\n", "HOST", "MAXTIME(ms)");
|
||||||
|
printa("%-32s %@11d\n", @Max);
|
||||||
|
}
|
1
cddl/contrib/dtracetoolkit/Bin/anonpgpid.d
Symbolic link
1
cddl/contrib/dtracetoolkit/Bin/anonpgpid.d
Symbolic link
@ -0,0 +1 @@
|
|||||||
|
../Mem/anonpgpid.d
|
1
cddl/contrib/dtracetoolkit/Bin/bitesize.d
Symbolic link
1
cddl/contrib/dtracetoolkit/Bin/bitesize.d
Symbolic link
@ -0,0 +1 @@
|
|||||||
|
../Disk/bitesize.d
|
1
cddl/contrib/dtracetoolkit/Bin/connections
Symbolic link
1
cddl/contrib/dtracetoolkit/Bin/connections
Symbolic link
@ -0,0 +1 @@
|
|||||||
|
../Net/connections
|
1
cddl/contrib/dtracetoolkit/Bin/cpudists
Symbolic link
1
cddl/contrib/dtracetoolkit/Bin/cpudists
Symbolic link
@ -0,0 +1 @@
|
|||||||
|
../Kernel/cpudists
|
1
cddl/contrib/dtracetoolkit/Bin/cputimes
Symbolic link
1
cddl/contrib/dtracetoolkit/Bin/cputimes
Symbolic link
@ -0,0 +1 @@
|
|||||||
|
../Kernel/cputimes
|
1
cddl/contrib/dtracetoolkit/Bin/cputypes.d
Symbolic link
1
cddl/contrib/dtracetoolkit/Bin/cputypes.d
Symbolic link
@ -0,0 +1 @@
|
|||||||
|
../Cpu/cputypes.d
|
1
cddl/contrib/dtracetoolkit/Bin/cpuwalk.d
Symbolic link
1
cddl/contrib/dtracetoolkit/Bin/cpuwalk.d
Symbolic link
@ -0,0 +1 @@
|
|||||||
|
../Cpu/cpuwalk.d
|
1
cddl/contrib/dtracetoolkit/Bin/crash.d
Symbolic link
1
cddl/contrib/dtracetoolkit/Bin/crash.d
Symbolic link
@ -0,0 +1 @@
|
|||||||
|
../Proc/crash.d
|
1
cddl/contrib/dtracetoolkit/Bin/creatbyproc.d
Symbolic link
1
cddl/contrib/dtracetoolkit/Bin/creatbyproc.d
Symbolic link
@ -0,0 +1 @@
|
|||||||
|
../Proc/creatbyproc.d
|
1
cddl/contrib/dtracetoolkit/Bin/cswstat.d
Symbolic link
1
cddl/contrib/dtracetoolkit/Bin/cswstat.d
Symbolic link
@ -0,0 +1 @@
|
|||||||
|
../Kernel/cswstat.d
|
1
cddl/contrib/dtracetoolkit/Bin/dappprof
Symbolic link
1
cddl/contrib/dtracetoolkit/Bin/dappprof
Symbolic link
@ -0,0 +1 @@
|
|||||||
|
../Proc/dappprof
|
1
cddl/contrib/dtracetoolkit/Bin/dapptrace
Symbolic link
1
cddl/contrib/dtracetoolkit/Bin/dapptrace
Symbolic link
@ -0,0 +1 @@
|
|||||||
|
../Proc/dapptrace
|
1
cddl/contrib/dtracetoolkit/Bin/dexplorer
Symbolic link
1
cddl/contrib/dtracetoolkit/Bin/dexplorer
Symbolic link
@ -0,0 +1 @@
|
|||||||
|
../dexplorer
|
1
cddl/contrib/dtracetoolkit/Bin/diskhits
Symbolic link
1
cddl/contrib/dtracetoolkit/Bin/diskhits
Symbolic link
@ -0,0 +1 @@
|
|||||||
|
../Disk/diskhits
|
1
cddl/contrib/dtracetoolkit/Bin/dispqlen.d
Symbolic link
1
cddl/contrib/dtracetoolkit/Bin/dispqlen.d
Symbolic link
@ -0,0 +1 @@
|
|||||||
|
../Cpu/dispqlen.d
|
1
cddl/contrib/dtracetoolkit/Bin/dnlcps.d
Symbolic link
1
cddl/contrib/dtracetoolkit/Bin/dnlcps.d
Symbolic link
@ -0,0 +1 @@
|
|||||||
|
../Kernel/dnlcps.d
|
1
cddl/contrib/dtracetoolkit/Bin/dnlcsnoop.d
Symbolic link
1
cddl/contrib/dtracetoolkit/Bin/dnlcsnoop.d
Symbolic link
@ -0,0 +1 @@
|
|||||||
|
../Kernel/dnlcsnoop.d
|
1
cddl/contrib/dtracetoolkit/Bin/dnlcstat
Symbolic link
1
cddl/contrib/dtracetoolkit/Bin/dnlcstat
Symbolic link
@ -0,0 +1 @@
|
|||||||
|
../Kernel/dnlcstat
|
1
cddl/contrib/dtracetoolkit/Bin/dtruss
Symbolic link
1
cddl/contrib/dtracetoolkit/Bin/dtruss
Symbolic link
@ -0,0 +1 @@
|
|||||||
|
../dtruss
|
1
cddl/contrib/dtracetoolkit/Bin/dvmstat
Symbolic link
1
cddl/contrib/dtracetoolkit/Bin/dvmstat
Symbolic link
@ -0,0 +1 @@
|
|||||||
|
../dvmstat
|
1
cddl/contrib/dtracetoolkit/Bin/errinfo
Symbolic link
1
cddl/contrib/dtracetoolkit/Bin/errinfo
Symbolic link
@ -0,0 +1 @@
|
|||||||
|
../errinfo
|
1
cddl/contrib/dtracetoolkit/Bin/execsnoop
Symbolic link
1
cddl/contrib/dtracetoolkit/Bin/execsnoop
Symbolic link
@ -0,0 +1 @@
|
|||||||
|
../execsnoop
|
1
cddl/contrib/dtracetoolkit/Bin/fddist
Symbolic link
1
cddl/contrib/dtracetoolkit/Bin/fddist
Symbolic link
@ -0,0 +1 @@
|
|||||||
|
../Proc/fddist
|
1
cddl/contrib/dtracetoolkit/Bin/filebyproc.d
Symbolic link
1
cddl/contrib/dtracetoolkit/Bin/filebyproc.d
Symbolic link
@ -0,0 +1 @@
|
|||||||
|
../Proc/filebyproc.d
|
1
cddl/contrib/dtracetoolkit/Bin/fspaging.d
Symbolic link
1
cddl/contrib/dtracetoolkit/Bin/fspaging.d
Symbolic link
@ -0,0 +1 @@
|
|||||||
|
../FS/fspaging.d
|
1
cddl/contrib/dtracetoolkit/Bin/fsrw.d
Symbolic link
1
cddl/contrib/dtracetoolkit/Bin/fsrw.d
Symbolic link
@ -0,0 +1 @@
|
|||||||
|
../FS/fsrw.d
|
1
cddl/contrib/dtracetoolkit/Bin/guess.d
Symbolic link
1
cddl/contrib/dtracetoolkit/Bin/guess.d
Symbolic link
@ -0,0 +1 @@
|
|||||||
|
../Misc/guess.d
|
1
cddl/contrib/dtracetoolkit/Bin/hotkernel
Symbolic link
1
cddl/contrib/dtracetoolkit/Bin/hotkernel
Symbolic link
@ -0,0 +1 @@
|
|||||||
|
../hotkernel
|
1
cddl/contrib/dtracetoolkit/Bin/hotspot.d
Symbolic link
1
cddl/contrib/dtracetoolkit/Bin/hotspot.d
Symbolic link
@ -0,0 +1 @@
|
|||||||
|
../Disk/hotspot.d
|
1
cddl/contrib/dtracetoolkit/Bin/hotuser
Symbolic link
1
cddl/contrib/dtracetoolkit/Bin/hotuser
Symbolic link
@ -0,0 +1 @@
|
|||||||
|
../hotuser
|
1
cddl/contrib/dtracetoolkit/Bin/httpdstat.d
Symbolic link
1
cddl/contrib/dtracetoolkit/Bin/httpdstat.d
Symbolic link
@ -0,0 +1 @@
|
|||||||
|
../Apps/httpdstat.d
|
1
cddl/contrib/dtracetoolkit/Bin/icmpstat.d
Symbolic link
1
cddl/contrib/dtracetoolkit/Bin/icmpstat.d
Symbolic link
@ -0,0 +1 @@
|
|||||||
|
../Net/icmpstat.d
|
1
cddl/contrib/dtracetoolkit/Bin/intbycpu.d
Symbolic link
1
cddl/contrib/dtracetoolkit/Bin/intbycpu.d
Symbolic link
@ -0,0 +1 @@
|
|||||||
|
../Cpu/intbycpu.d
|
1
cddl/contrib/dtracetoolkit/Bin/intoncpu.d
Symbolic link
1
cddl/contrib/dtracetoolkit/Bin/intoncpu.d
Symbolic link
@ -0,0 +1 @@
|
|||||||
|
../Cpu/intoncpu.d
|
1
cddl/contrib/dtracetoolkit/Bin/inttimes.d
Symbolic link
1
cddl/contrib/dtracetoolkit/Bin/inttimes.d
Symbolic link
@ -0,0 +1 @@
|
|||||||
|
../Cpu/inttimes.d
|
1
cddl/contrib/dtracetoolkit/Bin/iofile.d
Symbolic link
1
cddl/contrib/dtracetoolkit/Bin/iofile.d
Symbolic link
@ -0,0 +1 @@
|
|||||||
|
../Disk/iofile.d
|
1
cddl/contrib/dtracetoolkit/Bin/iofileb.d
Symbolic link
1
cddl/contrib/dtracetoolkit/Bin/iofileb.d
Symbolic link
@ -0,0 +1 @@
|
|||||||
|
../Disk/iofileb.d
|
1
cddl/contrib/dtracetoolkit/Bin/iopattern
Symbolic link
1
cddl/contrib/dtracetoolkit/Bin/iopattern
Symbolic link
@ -0,0 +1 @@
|
|||||||
|
../iopattern
|
1
cddl/contrib/dtracetoolkit/Bin/iopending
Symbolic link
1
cddl/contrib/dtracetoolkit/Bin/iopending
Symbolic link
@ -0,0 +1 @@
|
|||||||
|
../Disk/iopending
|
1
cddl/contrib/dtracetoolkit/Bin/iosnoop
Symbolic link
1
cddl/contrib/dtracetoolkit/Bin/iosnoop
Symbolic link
@ -0,0 +1 @@
|
|||||||
|
../iosnoop
|
1
cddl/contrib/dtracetoolkit/Bin/iotop
Symbolic link
1
cddl/contrib/dtracetoolkit/Bin/iotop
Symbolic link
@ -0,0 +1 @@
|
|||||||
|
../iotop
|
1
cddl/contrib/dtracetoolkit/Bin/j_calldist.d
Symbolic link
1
cddl/contrib/dtracetoolkit/Bin/j_calldist.d
Symbolic link
@ -0,0 +1 @@
|
|||||||
|
../Java/j_calldist.d
|
1
cddl/contrib/dtracetoolkit/Bin/j_calls.d
Symbolic link
1
cddl/contrib/dtracetoolkit/Bin/j_calls.d
Symbolic link
@ -0,0 +1 @@
|
|||||||
|
../Java/j_calls.d
|
1
cddl/contrib/dtracetoolkit/Bin/j_calltime.d
Symbolic link
1
cddl/contrib/dtracetoolkit/Bin/j_calltime.d
Symbolic link
@ -0,0 +1 @@
|
|||||||
|
../Java/j_calltime.d
|
1
cddl/contrib/dtracetoolkit/Bin/j_classflow.d
Symbolic link
1
cddl/contrib/dtracetoolkit/Bin/j_classflow.d
Symbolic link
@ -0,0 +1 @@
|
|||||||
|
../Java/j_classflow.d
|
1
cddl/contrib/dtracetoolkit/Bin/j_cpudist.d
Symbolic link
1
cddl/contrib/dtracetoolkit/Bin/j_cpudist.d
Symbolic link
@ -0,0 +1 @@
|
|||||||
|
../Java/j_cpudist.d
|
1
cddl/contrib/dtracetoolkit/Bin/j_cputime.d
Symbolic link
1
cddl/contrib/dtracetoolkit/Bin/j_cputime.d
Symbolic link
@ -0,0 +1 @@
|
|||||||
|
../Java/j_cputime.d
|
1
cddl/contrib/dtracetoolkit/Bin/j_events.d
Symbolic link
1
cddl/contrib/dtracetoolkit/Bin/j_events.d
Symbolic link
@ -0,0 +1 @@
|
|||||||
|
../Java/j_events.d
|
1
cddl/contrib/dtracetoolkit/Bin/j_flow.d
Symbolic link
1
cddl/contrib/dtracetoolkit/Bin/j_flow.d
Symbolic link
@ -0,0 +1 @@
|
|||||||
|
../Java/j_flow.d
|
1
cddl/contrib/dtracetoolkit/Bin/j_flowtime.d
Symbolic link
1
cddl/contrib/dtracetoolkit/Bin/j_flowtime.d
Symbolic link
@ -0,0 +1 @@
|
|||||||
|
../Java/j_flowtime.d
|
1
cddl/contrib/dtracetoolkit/Bin/j_methodcalls.d
Symbolic link
1
cddl/contrib/dtracetoolkit/Bin/j_methodcalls.d
Symbolic link
@ -0,0 +1 @@
|
|||||||
|
../Java/j_methodcalls.d
|
1
cddl/contrib/dtracetoolkit/Bin/j_objnew.d
Symbolic link
1
cddl/contrib/dtracetoolkit/Bin/j_objnew.d
Symbolic link
@ -0,0 +1 @@
|
|||||||
|
../Java/j_objnew.d
|
1
cddl/contrib/dtracetoolkit/Bin/j_package.d
Symbolic link
1
cddl/contrib/dtracetoolkit/Bin/j_package.d
Symbolic link
@ -0,0 +1 @@
|
|||||||
|
../Java/j_package.d
|
1
cddl/contrib/dtracetoolkit/Bin/j_profile.d
Symbolic link
1
cddl/contrib/dtracetoolkit/Bin/j_profile.d
Symbolic link
@ -0,0 +1 @@
|
|||||||
|
../Java/j_profile.d
|
1
cddl/contrib/dtracetoolkit/Bin/j_stat.d
Symbolic link
1
cddl/contrib/dtracetoolkit/Bin/j_stat.d
Symbolic link
@ -0,0 +1 @@
|
|||||||
|
../Java/j_stat.d
|
1
cddl/contrib/dtracetoolkit/Bin/j_syscalls.d
Symbolic link
1
cddl/contrib/dtracetoolkit/Bin/j_syscalls.d
Symbolic link
@ -0,0 +1 @@
|
|||||||
|
../Java/j_syscalls.d
|
1
cddl/contrib/dtracetoolkit/Bin/j_syscolors.d
Symbolic link
1
cddl/contrib/dtracetoolkit/Bin/j_syscolors.d
Symbolic link
@ -0,0 +1 @@
|
|||||||
|
../Java/j_syscolors.d
|
1
cddl/contrib/dtracetoolkit/Bin/j_thread.d
Symbolic link
1
cddl/contrib/dtracetoolkit/Bin/j_thread.d
Symbolic link
@ -0,0 +1 @@
|
|||||||
|
../Java/j_thread.d
|
1
cddl/contrib/dtracetoolkit/Bin/j_who.d
Symbolic link
1
cddl/contrib/dtracetoolkit/Bin/j_who.d
Symbolic link
@ -0,0 +1 @@
|
|||||||
|
../Java/j_who.d
|
1
cddl/contrib/dtracetoolkit/Bin/js_calldist.d
Symbolic link
1
cddl/contrib/dtracetoolkit/Bin/js_calldist.d
Symbolic link
@ -0,0 +1 @@
|
|||||||
|
../JavaScript/js_calldist.d
|
1
cddl/contrib/dtracetoolkit/Bin/js_calls.d
Symbolic link
1
cddl/contrib/dtracetoolkit/Bin/js_calls.d
Symbolic link
@ -0,0 +1 @@
|
|||||||
|
../JavaScript/js_calls.d
|
1
cddl/contrib/dtracetoolkit/Bin/js_calltime.d
Symbolic link
1
cddl/contrib/dtracetoolkit/Bin/js_calltime.d
Symbolic link
@ -0,0 +1 @@
|
|||||||
|
../JavaScript/js_calltime.d
|
1
cddl/contrib/dtracetoolkit/Bin/js_cpudist.d
Symbolic link
1
cddl/contrib/dtracetoolkit/Bin/js_cpudist.d
Symbolic link
@ -0,0 +1 @@
|
|||||||
|
../JavaScript/js_cpudist.d
|
1
cddl/contrib/dtracetoolkit/Bin/js_cputime.d
Symbolic link
1
cddl/contrib/dtracetoolkit/Bin/js_cputime.d
Symbolic link
@ -0,0 +1 @@
|
|||||||
|
../JavaScript/js_cputime.d
|
1
cddl/contrib/dtracetoolkit/Bin/js_execs.d
Symbolic link
1
cddl/contrib/dtracetoolkit/Bin/js_execs.d
Symbolic link
@ -0,0 +1 @@
|
|||||||
|
../JavaScript/js_execs.d
|
1
cddl/contrib/dtracetoolkit/Bin/js_flow.d
Symbolic link
1
cddl/contrib/dtracetoolkit/Bin/js_flow.d
Symbolic link
@ -0,0 +1 @@
|
|||||||
|
../JavaScript/js_flow.d
|
1
cddl/contrib/dtracetoolkit/Bin/js_flowinfo.d
Symbolic link
1
cddl/contrib/dtracetoolkit/Bin/js_flowinfo.d
Symbolic link
@ -0,0 +1 @@
|
|||||||
|
../JavaScript/js_flowinfo.d
|
1
cddl/contrib/dtracetoolkit/Bin/js_flowtime.d
Symbolic link
1
cddl/contrib/dtracetoolkit/Bin/js_flowtime.d
Symbolic link
@ -0,0 +1 @@
|
|||||||
|
../JavaScript/js_flowtime.d
|
1
cddl/contrib/dtracetoolkit/Bin/js_objcpu.d
Symbolic link
1
cddl/contrib/dtracetoolkit/Bin/js_objcpu.d
Symbolic link
@ -0,0 +1 @@
|
|||||||
|
../JavaScript/js_objcpu.d
|
1
cddl/contrib/dtracetoolkit/Bin/js_objgc.d
Symbolic link
1
cddl/contrib/dtracetoolkit/Bin/js_objgc.d
Symbolic link
@ -0,0 +1 @@
|
|||||||
|
../JavaScript/js_objgc.d
|
1
cddl/contrib/dtracetoolkit/Bin/js_objnew.d
Symbolic link
1
cddl/contrib/dtracetoolkit/Bin/js_objnew.d
Symbolic link
@ -0,0 +1 @@
|
|||||||
|
../JavaScript/js_objnew.d
|
1
cddl/contrib/dtracetoolkit/Bin/js_stat.d
Symbolic link
1
cddl/contrib/dtracetoolkit/Bin/js_stat.d
Symbolic link
@ -0,0 +1 @@
|
|||||||
|
../JavaScript/js_stat.d
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user