IFC @ r238370

This commit is contained in:
Peter Grehan 2012-07-11 19:54:21 +00:00
commit b652778e42
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/projects/bhyve/; revision=238375
5645 changed files with 507798 additions and 184763 deletions

View File

@ -92,7 +92,7 @@ TGTS= all all-man buildenv buildenvvars buildkernel buildworld \
delete-old delete-old-dirs delete-old-files delete-old-libs \
depend distribute distributekernel distributekernel.debug \
distributeworld distrib-dirs distribution doxygen \
everything hierarchy install installcheck installkernel \
everything hier hierarchy install installcheck installkernel \
installkernel.debug packagekernel packageworld \
reinstallkernel reinstallkernel.debug \
installworld kernel-toolchain libraries lint maninstall \

View File

@ -15,6 +15,7 @@
# -DNO_WWWUPDATE do not update www in ${MAKE} update
# -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_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
# list
# 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
# rebuilt before you do them.
.for _DIR in ${LOCAL_DIRS}
.for _DIR in ${LOCAL_LIB_DIRS} ${LOCAL_DIRS}
.if exists(${.CURDIR}/${_DIR}/Makefile)
SUBDIR+= ${_DIR}
.endif
@ -223,9 +224,6 @@ CROSSENV= MAKEOBJDIRPREFIX=${OBJTREE} \
MACHINE_ARCH=${TARGET_ARCH} \
MACHINE=${TARGET} \
CPUTYPE=${TARGET_CPUTYPE}
.if ${OSRELDATE} < 700044
CROSSENV+= AR=gnu-ar RANLIB=gnu-ranlib
.endif
.if ${MK_GROFF} != "no"
CROSSENV+= GROFF_BIN_PATH=${WORLDTMP}/legacy/usr/bin \
GROFF_FONT_PATH=${WORLDTMP}/legacy/usr/share/groff_font \
@ -245,7 +243,7 @@ BMAKE= MAKEOBJDIRPREFIX=${WORLDTMP} \
SSP_CFLAGS= \
-DWITHOUT_HTML -DWITHOUT_INFO -DNO_LINT -DWITHOUT_MAN \
-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
TMAKE= MAKEOBJDIRPREFIX=${OBJTREE} \
@ -255,7 +253,7 @@ TMAKE= MAKEOBJDIRPREFIX=${OBJTREE} \
BOOTSTRAPPING=${OSRELDATE} \
SSP_CFLAGS= \
-DNO_LINT \
-DNO_CPU_CFLAGS -DNO_WARNS -DNO_CTF
-DNO_CPU_CFLAGS -DNO_WARNS -DNO_CTF -DEARLY_BUILD
# cross-tools stage
XMAKE= TOOLS_PREFIX=${WORLDTMP} ${BMAKE} \
@ -265,6 +263,7 @@ XMAKE= TOOLS_PREFIX=${WORLDTMP} ${BMAKE} \
# world stage
WMAKEENV= ${CROSSENV} \
_SHLIBDIRPREFIX=${WORLDTMP} \
_LDSCRIPTROOT= \
VERSION="${VERSION}" \
INSTALL="sh ${.CURDIR}/tools/install.sh" \
PATH=${TMPPATH}
@ -307,6 +306,7 @@ LIB32FLAGS= -m32 ${LIB32CPUFLAGS} -DCOMPAT_32BIT \
# Yes, the flags are redundant.
LIB32WMAKEENV+= MAKEOBJDIRPREFIX=${OBJTREE}/lib32 \
_SHLIBDIRPREFIX=${LIB32TMP} \
_LDSCRIPTROOT=${LIB32TMP} \
VERSION="${VERSION}" \
INSTALL="sh ${.CURDIR}/tools/install.sh" \
PATH=${TMPPATH} \
@ -319,11 +319,11 @@ LIB32WMAKE= ${LIB32WMAKEENV} ${MAKE} -DNO_CPU_CFLAGS -DCOMPAT_32BIT \
-DWITHOUT_BIND -DWITHOUT_MAN -DWITHOUT_INFO \
-DWITHOUT_HTML -DNO_CTF -DNO_LINT -ECC -ECXX -EAS -ELD \
DESTDIR=${LIB32TMP}
LIB32IMAKE= ${LIB32WMAKE:NINSTALL=*:NDESTDIR=*} -DNO_INCS
LIB32IMAKE= ${LIB32WMAKE:NINSTALL=*:NDESTDIR=*:N_LDSCRIPTROOT=*} -DNO_INCS
.endif
# install stage
IMAKEENV= ${CROSSENV}
IMAKEENV= ${CROSSENV:N_LDSCRIPTROOT=*}
IMAKE= ${IMAKEENV} ${MAKE} -f Makefile.inc1
.if empty(.MAKEFLAGS:M-n)
IMAKEENV+= PATH=${STRICTTMPPATH}:${INSTALLTMP} \
@ -488,7 +488,8 @@ build32:
.for _dir in lib/ncurses/ncurses lib/ncurses/ncursesw lib/libmagic
cd ${.CURDIR}/${_dir}; \
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
cd ${.CURDIR}; \
${LIB32WMAKE} -f Makefile.inc1 libraries
@ -830,7 +831,7 @@ buildkernel:
cd ${KRNLOBJDIR}/${_kernel}; \
PATH=${BPATH}:${PATH} \
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
# XXX - Gratuitously builds aicasm in the ``makeoptions NO_MODULES'' case.
.if !defined(MODULES_WITH_WORLD) && !defined(NO_MODULES) && exists(${KERNSRCDIR}/modules)
@ -838,7 +839,7 @@ buildkernel:
cd ${KERNSRCDIR}/modules/aic7xxx/aicasm; \
PATH=${BPATH}:${PATH} \
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
.endif
.if !defined(NO_KERNELDEPEND)
@ -979,8 +980,8 @@ update:
# legacy: Build compatibility shims for the next three targets
#
legacy:
.if ${BOOTSTRAPPING} < 600034 && ${BOOTSTRAPPING} != 0
@echo "ERROR: Source upgrades from versions prior to 6.0 not supported."; \
.if ${BOOTSTRAPPING} < 700055 && ${BOOTSTRAPPING} != 0
@echo "ERROR: Source upgrades from versions prior to 7.0 not supported."; \
false
.endif
.for _tool in tools/build
@ -1008,7 +1009,7 @@ _gperf= gnu/usr.bin/gperf
_groff= gnu/usr.bin/groff
.endif
.if ${BOOTSTRAPPING} >= 700044 && ${BOOTSTRAPPING} < 800022
.if ${BOOTSTRAPPING} < 800022
_ar= usr.bin/ar
.endif
@ -1022,6 +1023,9 @@ _sed= usr.bin/sed
.if ${BOOTSTRAPPING} < 900006
_lex= usr.bin/lex
.endif
.if ${BOOTSTRAPPING} < 1000013
_yacc= usr.bin/yacc
.endif
@ -1029,16 +1033,10 @@ _yacc= usr.bin/yacc
_awk= usr.bin/awk
.endif
.if ${MK_BSNMP} != "no" && \
(${BOOTSTRAPPING} < 700018 || !exists(/usr/sbin/gensnmptree))
.if ${MK_BSNMP} != "no" && !exists(/usr/sbin/gensnmptree)
_gensnmptree= usr.sbin/bsnmpd/gensnmptree
.endif
.if ${MK_RESCUE} != "no" && \
${BOOTSTRAPPING} < 700026
_crunchgen= usr.sbin/crunch/crunchgen
.endif
.if ${MK_CLANG} != "no"
_clang_tblgen= \
lib/clang/libllvmsupport \
@ -1088,12 +1086,11 @@ bootstrap-tools:
${_mklocale} \
usr.bin/rpcgen \
${_sed} \
${_lex} \
${_yacc} \
${_lex} \
usr.bin/xinstall \
${_gensnmptree} \
usr.sbin/config \
${_crunchgen}
usr.sbin/config
${_+_}@${ECHODIR} "===> ${_tool} (obj,depend,all,install)"; \
cd ${.CURDIR}/${_tool}; \
${MAKE} DIRPRFX=${_tool}/ obj; \
@ -1200,7 +1197,7 @@ cross-tools:
#
# hierarchy - ensure that all the needed directories are present
#
hierarchy:
hierarchy hier:
cd ${.CURDIR}/etc; ${MAKE} distrib-dirs
#
@ -1277,6 +1274,11 @@ _ofed_lib= contrib/ofed/usr.lib/
.endif
_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
@ -1649,8 +1651,8 @@ _xi-mtree:
mtree -deU -f ${.CURDIR}/etc/mtree/BSD.include.dist \
-p ${XDDESTDIR}/usr/include >/dev/null
.ORDER: _xi-mtree _xi-cross-tools _xi-includes _xi-libraries _xi-links
xdev-install: _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: xdev-build _xi-mtree _xi-cross-tools _xi-includes _xi-libraries _xi-links
_xi-cross-tools:
@echo "_xi-cross-tools"

View File

@ -38,6 +38,31 @@
# xargs -n1 | sort | uniq -d;
# 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
OLD_FILES+=usr/include/clang/3.0/altivec.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/xmmintrin.h
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.
OLD_FILES+=usr/include/krb5-v4compat.h \
usr/include/krb_err.h \
@ -98,6 +134,8 @@ OLD_LIBS+=usr/lib/libasn1.so.10 \
# 20120309: Remove fifofs header files.
OLD_FILES+=usr/include/fs/fifofs/fifo.h
OLD_DIRS+=usr/include/fs/fifofs
# 20120304: xlocale cleanup
OLD_FILES+=usr/include/_xlocale_ctype.h
# 20120225: libarchive 3.0.3
OLD_FILES+=usr/share/man/man3/archive_read_data_into_buffer.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/wtmp.5.gz
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
OLD_FILES+=usr/include/sys/semaphore.h
# 20100103: ntptrace(8) removed
@ -579,6 +617,7 @@ OLD_LIBS+=lib/libipx.so.4
OLD_LIBS+=lib/libkiconv.so.3
OLD_LIBS+=lib/libkvm.so.4
OLD_LIBS+=lib/libmd.so.4
OLD_LIBS+=lib/libmd.so.5
OLD_LIBS+=lib/libncurses.so.7
OLD_LIBS+=lib/libncursesw.so.7
OLD_LIBS+=lib/libnvpair.so.1

View File

@ -24,6 +24,23 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 10.x IS SLOW:
disable the most expensive debugging functionality run
"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:
The malloc(3) implementation embedded in libc now uses sources imported
as contrib/jemalloc. The most disruptive API change is to

View File

@ -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
MLINKS= ed.1 red.1
.if !defined(RELEASE_CRUNCH)
.if ${MK_OPENSSL} != "no"
.if !defined(RELEASE_CRUNCH) && \
${MK_OPENSSL} != "no" && \
${MK_ED_CRYPTO} != "no"
CFLAGS+=-DDES
DPADD= ${LIBCRYPTO}
LDADD= -lcrypto
.endif
.endif
.include <bsd.prog.mk>

View File

@ -77,7 +77,7 @@ Operators with equal precedence are grouped within symbols
and
.Ql } .
.Bl -tag -width indent
.It Ar expr1 Li | Ar expr2
.It Ar expr1 Li \&| Ar expr2
Return the evaluation of
.Ar expr1
if it is neither an empty string nor zero;

View File

@ -74,7 +74,6 @@ int to_integer(struct val *);
void to_string(struct val *);
int yyerror(const char *);
int yylex(void);
int yyparse(void);
%}

View File

@ -24,7 +24,7 @@
.\"
.\" $FreeBSD$
.\"
.Dd January 13, 2009
.Dd May 11, 2012
.Dt KENV 1
.Os
.Sh NAME
@ -32,9 +32,9 @@
.Nd dump or modify the kernel environment
.Sh SYNOPSIS
.Nm
.Op Fl hq
.Op Fl hNq
.Nm
.Op Fl q
.Op Fl qv
.Ar variable Ns Op = Ns Ar value
.Nm
.Op Fl q
@ -54,6 +54,11 @@ name is specified,
.Nm
will only report that value.
If the
.Fl N
option is specified,
.Nm
will only display variable names and not their values.
If the
.Fl u
option is specified,
.Nm
@ -68,6 +73,13 @@ If the
option is set, warnings normally printed as a result of being unable to
perform the requested operation will be suppressed.
.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
.Pa /boot/loader.conf
file, or also statically compiled into the kernel using the statement

View File

@ -42,15 +42,17 @@ static int ksetenv(char *, char *);
static int kunsetenv(char *);
static int hflag = 0;
static int Nflag = 0;
static int qflag = 0;
static int uflag = 0;
static int vflag = 0;
static void
usage(void)
{
(void)fprintf(stderr, "%s\n%s\n%s\n",
"usage: kenv [-hq]",
" kenv [-q] variable[=value]",
"usage: kenv [-hNq]",
" kenv [-qv] variable[=value]",
" kenv [-q] -u variable");
exit(1);
}
@ -64,17 +66,23 @@ main(int argc, char **argv)
error = 0;
val = NULL;
env = NULL;
while ((ch = getopt(argc, argv, "hqu")) != -1) {
while ((ch = getopt(argc, argv, "hNquv")) != -1) {
switch (ch) {
case 'h':
hflag++;
break;
case 'N':
Nflag++;
break;
case 'q':
qflag++;
break;
case 'u':
uflag++;
break;
case 'v':
vflag++;
break;
default:
usage();
}
@ -91,9 +99,9 @@ main(int argc, char **argv)
argv++;
argc--;
}
if (hflag && (env != NULL))
if ((hflag || Nflag) && env != NULL)
usage();
if ((argc > 0) || (uflag && (env == NULL)))
if (argc > 0 || ((uflag || vflag) && env == NULL))
usage();
if (env == NULL) {
error = kdumpenv();
@ -152,7 +160,10 @@ kdumpenv(void)
if (cp == NULL)
continue;
*cp++ = '\0';
printf("%s=\"%s\"\n", buf, cp);
if (Nflag)
printf("%s\n", buf);
else
printf("%s=\"%s\"\n", buf, cp);
buf = cp;
}
return (0);
@ -167,7 +178,10 @@ kgetenv(char *env)
ret = kenv(KENV_GET, env, buf, sizeof(buf));
if (ret == -1)
return (ret);
printf("%s\n", buf);
if (vflag)
printf("%s=\"%s\"\n", env, buf);
else
printf("%s\n", buf);
return (0);
}

View File

@ -1,12 +1,15 @@
# @(#)Makefile 8.1 (Berkeley) 6/2/93
# $FreeBSD$
.include <bsd.own.mk>
PROG= ls
SRCS= cmp.c ls.c print.c util.c
DPADD= ${LIBUTIL}
LDADD= -lutil
.if !defined(RELEASE_CRUNCH)
.if !defined(RELEASE_CRUNCH) && \
${MK_LS_COLORS} != no
CFLAGS+= -DCOLORLS
DPADD+= ${LIBTERMCAP}
LDADD+= -ltermcap

View File

@ -76,6 +76,7 @@ static VAR var[] = {
{"comm", "COMMAND", NULL, LJUST, ucomm, 0, CHAR, NULL, 0},
{"command", "COMMAND", NULL, COMM|LJUST|USER, command, 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},
{"cputime", "", "time", 0, NULL, 0, CHAR, NULL, 0},
{"egid", "", "gid", 0, NULL, 0, CHAR, NULL, 0},

View File

@ -29,7 +29,7 @@
.\" @(#)ps.1 8.3 (Berkeley) 4/18/94
.\" $FreeBSD$
.\"
.Dd March 8, 2012
.Dd May 20, 2012
.Dt PS 1
.Os
.Sh NAME
@ -496,6 +496,8 @@ login class
command
.It Cm command
command and arguments
.It Cm cow
number of copy-on-write faults
.It Cm cpu
short-term CPU usage factor (for scheduling)
.It Cm emul

View File

@ -116,17 +116,11 @@ The
.Nm
utility handles third party copies, where neither source nor target files
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
.Xr cp 1 ,
.Xr ftp 1 ,
.Xr rlogin 1 ,
.Xr rsh 1 ,
.Xr auth.conf 5 ,
.Xr hosts.equiv 5
.Sh HISTORY
The

View File

@ -61,7 +61,6 @@ __FBSDID("$FreeBSD$");
#include <err.h>
#include <errno.h>
#include <fcntl.h>
#include <libutil.h>
#include <limits.h>
#include <netdb.h>
#include <paths.h>

View File

@ -301,10 +301,16 @@ rm_tree(char **argv)
if (fflag)
continue;
/* FALLTHROUGH */
default:
case FTS_F:
case FTS_NSOK:
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;
/* FALLTHROUGH */
default:
rval = unlink(p->fts_accpath);
if (rval == 0 || (fflag && errno == ENOENT)) {
if (rval == 0 && vflag)
@ -408,7 +414,7 @@ rm_file(char **argv)
int
rm_overwrite(char *file, struct stat *sbp)
{
struct stat sb;
struct stat sb, sb2;
struct statfs fsb;
off_t len;
int bsize, fd, wlen;
@ -427,8 +433,15 @@ rm_overwrite(char *file, struct stat *sbp)
file, sbp->st_ino);
return (0);
}
if ((fd = open(file, O_WRONLY, 0)) == -1)
if ((fd = open(file, O_WRONLY|O_NONBLOCK|O_NOFOLLOW, 0)) == -1)
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)
goto err;
bsize = MAX(fsb.f_iosize, 1024);

View File

@ -38,7 +38,7 @@ build-tools: mkinit mknodes mksyntax
.ORDER: builtins.c builtins.h
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 \
redir.c trap.c var.c

View File

@ -52,7 +52,6 @@ __FBSDID("$FreeBSD$");
#include <stdint.h>
#include <stdio.h>
#include <stdlib.h>
#include <termios.h>
#include "shell.h"
#include "options.h"

View File

@ -35,17 +35,17 @@
# $FreeBSD$
temp=`/usr/bin/mktemp -t ka`
havejobs=0
if grep '^#define[ ]*JOBS[ ]*1' shell.h > /dev/null
then havejobs=1
fi
havehist=1
if [ "X$1" = "X-h" ]; then
havehist=0
shift
fi
objdir=$1
exec > ${objdir}/builtins.c
srcdir=$1
havejobs=0
if grep '^#define[ ]*JOBS[ ]*1' $srcdir/shell.h > /dev/null
then havejobs=1
fi
exec > builtins.c
cat <<\!
/*
* This file was generated by the mkbuiltins program.
@ -57,7 +57,7 @@ cat <<\!
!
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 **) = {'
awk '/^[^#]/ { printf "\t%s,\n", $1}' $temp
echo '};
@ -74,7 +74,7 @@ awk '{ for (i = 2 ; i <= NF ; i++) {
echo ' { NULL, 0, 0 }
};'
exec > ${objdir}/builtins.h
exec > builtins.h
cat <<\!
/*
* This file was generated by the mkbuiltins program.

View File

@ -375,8 +375,8 @@ The following is a list of valid operators:
.Bl -tag -width indent
.It Control operators:
.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 ||
.It Li & Ta Li && Ta Li \&( Ta Li \&) Ta Li \en
.It Li ;; Ta Li ;& Ta Li \&; Ta Li \&| Ta Li ||
.El
.It Redirection operators:
.Bl -column "XXX" "XXX" "XXX" "XXX" "XXX" -offset center -compact

View File

@ -43,7 +43,7 @@
.Nm
.Ar expression
.Nm \&[
.Ar expression Cm ]
.Ar expression Cm \&]
.Sh DESCRIPTION
The
.Nm

View File

@ -24,7 +24,7 @@
.\"
.\" $FreeBSD$
.\"
.Dd September 7, 2005
.Dd May 23, 2012
.Dt UUIDGEN 1
.Os
.Sh NAME
@ -52,8 +52,11 @@ instructs
to not generate them in batch, but one at a time.
.It Fl n
This option controls the number of identifiers generated.
By default, multiple
identifiers are generated in batch.
By default, multiple identifiers are generated in batch.
The upper hard limit is 2048
.Po see
.Xr uuidgen 2
.Pc .
.It Fl o
Redirect output to
.Ar filename

View File

@ -27,11 +27,11 @@
*
*/
#include_next <stdlib.h>
#ifndef _COMPAT_OPENSOLARIS_STDLIB_H_
#define _COMPAT_OPENSOLARIS_STDLIB_H_
#include_next <stdlib.h>
#define getexecname getprogname
#endif

View File

@ -45,7 +45,7 @@ devid_str_decode(char *devidstr, ddi_devid_t *retdevid, char **retminor_name)
return (EINVAL);
}
*retminor_name = strdup("");
if (*retminor_name == NULL);
if (*retminor_name == NULL)
return (ENOMEM);
return (0);
}

View 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.

View 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);
}

View 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);
}

View 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;
}
'

View 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);
}

View File

@ -0,0 +1 @@
../Mem/anonpgpid.d

View File

@ -0,0 +1 @@
../Disk/bitesize.d

View File

@ -0,0 +1 @@
../Net/connections

View File

@ -0,0 +1 @@
../Kernel/cpudists

View File

@ -0,0 +1 @@
../Kernel/cputimes

View File

@ -0,0 +1 @@
../Cpu/cputypes.d

View File

@ -0,0 +1 @@
../Cpu/cpuwalk.d

View File

@ -0,0 +1 @@
../Proc/crash.d

View File

@ -0,0 +1 @@
../Proc/creatbyproc.d

View File

@ -0,0 +1 @@
../Kernel/cswstat.d

View File

@ -0,0 +1 @@
../Proc/dappprof

View File

@ -0,0 +1 @@
../Proc/dapptrace

View File

@ -0,0 +1 @@
../dexplorer

View File

@ -0,0 +1 @@
../Disk/diskhits

View File

@ -0,0 +1 @@
../Cpu/dispqlen.d

View File

@ -0,0 +1 @@
../Kernel/dnlcps.d

View File

@ -0,0 +1 @@
../Kernel/dnlcsnoop.d

View File

@ -0,0 +1 @@
../Kernel/dnlcstat

View File

@ -0,0 +1 @@
../dtruss

View File

@ -0,0 +1 @@
../dvmstat

View File

@ -0,0 +1 @@
../errinfo

View File

@ -0,0 +1 @@
../execsnoop

View File

@ -0,0 +1 @@
../Proc/fddist

View File

@ -0,0 +1 @@
../Proc/filebyproc.d

View File

@ -0,0 +1 @@
../FS/fspaging.d

View File

@ -0,0 +1 @@
../FS/fsrw.d

View File

@ -0,0 +1 @@
../Misc/guess.d

View File

@ -0,0 +1 @@
../hotkernel

View File

@ -0,0 +1 @@
../Disk/hotspot.d

View File

@ -0,0 +1 @@
../hotuser

View File

@ -0,0 +1 @@
../Apps/httpdstat.d

View File

@ -0,0 +1 @@
../Net/icmpstat.d

View File

@ -0,0 +1 @@
../Cpu/intbycpu.d

View File

@ -0,0 +1 @@
../Cpu/intoncpu.d

View File

@ -0,0 +1 @@
../Cpu/inttimes.d

View File

@ -0,0 +1 @@
../Disk/iofile.d

View File

@ -0,0 +1 @@
../Disk/iofileb.d

View File

@ -0,0 +1 @@
../iopattern

View File

@ -0,0 +1 @@
../Disk/iopending

View File

@ -0,0 +1 @@
../iosnoop

View File

@ -0,0 +1 @@
../iotop

View File

@ -0,0 +1 @@
../Java/j_calldist.d

View File

@ -0,0 +1 @@
../Java/j_calls.d

View File

@ -0,0 +1 @@
../Java/j_calltime.d

View File

@ -0,0 +1 @@
../Java/j_classflow.d

View File

@ -0,0 +1 @@
../Java/j_cpudist.d

View File

@ -0,0 +1 @@
../Java/j_cputime.d

View File

@ -0,0 +1 @@
../Java/j_events.d

View File

@ -0,0 +1 @@
../Java/j_flow.d

View File

@ -0,0 +1 @@
../Java/j_flowtime.d

View File

@ -0,0 +1 @@
../Java/j_methodcalls.d

View File

@ -0,0 +1 @@
../Java/j_objnew.d

View File

@ -0,0 +1 @@
../Java/j_package.d

View File

@ -0,0 +1 @@
../Java/j_profile.d

View File

@ -0,0 +1 @@
../Java/j_stat.d

View File

@ -0,0 +1 @@
../Java/j_syscalls.d

View File

@ -0,0 +1 @@
../Java/j_syscolors.d

View File

@ -0,0 +1 @@
../Java/j_thread.d

View File

@ -0,0 +1 @@
../Java/j_who.d

View File

@ -0,0 +1 @@
../JavaScript/js_calldist.d

View File

@ -0,0 +1 @@
../JavaScript/js_calls.d

View File

@ -0,0 +1 @@
../JavaScript/js_calltime.d

View File

@ -0,0 +1 @@
../JavaScript/js_cpudist.d

View File

@ -0,0 +1 @@
../JavaScript/js_cputime.d

View File

@ -0,0 +1 @@
../JavaScript/js_execs.d

View File

@ -0,0 +1 @@
../JavaScript/js_flow.d

View File

@ -0,0 +1 @@
../JavaScript/js_flowinfo.d

View File

@ -0,0 +1 @@
../JavaScript/js_flowtime.d

View File

@ -0,0 +1 @@
../JavaScript/js_objcpu.d

View File

@ -0,0 +1 @@
../JavaScript/js_objgc.d

View File

@ -0,0 +1 @@
../JavaScript/js_objnew.d

View File

@ -0,0 +1 @@
../JavaScript/js_stat.d

Some files were not shown because too many files have changed in this diff Show More