CVS commit: src/external/cddl/osnet/dist/lib/libdtrace/common

2020-09-06 Thread Christos Zoulas
Module Name:src
Committed By:   christos
Date:   Sun Sep  6 21:49:32 UTC 2020

Modified Files:
src/external/cddl/osnet/dist/lib/libdtrace/common: dt_subr.c

Log Message:
Adjust string sizes


To generate a diff of this commit:
cvs rdiff -u -r1.13 -r1.14 \
src/external/cddl/osnet/dist/lib/libdtrace/common/dt_subr.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/external/cddl/osnet/dist/lib/libdtrace/common/dt_subr.c
diff -u src/external/cddl/osnet/dist/lib/libdtrace/common/dt_subr.c:1.13 src/external/cddl/osnet/dist/lib/libdtrace/common/dt_subr.c:1.14
--- src/external/cddl/osnet/dist/lib/libdtrace/common/dt_subr.c:1.13	Mon May 28 17:05:05 2018
+++ src/external/cddl/osnet/dist/lib/libdtrace/common/dt_subr.c	Sun Sep  6 17:49:32 2020
@@ -956,7 +956,7 @@ int
 dtrace_uaddr2str(dtrace_hdl_t *dtp, pid_t pid,
 uint64_t addr, char *str, int nbytes)
 {
-	char name[PATH_MAX], objname[PATH_MAX], c[PATH_MAX * 2];
+	char name[PATH_MAX / 2], objname[PATH_MAX], c[PATH_MAX * 2];
 	struct ps_prochandle *P = NULL;
 	GElf_Sym sym;
 	char *obj;
@@ -977,8 +977,8 @@ dtrace_uaddr2str(dtrace_hdl_t *dtp, pid_
 		obj = dt_basename(objname);
 
 		if (addr > sym.st_value) {
-			(void) snprintf(c, sizeof (c), "%s`%s+0x%llx", obj,
-			name, (u_longlong_t)(addr - sym.st_value));
+			(void) snprintf(c, sizeof (c), "%s`%s+0x%jx", obj,
+			name, (uintmax_t)(addr - sym.st_value));
 		} else {
 			(void) snprintf(c, sizeof (c), "%s`%s", obj, name);
 		}



CVS commit: src/external/cddl/osnet/dist/lib/libdtrace/common

2020-09-06 Thread Christos Zoulas
Module Name:src
Committed By:   christos
Date:   Sun Sep  6 21:49:44 UTC 2020

Modified Files:
src/external/cddl/osnet/dist/lib/libdtrace/common: dt_options.c

Log Message:
Stop using alloca


To generate a diff of this commit:
cvs rdiff -u -r1.8 -r1.9 \
src/external/cddl/osnet/dist/lib/libdtrace/common/dt_options.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/external/cddl/osnet/dist/lib/libdtrace/common/dt_options.c
diff -u src/external/cddl/osnet/dist/lib/libdtrace/common/dt_options.c:1.8 src/external/cddl/osnet/dist/lib/libdtrace/common/dt_options.c:1.9
--- src/external/cddl/osnet/dist/lib/libdtrace/common/dt_options.c:1.8	Mon May 28 17:05:05 2018
+++ src/external/cddl/osnet/dist/lib/libdtrace/common/dt_options.c	Sun Sep  6 17:49:44 2020
@@ -904,8 +904,9 @@ dt_options_load(dtrace_hdl_t *dtp)
 	if (hdr.dofh_loadsz < sizeof (dof_hdr_t))
 		return (dt_set_errno(dtp, EINVAL));
 
-	dof = alloca(hdr.dofh_loadsz);
-	bzero(dof, sizeof (dof_hdr_t));
+	dof = calloc(hdr.dofh_loadsz, 1);
+	if (dof == NULL)
+		return (dt_set_errno(dtp, errno));
 	dof->dofh_loadsz = hdr.dofh_loadsz;
 
 	for (i = 0; i < DTRACEOPT_MAX; i++)
@@ -916,7 +917,10 @@ dt_options_load(dtrace_hdl_t *dtp)
 #else
 	if (dt_ioctl(dtp, DTRACEIOC_DOFGET, ) == -1)
 #endif
+	{
+		free(dof);
 		return (dt_set_errno(dtp, errno));
+	}
 
 	for (i = 0; i < dof->dofh_secnum; i++) {
 		sec = (dof_sec_t *)(uintptr_t)((uintptr_t)dof +
@@ -940,7 +944,7 @@ dt_options_load(dtrace_hdl_t *dtp)
 
 		dtp->dt_options[opt->dofo_option] = opt->dofo_value;
 	}
-
+	free(dof);
 	return (0);
 }
 



CVS commit: src/external/cddl/osnet/dist/lib/libdtrace/common

2020-02-11 Thread Taylor R Campbell
Module Name:src
Committed By:   riastradh
Date:   Wed Feb 12 01:10:08 UTC 2020

Modified Files:
src/external/cddl/osnet/dist/lib/libdtrace/common: dt_impl.h
dt_module.c dt_open.c

Log Message:
Use /dev/ksyms, not /netbsd, for the running kernel's symbols.


To generate a diff of this commit:
cvs rdiff -u -r1.8 -r1.9 \
src/external/cddl/osnet/dist/lib/libdtrace/common/dt_impl.h
cvs rdiff -u -r1.17 -r1.18 \
src/external/cddl/osnet/dist/lib/libdtrace/common/dt_module.c
cvs rdiff -u -r1.16 -r1.17 \
src/external/cddl/osnet/dist/lib/libdtrace/common/dt_open.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/external/cddl/osnet/dist/lib/libdtrace/common/dt_impl.h
diff -u src/external/cddl/osnet/dist/lib/libdtrace/common/dt_impl.h:1.8 src/external/cddl/osnet/dist/lib/libdtrace/common/dt_impl.h:1.9
--- src/external/cddl/osnet/dist/lib/libdtrace/common/dt_impl.h:1.8	Mon May 28 21:05:05 2018
+++ src/external/cddl/osnet/dist/lib/libdtrace/common/dt_impl.h	Wed Feb 12 01:10:08 2020
@@ -750,8 +750,6 @@ extern int yylex(void);
 #endif
 
 #ifdef __NetBSD__
-extern const char *dt_bootfile(char *, size_t);
-
 #define longlong_t long long
 #define u_longlong_t unsigned long long
 #define __DECONST(a, b) __UNCONST(b)

Index: src/external/cddl/osnet/dist/lib/libdtrace/common/dt_module.c
diff -u src/external/cddl/osnet/dist/lib/libdtrace/common/dt_module.c:1.17 src/external/cddl/osnet/dist/lib/libdtrace/common/dt_module.c:1.18
--- src/external/cddl/osnet/dist/lib/libdtrace/common/dt_module.c:1.17	Sat Jun  2 01:19:46 2018
+++ src/external/cddl/osnet/dist/lib/libdtrace/common/dt_module.c	Wed Feb 12 01:10:08 2020
@@ -43,6 +43,7 @@
 #endif
 #ifdef __NetBSD__
 #include 
+#include 
 #endif
 
 #include 
@@ -1185,9 +1186,7 @@ dt_module_update(dtrace_hdl_t *dtp, stru
 	bool ismod;
 
 	if (strcmp("netbsd", name) == 0) {
-		/* want the kernel, but it is not absolute */
-		dt_bootfile(machine, sizeof(machine));
-		snprintf(fname, sizeof(fname), "/%s", machine);
+		strlcpy(fname, _PATH_KSYMS, sizeof fname);
 		ismod = false;
 	} else {
 

Index: src/external/cddl/osnet/dist/lib/libdtrace/common/dt_open.c
diff -u src/external/cddl/osnet/dist/lib/libdtrace/common/dt_open.c:1.16 src/external/cddl/osnet/dist/lib/libdtrace/common/dt_open.c:1.17
--- src/external/cddl/osnet/dist/lib/libdtrace/common/dt_open.c:1.16	Wed Jul 24 16:57:45 2019
+++ src/external/cddl/osnet/dist/lib/libdtrace/common/dt_open.c	Wed Feb 12 01:10:08 2020
@@ -1025,24 +1025,15 @@ dt_get_sysinfo(int cmd, char *buf, size_
 }
 #endif
 
-#ifndef illumos
-# ifdef __FreeBSD__
-#  define DEFKERNEL	"kernel"
-#  define BOOTFILE	"kern.bootfile"
-# endif
-# ifdef __NetBSD__
-#  define DEFKERNEL	"netbsd"
-#  define BOOTFILE	"machdep.booted_kernel"
-# endif
-
-const char *
+#ifdef __FreeBSD__
+static const char *
 dt_bootfile(char *bootfile, size_t len)
 {
 	char *p;
 	size_t olen = len;
 
-	if (sysctlbyname(BOOTFILE, bootfile, , NULL, 0) != 0)
-		strlcpy(bootfile, DEFKERNEL, olen);
+	if (sysctlbyname("kern.bootfile", bootfile, , NULL, 0) != 0)
+		strlcpy(bootfile, "kernel", olen);
 
 	if ((p = strrchr(bootfile, '/')) != NULL)
 		p++;
@@ -1050,9 +1041,6 @@ dt_bootfile(char *bootfile, size_t len)
 		p = bootfile;
 	return p;
 }
-
-# undef DEFKERNEL
-# undef BOOTFILE
 #endif
 
 static dtrace_hdl_t *



CVS commit: src/external/cddl/osnet/dist/lib/libdtrace/common

2018-06-01 Thread Christos Zoulas
Module Name:src
Committed By:   christos
Date:   Sat Jun  2 01:19:46 UTC 2018

Modified Files:
src/external/cddl/osnet/dist/lib/libdtrace/common: dt_module.c

Log Message:
Use a constant to prevent dynamic array allocation which messes up SSP.


To generate a diff of this commit:
cvs rdiff -u -r1.16 -r1.17 \
src/external/cddl/osnet/dist/lib/libdtrace/common/dt_module.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/external/cddl/osnet/dist/lib/libdtrace/common/dt_module.c
diff -u src/external/cddl/osnet/dist/lib/libdtrace/common/dt_module.c:1.16 src/external/cddl/osnet/dist/lib/libdtrace/common/dt_module.c:1.17
--- src/external/cddl/osnet/dist/lib/libdtrace/common/dt_module.c:1.16	Mon May 28 17:05:05 2018
+++ src/external/cddl/osnet/dist/lib/libdtrace/common/dt_module.c	Fri Jun  1 21:19:46 2018
@@ -1268,8 +1268,8 @@ dt_module_update(dtrace_hdl_t *dtp, stru
 #ifdef __NetBSD__
 	mapbase = 0;
 	if (ismod) {
-		int maxmodules = 512;
-		modstat_t modstat_buf[maxmodules], *ms;
+#define	MAXMODULES 512
+		modstat_t modstat_buf[MAXMODULES], *ms;
 		struct iovec iov = { modstat_buf, sizeof(modstat_buf) };
 
 		if (modctl(MODCTL_STAT, ) < 0) {
@@ -1278,14 +1278,14 @@ dt_module_update(dtrace_hdl_t *dtp, stru
 			return;
 		}
 
-		for (i = 0; i < maxmodules; i++) {
+		for (i = 0; i < MAXMODULES; i++) {
 			ms = _buf[i];
 			if (!strcmp(name, ms->ms_name)) {
 mapbase = ms->ms_addr;
 break;
 			}
 		}
-		if (i == maxmodules) {
+		if (i == MAXMODULES) {
 			dt_dprintf("module %s not found\n", name);
 			return;
 		}



CVS commit: src/external/cddl/osnet/dist/lib/libdtrace/common

2018-05-28 Thread Robert Elz
Module Name:src
Committed By:   kre
Date:   Tue May 29 01:09:49 UTC 2018

Modified Files:
src/external/cddl/osnet/dist/lib/libdtrace/common: mknames.sh

Log Message:
Build fix attempt, use TOOL_AWK (with fallback to "awk") rather than "nawk".


To generate a diff of this commit:
cvs rdiff -u -r1.7 -r1.8 \
src/external/cddl/osnet/dist/lib/libdtrace/common/mknames.sh

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/external/cddl/osnet/dist/lib/libdtrace/common/mknames.sh
diff -u src/external/cddl/osnet/dist/lib/libdtrace/common/mknames.sh:1.7 src/external/cddl/osnet/dist/lib/libdtrace/common/mknames.sh:1.8
--- src/external/cddl/osnet/dist/lib/libdtrace/common/mknames.sh:1.7	Tue Sep 29 23:50:52 2015
+++ src/external/cddl/osnet/dist/lib/libdtrace/common/mknames.sh	Tue May 29 01:09:49 2018
@@ -46,7 +46,7 @@ dtrace_subrstr(dtrace_hdl_t *dtp, int su
 {\n\
 	switch (subr) {"
 
-nawk '
+${TOOL_AWK:-awk} '
 /^#define[ 	]*DIF_SUBR_/ && $2 != "DIF_SUBR_MAX" {
 	printf("\tcase %s: return (\"%s\");\n", $2, tolower(substr($2, 10)));
 }'



CVS commit: src/external/cddl/osnet/dist/lib/libdtrace/common

2017-11-05 Thread Christos Zoulas
Module Name:src
Committed By:   christos
Date:   Mon Nov  6 03:51:37 UTC 2017

Modified Files:
src/external/cddl/osnet/dist/lib/libdtrace/common: dt_link.c

Log Message:
need to undef KERN_ELFSIZE too here...


To generate a diff of this commit:
cvs rdiff -u -r1.9 -r1.10 \
src/external/cddl/osnet/dist/lib/libdtrace/common/dt_link.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/external/cddl/osnet/dist/lib/libdtrace/common/dt_link.c
diff -u src/external/cddl/osnet/dist/lib/libdtrace/common/dt_link.c:1.9 src/external/cddl/osnet/dist/lib/libdtrace/common/dt_link.c:1.10
--- src/external/cddl/osnet/dist/lib/libdtrace/common/dt_link.c:1.9	Thu Jan 12 18:12:59 2017
+++ src/external/cddl/osnet/dist/lib/libdtrace/common/dt_link.c	Sun Nov  5 22:51:37 2017
@@ -33,6 +33,7 @@
 #undef ELF32_MACHDEP_ID_CASES
 #undef ELF64_MACHDEP_ID_CASES
 #undef ELF64_MACHDEP_ENDIANNESS
+#undef KERN_ELFSIZE
 #undef ARCH_ELFSIZE
 #undef R_TYPE
 #endif



CVS commit: src/external/cddl/osnet/dist/lib/libdtrace/common

2017-01-12 Thread Christos Zoulas
Module Name:src
Committed By:   christos
Date:   Thu Jan 12 23:12:59 UTC 2017

Modified Files:
src/external/cddl/osnet/dist/lib/libdtrace/common: dt_link.c

Log Message:
Rearrange headers


To generate a diff of this commit:
cvs rdiff -u -r1.8 -r1.9 \
src/external/cddl/osnet/dist/lib/libdtrace/common/dt_link.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/external/cddl/osnet/dist/lib/libdtrace/common/dt_link.c
diff -u src/external/cddl/osnet/dist/lib/libdtrace/common/dt_link.c:1.8 src/external/cddl/osnet/dist/lib/libdtrace/common/dt_link.c:1.9
--- src/external/cddl/osnet/dist/lib/libdtrace/common/dt_link.c:1.8	Thu Sep 24 10:25:29 2015
+++ src/external/cddl/osnet/dist/lib/libdtrace/common/dt_link.c	Thu Jan 12 18:12:59 2017
@@ -27,12 +27,17 @@
 #pragma ident	"%Z%%M%	%I%	%E% SMI"
 
 #define	ELF_TARGET_ALL
-#include 
 #ifdef __NetBSD__
 #ifdef __x86_64__
 #include 
+#undef ELF32_MACHDEP_ID_CASES
+#undef ELF64_MACHDEP_ID_CASES
+#undef ELF64_MACHDEP_ENDIANNESS
+#undef ARCH_ELFSIZE
+#undef R_TYPE
 #endif
 #endif
+#include 
 
 #include 
 #ifdef illumos



CVS commit: src/external/cddl/osnet/dist/lib/libdtrace/common

2016-08-03 Thread Christos Zoulas
Module Name:src
Committed By:   christos
Date:   Wed Aug  3 16:37:02 UTC 2016

Modified Files:
src/external/cddl/osnet/dist/lib/libdtrace/common: dt_module.c

Log Message:
machdep.booted_kernel is not an absolute path, make it so. Now u_int is
found but its parent is not :-)


To generate a diff of this commit:
cvs rdiff -u -r1.14 -r1.15 \
src/external/cddl/osnet/dist/lib/libdtrace/common/dt_module.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/external/cddl/osnet/dist/lib/libdtrace/common/dt_module.c
diff -u src/external/cddl/osnet/dist/lib/libdtrace/common/dt_module.c:1.14 src/external/cddl/osnet/dist/lib/libdtrace/common/dt_module.c:1.15
--- src/external/cddl/osnet/dist/lib/libdtrace/common/dt_module.c:1.14	Wed Jun 29 20:23:36 2016
+++ src/external/cddl/osnet/dist/lib/libdtrace/common/dt_module.c	Wed Aug  3 12:37:02 2016
@@ -1180,8 +1180,9 @@ dt_module_update(dtrace_hdl_t *dtp, stru
 	size_t len;
 
 	if (strcmp("netbsd", name) == 0) {
-		/* want the kernel */
-		dt_bootfile(fname, sizeof(fname));
+		/* want the kernel, but it is not absolute */
+		dt_bootfile(machine, sizeof(machine));
+		snprintf(fname, sizeof(fname), "/%s", machine);
 	} else {
 
 		/* build stand module path from system */



CVS commit: src/external/cddl/osnet/dist/lib/libdtrace/common

2016-06-29 Thread Paul Goyette
Module Name:src
Committed By:   pgoyette
Date:   Thu Jun 30 00:23:36 UTC 2016

Modified Files:
src/external/cddl/osnet/dist/lib/libdtrace/common: dt_module.c

Log Message:
Add missing dp_proc_unlock() in error path.

>From PR kern/51285 (Henning Petersen)

XXX Pullup to 7 and 7-0


To generate a diff of this commit:
cvs rdiff -u -r1.13 -r1.14 \
src/external/cddl/osnet/dist/lib/libdtrace/common/dt_module.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/external/cddl/osnet/dist/lib/libdtrace/common/dt_module.c
diff -u src/external/cddl/osnet/dist/lib/libdtrace/common/dt_module.c:1.13 src/external/cddl/osnet/dist/lib/libdtrace/common/dt_module.c:1.14
--- src/external/cddl/osnet/dist/lib/libdtrace/common/dt_module.c:1.13	Thu Apr 28 00:02:40 2016
+++ src/external/cddl/osnet/dist/lib/libdtrace/common/dt_module.c	Thu Jun 30 00:23:36 2016
@@ -713,6 +713,7 @@ dt_module_load_proc(dtrace_hdl_t *dtp, d
 	arg.dpa_count = 0;
 	if (Pobject_iter_resolved(p, dt_module_load_proc_count, ) != 0) {
 		dt_dprintf("failed to iterate objects\n");
+		dt_proc_unlock(dtp, p);
 		dt_proc_release(dtp, p);
 		return (dt_set_errno(dtp, EDT_CANTLOAD));
 	}



CVS commit: src/external/cddl/osnet/dist/lib/libdtrace/common

2016-04-28 Thread Christos Zoulas
Module Name:src
Committed By:   christos
Date:   Thu Apr 28 11:38:41 UTC 2016

Modified Files:
src/external/cddl/osnet/dist/lib/libdtrace/common: dt_open.c

Log Message:
remove incorrect comment


To generate a diff of this commit:
cvs rdiff -u -r1.11 -r1.12 \
src/external/cddl/osnet/dist/lib/libdtrace/common/dt_open.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/external/cddl/osnet/dist/lib/libdtrace/common/dt_open.c
diff -u src/external/cddl/osnet/dist/lib/libdtrace/common/dt_open.c:1.11 src/external/cddl/osnet/dist/lib/libdtrace/common/dt_open.c:1.12
--- src/external/cddl/osnet/dist/lib/libdtrace/common/dt_open.c:1.11	Wed Apr 27 20:02:40 2016
+++ src/external/cddl/osnet/dist/lib/libdtrace/common/dt_open.c	Thu Apr 28 07:38:41 2016
@@ -1041,7 +1041,6 @@ dt_bootfile(char *bootfile, size_t len)
 	char *p;
 	size_t olen = len;
 
-	/* This call shouldn't fail, but use a default just in case.*/
 	if (sysctlbyname(BOOTFILE, bootfile, , NULL, 0) != 0)
 		strlcpy(bootfile, DEFKERNEL, olen);
 



CVS commit: src/external/cddl/osnet/dist/lib/libdtrace/common

2016-04-27 Thread Christos Zoulas
Module Name:src
Committed By:   christos
Date:   Thu Apr 28 00:02:40 UTC 2016

Modified Files:
src/external/cddl/osnet/dist/lib/libdtrace/common: dt_impl.h
dt_module.c dt_open.c

Log Message:
Introduce dt_bootfile() and use it to avoid hard-coded kernel values. Fixes
dtrace hang for kernels not named netbsd.


To generate a diff of this commit:
cvs rdiff -u -r1.6 -r1.7 \
src/external/cddl/osnet/dist/lib/libdtrace/common/dt_impl.h
cvs rdiff -u -r1.12 -r1.13 \
src/external/cddl/osnet/dist/lib/libdtrace/common/dt_module.c
cvs rdiff -u -r1.10 -r1.11 \
src/external/cddl/osnet/dist/lib/libdtrace/common/dt_open.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/external/cddl/osnet/dist/lib/libdtrace/common/dt_impl.h
diff -u src/external/cddl/osnet/dist/lib/libdtrace/common/dt_impl.h:1.6 src/external/cddl/osnet/dist/lib/libdtrace/common/dt_impl.h:1.7
--- src/external/cddl/osnet/dist/lib/libdtrace/common/dt_impl.h:1.6	Thu Sep 24 10:25:29 2015
+++ src/external/cddl/osnet/dist/lib/libdtrace/common/dt_impl.h	Wed Apr 27 20:02:40 2016
@@ -744,6 +744,10 @@ extern int _dtrace_argmax;		/* default m
 extern const char *_dtrace_libdir;	/* default library directory */
 extern const char *_dtrace_moddir;	/* default kernel module directory */
 
+#ifndef illumos
+extern const char *dt_bootfile(char *, size_t);
+#endif
+
 #if defined(__FreeBSD__) || defined(__NetBSD__)
 extern int gmatch(const char *, const char *);
 extern int yylex(void);

Index: src/external/cddl/osnet/dist/lib/libdtrace/common/dt_module.c
diff -u src/external/cddl/osnet/dist/lib/libdtrace/common/dt_module.c:1.12 src/external/cddl/osnet/dist/lib/libdtrace/common/dt_module.c:1.13
--- src/external/cddl/osnet/dist/lib/libdtrace/common/dt_module.c:1.12	Mon Oct  5 21:18:47 2015
+++ src/external/cddl/osnet/dist/lib/libdtrace/common/dt_module.c	Wed Apr 27 20:02:40 2016
@@ -1180,7 +1180,7 @@ dt_module_update(dtrace_hdl_t *dtp, stru
 
 	if (strcmp("netbsd", name) == 0) {
 		/* want the kernel */
-		strncpy(fname, "/netbsd", sizeof(fname));
+		dt_bootfile(fname, sizeof(fname));
 	} else {
 
 		/* build stand module path from system */

Index: src/external/cddl/osnet/dist/lib/libdtrace/common/dt_open.c
diff -u src/external/cddl/osnet/dist/lib/libdtrace/common/dt_open.c:1.10 src/external/cddl/osnet/dist/lib/libdtrace/common/dt_open.c:1.11
--- src/external/cddl/osnet/dist/lib/libdtrace/common/dt_open.c:1.10	Wed Feb 24 16:11:34 2016
+++ src/external/cddl/osnet/dist/lib/libdtrace/common/dt_open.c	Wed Apr 27 20:02:40 2016
@@ -1025,6 +1025,37 @@ dt_get_sysinfo(int cmd, char *buf, size_
 }
 #endif
 
+#ifndef illumos
+# ifdef __FreeBSD__
+#  define DEFKERNEL	"kernel"
+#  define BOOTFILE	"kern.bootfile"
+# endif
+# ifdef __NetBSD__
+#  define DEFKERNEL	"netbsd"
+#  define BOOTFILE	"machdep.booted_kernel"
+# endif
+
+const char *
+dt_bootfile(char *bootfile, size_t len)
+{
+	char *p;
+	size_t olen = len;
+
+	/* This call shouldn't fail, but use a default just in case.*/
+	if (sysctlbyname(BOOTFILE, bootfile, , NULL, 0) != 0)
+		strlcpy(bootfile, DEFKERNEL, olen);
+
+	if ((p = strrchr(bootfile, '/')) != NULL)
+		p++;
+	else
+		p = bootfile;
+	return p;
+}
+
+# undef DEFKERNEL
+# undef BOOTFILE
+#endif
+
 static dtrace_hdl_t *
 dt_vopen(int version, int flags, int *errp,
 const dtrace_vector_t *vector, void *arg)
@@ -1309,37 +1340,25 @@ alloc:
 
 	/*
 	 * On FreeBSD the kernel module name can't be hard-coded. The
-	 * 'kern.bootfile' sysctl value tells us exactly which file is being
-	 * used as the kernel.
+	 * 'kern.bootfile' sysctl value tells us exactly which file is
+	 * being used as the kernel.
 	 */
 #ifndef illumos
+# ifdef __FreeBSD__
+#  define THREAD	"struct thread"
+#  define MUTEX		"struct mtx"
+#  define RWLOCK	"struct rwlock"
+# endif
+# ifdef __NetBSD__
+#  define THREAD	"struct lwp"
+#  define MUTEX		"struct kmutex"
+#  define RWLOCK	"struct krwlock"
+# endif
 	{
-	char bootfile[MAXPATHLEN];
-	char *p;
-	size_t len = sizeof(bootfile);
+	const char *p;
+	char kernname[512];
 
-#ifdef __FreeBSD__
-#define DEFKERNEL	"kernel"
-#define BOOTFILE	"kern.bootfile"
-#define THREAD		"struct thread"
-#define MUTEX		"struct mtx"
-#define RWLOCK		"struct rwlock"
-#endif
-#ifdef __NetBSD__
-#define DEFKERNEL	"netbsd"
-#define BOOTFILE	"machdep.booted_kernel"
-#define THREAD		"struct lwp"
-#define MUTEX		"struct kmutex"
-#define RWLOCK		"struct krwlock"
-#endif
-	/* This call shouldn't fail, but use a default just in case. */
-	if (sysctlbyname(BOOTFILE, bootfile, , NULL, 0) != 0)
-		strlcpy(bootfile, DEFKERNEL, sizeof(bootfile));
-
-	if ((p = strrchr(bootfile, '/')) != NULL)
-		p++;
-	else
-		p = bootfile;
+	p = dt_bootfile(kernname, sizeof(kernname));
 
 	/*
 	 * Format the global variables based on the kernel module name.
@@ -1349,8 +1368,11 @@ alloc:
 	snprintf(threadmtx_str, sizeof(threadmtx_str), "%s *(%s`%s *)",
 	THREAD, p, 

CVS commit: src/external/cddl/osnet/dist/lib/libdtrace/common

2016-03-01 Thread Joerg Sonnenberger
Module Name:src
Committed By:   joerg
Date:   Tue Mar  1 21:09:17 UTC 2016

Modified Files:
src/external/cddl/osnet/dist/lib/libdtrace/common: drti.c

Log Message:
Don't crash when relocbase was 0.


To generate a diff of this commit:
cvs rdiff -u -r1.6 -r1.7 \
src/external/cddl/osnet/dist/lib/libdtrace/common/drti.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/external/cddl/osnet/dist/lib/libdtrace/common/drti.c
diff -u src/external/cddl/osnet/dist/lib/libdtrace/common/drti.c:1.6 src/external/cddl/osnet/dist/lib/libdtrace/common/drti.c:1.7
--- src/external/cddl/osnet/dist/lib/libdtrace/common/drti.c:1.6	Mon Feb 29 02:19:37 2016
+++ src/external/cddl/osnet/dist/lib/libdtrace/common/drti.c	Tue Mar  1 21:09:17 2016
@@ -149,7 +149,7 @@ dtrace_dof_init(void)
 	elf = (void *)lmp->l_addr;
 
 	dh.dofhp_dof = (uintptr_t)dof;
-	dh.dofhp_addr = elf->e_type == ET_DYN ? (uintptr_t) lmp->l_addr : 0;
+	dh.dofhp_addr = elf && elf->e_type == ET_DYN ? (uintptr_t) lmp->l_addr : 0;
 #if defined(__FreeBSD__) || defined(__NetBSD__)
 	dh.dofhp_pid = getpid();
 #endif



CVS commit: src/external/cddl/osnet/dist/lib/libdtrace/common

2016-02-28 Thread Taylor R Campbell
Module Name:src
Committed By:   riastradh
Date:   Mon Feb 29 02:19:38 UTC 2016

Modified Files:
src/external/cddl/osnet/dist/lib/libdtrace/common: drti.c

Log Message:
Add __printflike as appropriate.


To generate a diff of this commit:
cvs rdiff -u -r1.5 -r1.6 \
src/external/cddl/osnet/dist/lib/libdtrace/common/drti.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/external/cddl/osnet/dist/lib/libdtrace/common/drti.c
diff -u src/external/cddl/osnet/dist/lib/libdtrace/common/drti.c:1.5 src/external/cddl/osnet/dist/lib/libdtrace/common/drti.c:1.6
--- src/external/cddl/osnet/dist/lib/libdtrace/common/drti.c:1.5	Sun Feb 28 19:10:45 2016
+++ src/external/cddl/osnet/dist/lib/libdtrace/common/drti.c	Mon Feb 29 02:19:37 2016
@@ -67,7 +67,7 @@ static int gen;			/* DOF helper generati
 extern dof_hdr_t __SUNW_dof;	/* DOF defined in the .SUNW_dof section */
 static boolean_t dof_init_debug = B_FALSE;	/* From DTRACE_DOF_INIT_DEBUG */
 
-static void
+static void __printflike(2,3)
 dprintf(int debug, const char *fmt, ...)
 {
 	va_list ap;



CVS commit: src/external/cddl/osnet/dist/lib/libdtrace/common

2016-02-28 Thread Christos Zoulas
Module Name:src
Committed By:   christos
Date:   Sun Feb 28 19:10:45 UTC 2016

Modified Files:
src/external/cddl/osnet/dist/lib/libdtrace/common: drti.c

Log Message:
- Add missing ioctl.h
- Hide dprintf


To generate a diff of this commit:
cvs rdiff -u -r1.4 -r1.5 \
src/external/cddl/osnet/dist/lib/libdtrace/common/drti.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/external/cddl/osnet/dist/lib/libdtrace/common/drti.c
diff -u src/external/cddl/osnet/dist/lib/libdtrace/common/drti.c:1.4 src/external/cddl/osnet/dist/lib/libdtrace/common/drti.c:1.5
--- src/external/cddl/osnet/dist/lib/libdtrace/common/drti.c:1.4	Thu Sep 24 10:25:29 2015
+++ src/external/cddl/osnet/dist/lib/libdtrace/common/drti.c	Sun Feb 28 14:10:45 2016
@@ -29,9 +29,12 @@
 #include 
 #include 
 #include 
+#include 
 
 #include 
+#define dprintf __hide_dprintf
 #include 
+#undef dprintf
 #include 
 #include 
 #include 



CVS commit: src/external/cddl/osnet/dist/lib/libdtrace/common

2016-02-24 Thread Joerg Sonnenberger
Module Name:src
Committed By:   joerg
Date:   Wed Feb 24 21:11:35 UTC 2016

Modified Files:
src/external/cddl/osnet/dist/lib/libdtrace/common: dt_open.c

Log Message:
Make the default CPP path a list and check if they are access(2)able.
If no match is found, fallback to looking for cpp in PATH.


To generate a diff of this commit:
cvs rdiff -u -r1.9 -r1.10 \
src/external/cddl/osnet/dist/lib/libdtrace/common/dt_open.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/external/cddl/osnet/dist/lib/libdtrace/common/dt_open.c
diff -u src/external/cddl/osnet/dist/lib/libdtrace/common/dt_open.c:1.9 src/external/cddl/osnet/dist/lib/libdtrace/common/dt_open.c:1.10
--- src/external/cddl/osnet/dist/lib/libdtrace/common/dt_open.c:1.9	Wed Feb  3 17:50:12 2016
+++ src/external/cddl/osnet/dist/lib/libdtrace/common/dt_open.c	Wed Feb 24 21:11:34 2016
@@ -788,10 +788,10 @@ const dtrace_pattr_t _dtrace_prvdesc = {
 };
 
 #ifdef illumos
-const char *_dtrace_defcpp = "/usr/ccs/lib/cpp"; /* default cpp(1) to invoke */
+const char *_dtrace_defcpps[] = { "/usr/ccs/lib/cpp" }; /* default cpp(1) to invoke */
 const char *_dtrace_defld = "/usr/ccs/bin/ld";   /* default ld(1) to invoke */
 #else
-const char *_dtrace_defcpp = "cpp"; /* default cpp(1) to invoke */
+const char *_dtrace_defcpps[] = { "/usr/bin/cpp", "/usr/bin/clang-cpp" }; /* default cpp(1) to invoke */
 const char *_dtrace_defld = "ld";   /* default ld(1) to invoke */
 const char *_dtrace_defobjcopy = "objcopy"; /* default objcopy(1) to invoke */
 #endif
@@ -1195,7 +1195,16 @@ alloc:
 	dtp->dt_provs = calloc(dtp->dt_provbuckets, sizeof (dt_provider_t *));
 	dt_proc_hash_create(dtp);
 	dtp->dt_vmax = DT_VERS_LATEST;
-	dtp->dt_cpp_path = strdup(_dtrace_defcpp);
+	dtp->dt_cpp_path = NULL;
+	for (i = 0; i < (int)sizeof(_dtrace_defcpps) / sizeof(_dtrace_defcpps[0]); ++i) {
+		if (access(_dtrace_defcpps[i], X_OK) == 0) {
+			dtp->dt_cpp_path = strdup(_dtrace_defcpps[i]);
+			break;
+		}
+	}
+	if (dtp->dt_cpp_path == NULL)
+		dtp->dt_cpp_path = strdup("cpp");
+
 	dtp->dt_cpp_argv = malloc(sizeof (char *));
 	dtp->dt_cpp_argc = 1;
 	dtp->dt_cpp_args = 1;



CVS commit: src/external/cddl/osnet/dist/lib/libdtrace/common

2016-02-04 Thread Roy Marples
Module Name:src
Committed By:   roy
Date:   Thu Feb  4 16:48:34 UTC 2016

Modified Files:
src/external/cddl/osnet/dist/lib/libdtrace/common: dt_parser.h

Log Message:
Mark __printflike and __dead.


To generate a diff of this commit:
cvs rdiff -u -r1.2 -r1.3 \
src/external/cddl/osnet/dist/lib/libdtrace/common/dt_parser.h

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/external/cddl/osnet/dist/lib/libdtrace/common/dt_parser.h
diff -u src/external/cddl/osnet/dist/lib/libdtrace/common/dt_parser.h:1.2 src/external/cddl/osnet/dist/lib/libdtrace/common/dt_parser.h:1.3
--- src/external/cddl/osnet/dist/lib/libdtrace/common/dt_parser.h:1.2	Thu Sep 24 14:25:29 2015
+++ src/external/cddl/osnet/dist/lib/libdtrace/common/dt_parser.h	Thu Feb  4 16:48:34 2016
@@ -262,16 +262,19 @@ typedef enum {
 	YYS_CONTROL	/* lex/yacc state for parsing control lines */
 } yystate_t;
 
-extern void dnerror(const dt_node_t *, dt_errtag_t, const char *, ...);
-extern void dnwarn(const dt_node_t *, dt_errtag_t, const char *, ...);
-
-extern void xyerror(dt_errtag_t, const char *, ...);
-extern void xywarn(dt_errtag_t, const char *, ...);
-extern void xyvwarn(dt_errtag_t, const char *, va_list);
-
-extern void yyerror(const char *, ...);
-extern void yywarn(const char *, ...);
-extern void yyvwarn(const char *, va_list);
+extern void dnerror(const dt_node_t *, dt_errtag_t, const char *, ...)
+__printflike(3, 4) __dead;
+extern void dnwarn(const dt_node_t *, dt_errtag_t, const char *, ...)
+__printflike(3, 4);
+
+extern void xyerror(dt_errtag_t, const char *, ...) __printflike(2, 3)
+__dead;
+extern void xywarn(dt_errtag_t, const char *, ...) __printflike(2, 3);
+extern void xyvwarn(dt_errtag_t, const char *, va_list) __printflike(2, 0);
+
+extern void yyerror(const char *, ...) __printflike(1, 2) __dead;
+extern void yywarn(const char *, ...) __printflike(1, 2);
+extern void yyvwarn(const char *, va_list) __printflike(1, 0);
 
 extern void yylabel(const char *);
 extern void yybegin(yystate_t);



CVS commit: src/external/cddl/osnet/dist/lib/libdtrace/common

2016-02-04 Thread Roy Marples
Module Name:src
Committed By:   roy
Date:   Thu Feb  4 17:27:32 UTC 2016

Modified Files:
src/external/cddl/osnet/dist/lib/libdtrace/common: dt_ident.c
dt_parser.c

Log Message:
Fix printf formats and casts.


To generate a diff of this commit:
cvs rdiff -u -r1.4 -r1.5 \
src/external/cddl/osnet/dist/lib/libdtrace/common/dt_ident.c
cvs rdiff -u -r1.7 -r1.8 \
src/external/cddl/osnet/dist/lib/libdtrace/common/dt_parser.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/external/cddl/osnet/dist/lib/libdtrace/common/dt_ident.c
diff -u src/external/cddl/osnet/dist/lib/libdtrace/common/dt_ident.c:1.4 src/external/cddl/osnet/dist/lib/libdtrace/common/dt_ident.c:1.5
--- src/external/cddl/osnet/dist/lib/libdtrace/common/dt_ident.c:1.4	Thu Sep 24 14:25:29 2015
+++ src/external/cddl/osnet/dist/lib/libdtrace/common/dt_ident.c	Thu Feb  4 17:27:32 2016
@@ -358,7 +358,7 @@ dt_idcook_args(dt_node_t *dnp, dt_ident_
 
 	if (ap->dn_value >= prp->pr_argc) {
 		xyerror(D_ARGS_IDX, "index %lld is out of range for %s %s[ ]\n",
-		(longlong_t)ap->dn_value, dtrace_desc2str(yypcb->pcb_pdesc,
+		(long long)ap->dn_value, dtrace_desc2str(yypcb->pcb_pdesc,
 		n1, sizeof (n1)), idp->di_name);
 	}
 
@@ -374,12 +374,12 @@ dt_idcook_args(dt_node_t *dnp, dt_ident_
 
 	if (xnp->dn_type == CTF_ERR) {
 		xyerror(D_ARGS_TYPE, "failed to resolve translated type for "
-		"%s[%lld]\n", idp->di_name, (longlong_t)ap->dn_value);
+		"%s[%lld]\n", idp->di_name, (long long)ap->dn_value);
 	}
 
 	if (nnp->dn_type == CTF_ERR) {
 		xyerror(D_ARGS_TYPE, "failed to resolve native type for "
-		"%s[%lld]\n", idp->di_name, (longlong_t)ap->dn_value);
+		"%s[%lld]\n", idp->di_name, (long long)ap->dn_value);
 	}
 
 	if (dtp->dt_xlatemode == DT_XL_STATIC && (
@@ -428,7 +428,7 @@ dt_idcook_args(dt_node_t *dnp, dt_ident_
 
 	} else {
 		xyerror(D_ARGS_XLATOR, "translator for %s[%lld] from %s to %s "
-		"is not defined\n", idp->di_name, (longlong_t)ap->dn_value,
+		"is not defined\n", idp->di_name, (long long)ap->dn_value,
 		dt_node_type_name(nnp, n1, sizeof (n1)),
 		dt_node_type_name(xnp, n2, sizeof (n2)));
 	}
@@ -459,7 +459,7 @@ dt_idcook_regs(dt_node_t *dnp, dt_ident_
 
 	if ((ap->dn_flags & DT_NF_SIGNED) && (int64_t)ap->dn_value < 0) {
 		xyerror(D_REGS_IDX, "index %lld is out of range for array %s\n",
-		(longlong_t)ap->dn_value, idp->di_name);
+		(long long)ap->dn_value, idp->di_name);
 	}
 
 	if (dt_type_lookup("uint64_t", ) == -1) {

Index: src/external/cddl/osnet/dist/lib/libdtrace/common/dt_parser.c
diff -u src/external/cddl/osnet/dist/lib/libdtrace/common/dt_parser.c:1.7 src/external/cddl/osnet/dist/lib/libdtrace/common/dt_parser.c:1.8
--- src/external/cddl/osnet/dist/lib/libdtrace/common/dt_parser.c:1.7	Thu Sep 24 14:25:29 2015
+++ src/external/cddl/osnet/dist/lib/libdtrace/common/dt_parser.c	Thu Feb  4 17:27:32 2016
@@ -1280,7 +1280,7 @@ dt_node_int(uintmax_t value)
 	}
 
 	xyerror(D_INT_OFLOW, "integer constant 0x%llx cannot be represented "
-	"in any built-in integral type\n", (u_longlong_t)value);
+	"in any built-in integral type\n", (unsigned long long)value);
 	/*NOTREACHED*/
 	return (NULL);		/* keep gcc happy */
 }
@@ -2184,19 +2184,20 @@ dt_node_pdesc_by_id(uintmax_t id)
 		longjmp(yypcb->pcb_jmpbuf, EDT_NOMEM);
 
 	if (id > UINT_MAX) {
-		xyerror(D_PDESC_INVAL, "identifier %llu exceeds maximum "
-		"probe id\n", (u_longlong_t)id);
+		xyerror(D_PDESC_INVAL, "identifier %"PRIuMAX" exceeds maximum "
+		"probe id\n", id);
 	}
 
 	if (yypcb->pcb_pspec != DTRACE_PROBESPEC_NAME) {
-		xyerror(D_PDESC_INVAL, "probe identifier %llu not permitted "
-		"when specifying %s\n", (u_longlong_t)id,
+		xyerror(D_PDESC_INVAL, "probe identifier %"PRIuMAX
+		" not permitted when specifying %s\n", id,
 		names[yypcb->pcb_pspec]);
 	}
 
 	if (dtrace_id2desc(dtp, (dtrace_id_t)id, dnp->dn_desc) != 0) {
-		xyerror(D_PDESC_INVAL, "invalid probe identifier %llu: %s\n",
-		(u_longlong_t)id, dtrace_errmsg(dtp, dtrace_errno(dtp)));
+		xyerror(D_PDESC_INVAL, "invalid probe identifier %"PRIuMAX
+		": %s\n",
+		id, dtrace_errmsg(dtp, dtrace_errno(dtp)));
 	}
 
 	return (dnp);



CVS commit: src/external/cddl/osnet/dist/lib/libdtrace/common

2016-02-03 Thread Jeff Rizzo
Module Name:src
Committed By:   riz
Date:   Wed Feb  3 17:50:13 UTC 2016

Modified Files:
src/external/cddl/osnet/dist/lib/libdtrace/common: dt_open.c

Log Message:
Adapt getmajor and getminor signatures for NetBSD.


To generate a diff of this commit:
cvs rdiff -u -r1.8 -r1.9 \
src/external/cddl/osnet/dist/lib/libdtrace/common/dt_open.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/external/cddl/osnet/dist/lib/libdtrace/common/dt_open.c
diff -u src/external/cddl/osnet/dist/lib/libdtrace/common/dt_open.c:1.8 src/external/cddl/osnet/dist/lib/libdtrace/common/dt_open.c:1.9
--- src/external/cddl/osnet/dist/lib/libdtrace/common/dt_open.c:1.8	Wed Oct  7 00:34:37 2015
+++ src/external/cddl/osnet/dist/lib/libdtrace/common/dt_open.c	Wed Feb  3 17:50:12 2016
@@ -277,10 +277,10 @@ static const dt_ident_t _dtrace_globals[
 	DT_VERS_1_2, _idops_func, "_symaddr(uintptr_t)" },
 { "getmajor", DT_IDENT_FUNC, 0, DIF_SUBR_GETMAJOR,
 	DT_ATTR_EVOLCMN, DT_VERS_1_0,
-	_idops_func, "genunix`major_t(genunix`dev_t)" },
+	_idops_func, "netbsd`__devmajor_t(netbsd`dev_t)" },
 { "getminor", DT_IDENT_FUNC, 0, DIF_SUBR_GETMINOR,
 	DT_ATTR_EVOLCMN, DT_VERS_1_0,
-	_idops_func, "genunix`minor_t(genunix`dev_t)" },
+	_idops_func, "netbsd`__devminor_t(netbsd`dev_t)" },
 { "htonl", DT_IDENT_FUNC, 0, DIF_SUBR_HTONL, DT_ATTR_EVOLCMN, DT_VERS_1_3,
 	_idops_func, "uint32_t(uint32_t)" },
 { "htonll", DT_IDENT_FUNC, 0, DIF_SUBR_HTONLL, DT_ATTR_EVOLCMN, DT_VERS_1_3,



CVS commit: src/external/cddl/osnet/dist/lib/libdtrace/common

2015-11-12 Thread Jeff Rizzo
Module Name:src
Committed By:   riz
Date:   Thu Nov 12 22:10:48 UTC 2015

Modified Files:
src/external/cddl/osnet/dist/lib/libdtrace/common: dt_lex.l

Log Message:
Declare variables under the same conditions as their use.


To generate a diff of this commit:
cvs rdiff -u -r1.4 -r1.5 \
src/external/cddl/osnet/dist/lib/libdtrace/common/dt_lex.l

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/external/cddl/osnet/dist/lib/libdtrace/common/dt_lex.l
diff -u src/external/cddl/osnet/dist/lib/libdtrace/common/dt_lex.l:1.4 src/external/cddl/osnet/dist/lib/libdtrace/common/dt_lex.l:1.5
--- src/external/cddl/osnet/dist/lib/libdtrace/common/dt_lex.l:1.4	Thu Sep 24 14:25:29 2015
+++ src/external/cddl/osnet/dist/lib/libdtrace/common/dt_lex.l	Thu Nov 12 22:10:48 2015
@@ -430,7 +430,10 @@ if (yypcb->pcb_token != 0) {
 '{RGX_CHR}$	xyerror(D_CHR_NL, "newline encountered in character constant");
 
 '{RGX_CHR}'	{
-			char *s, *p, *q;
+			char *s;
+#if BYTE_ORDER == _LITTLE_ENDIAN
+			char  *p, *q;
+#endif
 			size_t nbytes;
 
 			/*



CVS commit: src/external/cddl/osnet/dist/lib/libdtrace/common

2015-10-06 Thread Christos Zoulas
Module Name:src
Committed By:   christos
Date:   Wed Oct  7 00:34:37 UTC 2015

Modified Files:
src/external/cddl/osnet/dist/lib/libdtrace/common: dt_open.c

Log Message:
Adjust for NetBSD.


To generate a diff of this commit:
cvs rdiff -u -r1.7 -r1.8 \
src/external/cddl/osnet/dist/lib/libdtrace/common/dt_open.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/external/cddl/osnet/dist/lib/libdtrace/common/dt_open.c
diff -u src/external/cddl/osnet/dist/lib/libdtrace/common/dt_open.c:1.7 src/external/cddl/osnet/dist/lib/libdtrace/common/dt_open.c:1.8
--- src/external/cddl/osnet/dist/lib/libdtrace/common/dt_open.c:1.7	Mon Oct  5 13:47:37 2015
+++ src/external/cddl/osnet/dist/lib/libdtrace/common/dt_open.c	Tue Oct  6 20:34:37 2015
@@ -1309,9 +1309,23 @@ alloc:
 	char *p;
 	size_t len = sizeof(bootfile);
 
+#ifdef __FreeBSD__
+#define DEFKERNEL	"kernel"
+#define BOOTFILE	"kern.bootfile"
+#define THREAD		"struct thread"
+#define MUTEX		"struct mtx"
+#define RWLOCK		"struct rwlock"
+#endif
+#ifdef __NetBSD__
+#define DEFKERNEL	"netbsd"
+#define BOOTFILE	"machdep.booted_kernel"
+#define THREAD		"struct lwp"
+#define MUTEX		"struct kmutex"
+#define RWLOCK		"struct krwlock"
+#endif
 	/* This call shouldn't fail, but use a default just in case. */
-	if (sysctlbyname("kern.bootfile", bootfile, , NULL, 0) != 0)
-		strlcpy(bootfile, "kernel", sizeof(bootfile));
+	if (sysctlbyname(BOOTFILE, bootfile, , NULL, 0) != 0)
+		strlcpy(bootfile, DEFKERNEL, sizeof(bootfile));
 
 	if ((p = strrchr(bootfile, '/')) != NULL)
 		p++;
@@ -1321,10 +1335,11 @@ alloc:
 	/*
 	 * Format the global variables based on the kernel module name.
 	 */
-	snprintf(curthread_str, sizeof(curthread_str), "%s`struct thread *",p);
-	snprintf(intmtx_str, sizeof(intmtx_str), "int(%s`struct mtx *)",p);
-	snprintf(threadmtx_str, sizeof(threadmtx_str), "struct thread *(%s`struct mtx *)",p);
-	snprintf(rwlock_str, sizeof(rwlock_str), "int(%s`struct rwlock *)",p);
+	snprintf(curthread_str, sizeof(curthread_str), "%s`%s *", p, THREAD);
+	snprintf(intmtx_str, sizeof(intmtx_str), "int(%s`%s *)", p, MUTEX);
+	snprintf(threadmtx_str, sizeof(threadmtx_str), "%s *(%s`%s *)",
+	THREAD, p, MUTEX);
+	snprintf(rwlock_str, sizeof(rwlock_str), "int(%s`%s *)", p, RWLOCK);
 	snprintf(sxlock_str, sizeof(sxlock_str), "int(%s`struct sxlock *)",p);
 	}
 #endif



CVS commit: src/external/cddl/osnet/dist/lib/libdtrace/common

2015-10-05 Thread Christos Zoulas
Module Name:src
Committed By:   christos
Date:   Mon Oct  5 17:48:09 UTC 2015

Modified Files:
src/external/cddl/osnet/dist/lib/libdtrace/common: dt_module.c

Log Message:
load the kernel for NetBSD (for now)


To generate a diff of this commit:
cvs rdiff -u -r1.10 -r1.11 \
src/external/cddl/osnet/dist/lib/libdtrace/common/dt_module.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/external/cddl/osnet/dist/lib/libdtrace/common/dt_module.c
diff -u src/external/cddl/osnet/dist/lib/libdtrace/common/dt_module.c:1.10 src/external/cddl/osnet/dist/lib/libdtrace/common/dt_module.c:1.11
--- src/external/cddl/osnet/dist/lib/libdtrace/common/dt_module.c:1.10	Sun Oct  4 19:25:32 2015
+++ src/external/cddl/osnet/dist/lib/libdtrace/common/dt_module.c	Mon Oct  5 13:48:09 2015
@@ -40,6 +40,9 @@
 #include 
 #include 
 #endif
+#ifdef __NetBSD__
+#include 
+#endif
 
 #include 
 #ifdef illumos
@@ -1131,9 +1134,8 @@ dt_module_getctflib(dtrace_hdl_t *dtp, d
  * On FreeBSD, the module name is passed as the full module file name, 
  * including the path.
  */
-#ifndef __NetBSD__
 static void
-#ifdef illumos
+#if defined(illumos) || defined(__NetBSD__)
 dt_module_update(dtrace_hdl_t *dtp, const char *name)
 #elif defined(__FreeBSD__)
 dt_module_update(dtrace_hdl_t *dtp, struct kld_file_stat *k_stat)
@@ -1354,7 +1356,6 @@ dt_module_update(dtrace_hdl_t *dtp, stru
 	dt_dprintf("opened %d-bit module %s (%s) [%d]\n",
 	bits, dmp->dm_name, dmp->dm_file, dmp->dm_modid);
 }
-#endif
 
 /*
  * Unload all the loaded modules and then refresh the module cache with the
@@ -1401,6 +1402,9 @@ dtrace_update(dtrace_hdl_t *dtp)
 		if (kldstat(fileid, _stat) == 0)
 			dt_module_update(dtp, _stat);
 	}
+#elif defined(__NetBSD__)
+	/* XXX just the kernel for now */
+	dt_module_update(dtp, "netbsd");
 #endif
 
 	/*



CVS commit: src/external/cddl/osnet/dist/lib/libdtrace/common

2015-10-05 Thread Christos Zoulas
Module Name:src
Committed By:   christos
Date:   Mon Oct  5 17:47:37 UTC 2015

Modified Files:
src/external/cddl/osnet/dist/lib/libdtrace/common: dt_open.c

Log Message:
Add definitions for uid_t and gid_t for NetBSD because we are screwing up
with the names in the kernel and the ctf sections end up having only __uid_t
and __gid_t.


To generate a diff of this commit:
cvs rdiff -u -r1.6 -r1.7 \
src/external/cddl/osnet/dist/lib/libdtrace/common/dt_open.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/external/cddl/osnet/dist/lib/libdtrace/common/dt_open.c
diff -u src/external/cddl/osnet/dist/lib/libdtrace/common/dt_open.c:1.6 src/external/cddl/osnet/dist/lib/libdtrace/common/dt_open.c:1.7
--- src/external/cddl/osnet/dist/lib/libdtrace/common/dt_open.c:1.6	Thu Sep 24 10:25:29 2015
+++ src/external/cddl/osnet/dist/lib/libdtrace/common/dt_open.c	Mon Oct  5 13:47:37 2015
@@ -640,6 +640,10 @@ static const dt_typedef_t _dtrace_typede
 { "unsigned", "size_t" },
 { "long", "id_t" },
 { "long", "pid_t" },
+#ifdef __NetBSD__
+{ "unsigned int", "uid_t" },
+{ "unsigned int", "gid_t" },
+#endif
 { NULL, NULL }
 };
 
@@ -668,6 +672,10 @@ static const dt_typedef_t _dtrace_typede
 { "unsigned long", "size_t" },
 { "int", "id_t" },
 { "int", "pid_t" },
+#ifdef __NetBSD__
+{ "unsigned int", "uid_t" },
+{ "unsigned int", "gid_t" },
+#endif
 { NULL, NULL }
 };
 



CVS commit: src/external/cddl/osnet/dist/lib/libdtrace/common

2015-10-05 Thread Jeff Rizzo
Module Name:src
Committed By:   riz
Date:   Tue Oct  6 01:18:47 UTC 2015

Modified Files:
src/external/cddl/osnet/dist/lib/libdtrace/common: dt_module.c

Log Message:
Make this build for me.


To generate a diff of this commit:
cvs rdiff -u -r1.11 -r1.12 \
src/external/cddl/osnet/dist/lib/libdtrace/common/dt_module.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/external/cddl/osnet/dist/lib/libdtrace/common/dt_module.c
diff -u src/external/cddl/osnet/dist/lib/libdtrace/common/dt_module.c:1.11 src/external/cddl/osnet/dist/lib/libdtrace/common/dt_module.c:1.12
--- src/external/cddl/osnet/dist/lib/libdtrace/common/dt_module.c:1.11	Mon Oct  5 17:48:09 2015
+++ src/external/cddl/osnet/dist/lib/libdtrace/common/dt_module.c	Tue Oct  6 01:18:47 2015
@@ -1308,7 +1308,7 @@ dt_module_update(dtrace_hdl_t *dtp, stru
 	 * [Text][R/O data][R/W data][Dynamic][BSS][Non loadable]
 	 */
 	dmp->dm_text_size = dmp->dm_data_va - dmp->dm_text_va;
-#if defined(__i386__)
+#if defined(__i386__) && !defined(__NetBSD__)
 	/*
 	 * Find the first load section and figure out the relocation
 	 * offset for the symbols. The kernel module will not need



CVS commit: src/external/cddl/osnet/dist/lib/libdtrace/common

2015-10-04 Thread Christos Zoulas
Module Name:src
Committed By:   christos
Date:   Sun Oct  4 23:25:32 UTC 2015

Modified Files:
src/external/cddl/osnet/dist/lib/libdtrace/common: dt_module.c

Log Message:
put back module filename finding code.


To generate a diff of this commit:
cvs rdiff -u -r1.9 -r1.10 \
src/external/cddl/osnet/dist/lib/libdtrace/common/dt_module.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/external/cddl/osnet/dist/lib/libdtrace/common/dt_module.c
diff -u src/external/cddl/osnet/dist/lib/libdtrace/common/dt_module.c:1.9 src/external/cddl/osnet/dist/lib/libdtrace/common/dt_module.c:1.10
--- src/external/cddl/osnet/dist/lib/libdtrace/common/dt_module.c:1.9	Thu Sep 24 10:25:29 2015
+++ src/external/cddl/osnet/dist/lib/libdtrace/common/dt_module.c	Sun Oct  4 19:25:32 2015
@@ -1169,6 +1169,36 @@ dt_module_update(dtrace_hdl_t *dtp, stru
 
 	(void) strlcpy(name, k_stat->name, sizeof(name));
 	(void) strlcpy(fname, k_stat->pathname, sizeof(fname));
+#elif defined(__NetBSD__)
+	int mib_osrel[2] = { CTL_KERN, KERN_OSRELEASE };
+	int mib_mach[2] = { CTL_HW, HW_MACHINE };
+	char osrel[64];
+	char machine[64];
+	size_t len;
+
+	if (strcmp("netbsd", name) == 0) {
+		/* want the kernel */
+		strncpy(fname, "/netbsd", sizeof(fname));
+	} else {
+
+		/* build stand module path from system */
+		len = sizeof(osrel);
+		if (sysctl(mib_osrel, 2, osrel, , NULL, 0) == -1) {
+			dt_dprintf("sysctl osrel failed: %s\n",
+strerror(errno));
+		return;
+		}
+
+		len = sizeof(machine);
+		if (sysctl(mib_mach, 2, machine, , NULL, 0) == -1) {
+			dt_dprintf("sysctl machine failed: %s\n",
+strerror(errno));
+		return;
+		}
+
+		(void) snprintf(fname, sizeof (fname),
+		"/stand/%s/%s/modules/%s/%s.kmod", machine, osrel, name, name);
+	}
 #endif
 
 	if ((fd = open(fname, O_RDONLY)) == -1 || fstat64(fd, ) == -1 ||



CVS commit: src/external/cddl/osnet/dist/lib/libdtrace/common

2015-10-01 Thread Jeff Rizzo
Module Name:src
Committed By:   riz
Date:   Thu Oct  1 19:45:37 UTC 2015

Modified Files:
src/external/cddl/osnet/dist/lib/libdtrace/common: dt_printf.c

Log Message:
Only declare 'ldn' where it's actually used.  Fixes build on arm
with MKDTRACE=yes.


To generate a diff of this commit:
cvs rdiff -u -r1.8 -r1.9 \
src/external/cddl/osnet/dist/lib/libdtrace/common/dt_printf.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/external/cddl/osnet/dist/lib/libdtrace/common/dt_printf.c
diff -u src/external/cddl/osnet/dist/lib/libdtrace/common/dt_printf.c:1.8 src/external/cddl/osnet/dist/lib/libdtrace/common/dt_printf.c:1.9
--- src/external/cddl/osnet/dist/lib/libdtrace/common/dt_printf.c:1.8	Thu Sep 24 14:25:29 2015
+++ src/external/cddl/osnet/dist/lib/libdtrace/common/dt_printf.c	Thu Oct  1 19:45:37 2015
@@ -301,7 +301,6 @@ pfprint_fp(dtrace_hdl_t *dtp, FILE *fp, 
 const dt_pfargd_t *pfd, const void *addr, size_t size, uint64_t normal)
 {
 	double n = (double)normal;
-	long double ldn = (long double)normal;
 
 	switch (size) {
 	case sizeof (float):
@@ -312,6 +311,7 @@ pfprint_fp(dtrace_hdl_t *dtp, FILE *fp, 
 		*((double *)addr) / n));
 #if !defined(__arm__) && !defined(__powerpc__) && !defined(__mips__)
 	case sizeof (long double):
+		long double ldn = (long double)normal;
 		return (dt_printf(dtp, fp, format,
 		*((long double *)addr) / ldn));
 #endif



CVS commit: src/external/cddl/osnet/dist/lib/libdtrace/common

2015-10-01 Thread Jeff Rizzo
Module Name:src
Committed By:   riz
Date:   Thu Oct  1 20:51:20 UTC 2015

Modified Files:
src/external/cddl/osnet/dist/lib/libdtrace/common: dt_printf.c

Log Message:
Redo previous so as to not break non-arm MKDTRACE=yes builds.


To generate a diff of this commit:
cvs rdiff -u -r1.9 -r1.10 \
src/external/cddl/osnet/dist/lib/libdtrace/common/dt_printf.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/external/cddl/osnet/dist/lib/libdtrace/common/dt_printf.c
diff -u src/external/cddl/osnet/dist/lib/libdtrace/common/dt_printf.c:1.9 src/external/cddl/osnet/dist/lib/libdtrace/common/dt_printf.c:1.10
--- src/external/cddl/osnet/dist/lib/libdtrace/common/dt_printf.c:1.9	Thu Oct  1 19:45:37 2015
+++ src/external/cddl/osnet/dist/lib/libdtrace/common/dt_printf.c	Thu Oct  1 20:51:19 2015
@@ -301,6 +301,9 @@ pfprint_fp(dtrace_hdl_t *dtp, FILE *fp, 
 const dt_pfargd_t *pfd, const void *addr, size_t size, uint64_t normal)
 {
 	double n = (double)normal;
+#if !defined(__arm__) && !defined(__powerpc__) && !defined(__mips__)
+	long double ldn = (long double)normal;
+#endif
 
 	switch (size) {
 	case sizeof (float):
@@ -311,7 +314,6 @@ pfprint_fp(dtrace_hdl_t *dtp, FILE *fp, 
 		*((double *)addr) / n));
 #if !defined(__arm__) && !defined(__powerpc__) && !defined(__mips__)
 	case sizeof (long double):
-		long double ldn = (long double)normal;
 		return (dt_printf(dtp, fp, format,
 		*((long double *)addr) / ldn));
 #endif



CVS commit: src/external/cddl/osnet/dist/lib/libdtrace/common

2015-09-29 Thread Christos Zoulas
Module Name:src
Committed By:   christos
Date:   Tue Sep 29 14:31:22 UTC 2015

Modified Files:
src/external/cddl/osnet/dist/lib/libdtrace/common: dt_consume.c

Log Message:
return an error for actions we don't understand.


To generate a diff of this commit:
cvs rdiff -u -r1.8 -r1.9 \
src/external/cddl/osnet/dist/lib/libdtrace/common/dt_consume.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/external/cddl/osnet/dist/lib/libdtrace/common/dt_consume.c
diff -u src/external/cddl/osnet/dist/lib/libdtrace/common/dt_consume.c:1.8 src/external/cddl/osnet/dist/lib/libdtrace/common/dt_consume.c:1.9
--- src/external/cddl/osnet/dist/lib/libdtrace/common/dt_consume.c:1.8	Thu Sep 24 10:25:29 2015
+++ src/external/cddl/osnet/dist/lib/libdtrace/common/dt_consume.c	Tue Sep 29 10:31:22 2015
@@ -2674,6 +2674,8 @@ dt_consume_cpu(dtrace_hdl_t *dtp, FILE *
 case DTRACEACT_FREOPEN:
 	func = dtrace_freopen;
 	break;
+default:
+	return (dt_set_errno(dtp, EDT_BADAGG));
 }
 
 n = (*func)(dtp, fp, fmtdata, ,



CVS commit: src/external/cddl/osnet/dist/lib/libdtrace/common

2015-09-29 Thread Christos Zoulas
Module Name:src
Committed By:   christos
Date:   Tue Sep 29 23:50:52 UTC 2015

Modified Files:
src/external/cddl/osnet/dist/lib/libdtrace/common: mkerrtags.sh
mknames.sh

Log Message:
detect dynamically if we need -e for echo


To generate a diff of this commit:
cvs rdiff -u -r1.6 -r1.7 \
src/external/cddl/osnet/dist/lib/libdtrace/common/mkerrtags.sh \
src/external/cddl/osnet/dist/lib/libdtrace/common/mknames.sh

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/external/cddl/osnet/dist/lib/libdtrace/common/mkerrtags.sh
diff -u src/external/cddl/osnet/dist/lib/libdtrace/common/mkerrtags.sh:1.6 src/external/cddl/osnet/dist/lib/libdtrace/common/mkerrtags.sh:1.7
--- src/external/cddl/osnet/dist/lib/libdtrace/common/mkerrtags.sh:1.6	Thu Sep 24 10:25:29 2015
+++ src/external/cddl/osnet/dist/lib/libdtrace/common/mkerrtags.sh	Tue Sep 29 19:50:52 2015
@@ -26,7 +26,10 @@
 #
 #ident	"%Z%%M%	%I%	%E% SMI"
 
-BSDECHO=-e
+
+if [ "x$(echo -e)" != "x-e" ]; then
+	BSDECHO=-e
+fi
 
 echo ${BSDECHO} "\
 /*\n\
Index: src/external/cddl/osnet/dist/lib/libdtrace/common/mknames.sh
diff -u src/external/cddl/osnet/dist/lib/libdtrace/common/mknames.sh:1.6 src/external/cddl/osnet/dist/lib/libdtrace/common/mknames.sh:1.7
--- src/external/cddl/osnet/dist/lib/libdtrace/common/mknames.sh:1.6	Thu Sep 24 10:25:29 2015
+++ src/external/cddl/osnet/dist/lib/libdtrace/common/mknames.sh	Tue Sep 29 19:50:52 2015
@@ -26,7 +26,9 @@
 #
 #ident	"%Z%%M%	%I%	%E% SMI"
 
-BSDECHO=-e
+if [ "x$(echo -e)" != "x-e" ]; then
+	BSDECHO=-e
+fi
 
 echo ${BSDECHO} "\
 /*\n\



CVS commit: src/external/cddl/osnet/dist/lib/libdtrace/common

2015-09-25 Thread Christos Zoulas
Module Name:src
Committed By:   christos
Date:   Sat Sep 26 00:33:35 UTC 2015

Modified Files:
src/external/cddl/osnet/dist/lib/libdtrace/common: dt_proc.c dt_proc.h

Log Message:
catch up with unsigned long -> proc_breakpoint_t change.


To generate a diff of this commit:
cvs rdiff -u -r1.7 -r1.8 \
src/external/cddl/osnet/dist/lib/libdtrace/common/dt_proc.c
cvs rdiff -u -r1.3 -r1.4 \
src/external/cddl/osnet/dist/lib/libdtrace/common/dt_proc.h

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/external/cddl/osnet/dist/lib/libdtrace/common/dt_proc.c
diff -u src/external/cddl/osnet/dist/lib/libdtrace/common/dt_proc.c:1.7 src/external/cddl/osnet/dist/lib/libdtrace/common/dt_proc.c:1.8
--- src/external/cddl/osnet/dist/lib/libdtrace/common/dt_proc.c:1.7	Thu Sep 24 10:25:29 2015
+++ src/external/cddl/osnet/dist/lib/libdtrace/common/dt_proc.c	Fri Sep 25 20:33:34 2015
@@ -136,7 +136,7 @@ dt_proc_bpdestroy(dt_proc_t *dpr, int de
 		if (delbkpts && dbp->dbp_active &&
 		state != PS_LOST && state != PS_UNDEAD) {
 			(void) Pdelbkpt(dpr->dpr_proc,
-			dbp->dbp_addr, dbp->dbp_instr);
+			dbp->dbp_addr, >dbp_instr);
 		}
 		nbp = dt_list_next(dbp);
 		dt_list_delete(>dpr_bps, dbp);
@@ -186,7 +186,7 @@ dt_proc_bpmatch(dtrace_hdl_t *dtp, dt_pr
 	(int)dpr->dpr_pid, (ulong_t)dbp->dbp_addr, ++dbp->dbp_hits);
 
 	dbp->dbp_func(dtp, dpr, dbp->dbp_data);
-	(void) Pxecbkpt(dpr->dpr_proc, dbp->dbp_instr);
+	(void) Pxecbkpt(dpr->dpr_proc, >dbp_instr);
 }
 
 static void
@@ -216,7 +216,7 @@ dt_proc_bpdisable(dt_proc_t *dpr)
 	for (dbp = dt_list_next(>dpr_bps);
 	dbp != NULL; dbp = dt_list_next(dbp)) {
 		if (dbp->dbp_active && Pdelbkpt(dpr->dpr_proc,
-		dbp->dbp_addr, dbp->dbp_instr) == 0)
+		dbp->dbp_addr, >dbp_instr) == 0)
 			dbp->dbp_active = B_FALSE;
 	}
 

Index: src/external/cddl/osnet/dist/lib/libdtrace/common/dt_proc.h
diff -u src/external/cddl/osnet/dist/lib/libdtrace/common/dt_proc.h:1.3 src/external/cddl/osnet/dist/lib/libdtrace/common/dt_proc.h:1.4
--- src/external/cddl/osnet/dist/lib/libdtrace/common/dt_proc.h:1.3	Thu Sep 24 10:25:29 2015
+++ src/external/cddl/osnet/dist/lib/libdtrace/common/dt_proc.h	Fri Sep 25 20:33:34 2015
@@ -80,7 +80,7 @@ typedef struct dt_bkpt {
 	dt_bkpt_f *dbp_func;		/* callback function to execute */
 	void *dbp_data;			/* callback function private data */
 	uintptr_t dbp_addr;		/* virtual address of breakpoint */
-	ulong_t dbp_instr;		/* saved instruction from breakpoint */
+	proc_breakpoint_t dbp_instr;	/* saved instruction from breakpoint */
 	ulong_t dbp_hits;		/* count of breakpoint hits for debug */
 	int dbp_active;			/* flag indicating breakpoint is on */
 } dt_bkpt_t;



CVS commit: src/external/cddl/osnet/dist/lib/libdtrace/common

2015-02-17 Thread Ryota Ozaki
Module Name:src
Committed By:   ozaki-r
Date:   Wed Feb 18 03:07:56 UTC 2015

Modified Files:
src/external/cddl/osnet/dist/lib/libdtrace/common: dt_subr.c

Log Message:
Don't return success when the target CPU is offline

dt_status originally expected the behavior.

This fixes a segfault happens in dt_aggregate_go (a user of dt_status)
that depends on the behavior.


To generate a diff of this commit:
cvs rdiff -u -r1.9 -r1.10 \
src/external/cddl/osnet/dist/lib/libdtrace/common/dt_subr.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/external/cddl/osnet/dist/lib/libdtrace/common/dt_subr.c
diff -u src/external/cddl/osnet/dist/lib/libdtrace/common/dt_subr.c:1.9 src/external/cddl/osnet/dist/lib/libdtrace/common/dt_subr.c:1.10
--- src/external/cddl/osnet/dist/lib/libdtrace/common/dt_subr.c:1.9	Sat Feb  7 20:30:03 2015
+++ src/external/cddl/osnet/dist/lib/libdtrace/common/dt_subr.c	Wed Feb 18 03:07:56 2015
@@ -41,10 +41,12 @@
 #else
 #include sys/ioctl.h
 #include sys/sysctl.h
+#include sys/cpuio.h
 #endif
 #include assert.h
 #include libgen.h
 #include limits.h
+#include paths.h
 
 #include dt_impl.h
 
@@ -497,6 +499,25 @@ dt_ioctl(dtrace_hdl_t *dtp, u_long val, 
 	return (-1);
 }
 
+static bool
+cpu_online(processorid_t cpu)
+{
+	cpustate_t cs;
+	int fd, online = false;
+
+	if ((fd = open(_PATH_CPUCTL, O_RDONLY))  0)
+		return false;
+
+	cs.cs_id = cpu;
+	if (ioctl(fd, IOC_CPU_GETSTATE, cs) == 0) {
+		if (cs.cs_online)
+			online = true;
+	}
+
+	close(fd);
+	return online;
+}
+
 int
 dt_status(dtrace_hdl_t *dtp, processorid_t cpu)
 {
@@ -506,7 +527,7 @@ dt_status(dtrace_hdl_t *dtp, processorid
 #if defined(sun)
 		return (p_online(cpu, P_STATUS));
 #else
-		return 1;
+		return cpu_online(cpu) ? 1 : -1;
 #endif
 	}
 



CVS commit: src/external/cddl/osnet/dist/lib/libdtrace/common

2015-02-17 Thread Ryota Ozaki
Module Name:src
Committed By:   ozaki-r
Date:   Wed Feb 18 03:08:38 UTC 2015

Modified Files:
src/external/cddl/osnet/dist/lib/libdtrace/common: dt_aggregate.c

Log Message:
Add assert


To generate a diff of this commit:
cvs rdiff -u -r1.4 -r1.5 \
src/external/cddl/osnet/dist/lib/libdtrace/common/dt_aggregate.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/external/cddl/osnet/dist/lib/libdtrace/common/dt_aggregate.c
diff -u src/external/cddl/osnet/dist/lib/libdtrace/common/dt_aggregate.c:1.4 src/external/cddl/osnet/dist/lib/libdtrace/common/dt_aggregate.c:1.5
--- src/external/cddl/osnet/dist/lib/libdtrace/common/dt_aggregate.c:1.4	Sat Feb  7 20:30:03 2015
+++ src/external/cddl/osnet/dist/lib/libdtrace/common/dt_aggregate.c	Wed Feb 18 03:08:38 2015
@@ -1074,6 +1074,7 @@ dt_aggregate_go(dtrace_hdl_t *dtp)
 		if (dt_status(dtp, i) == -1)
 			continue;
 
+		assert(agp-dtat_ncpus  agp-dtat_ncpu);
 		agp-dtat_cpus[agp-dtat_ncpus++] = i;
 	}
 



CVS commit: src/external/cddl/osnet/dist/lib/libdtrace/common

2015-02-14 Thread Christos Zoulas
Module Name:src
Committed By:   christos
Date:   Sat Feb 14 15:53:23 UTC 2015

Modified Files:
src/external/cddl/osnet/dist/lib/libdtrace/common: dt_cg.c

Log Message:
PR/49666: Henning Petersen: initialization of instr wrong in dt_cg.c NULL
instead of 0 for uint32_t.


To generate a diff of this commit:
cvs rdiff -u -r1.3 -r1.4 \
src/external/cddl/osnet/dist/lib/libdtrace/common/dt_cg.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/external/cddl/osnet/dist/lib/libdtrace/common/dt_cg.c
diff -u src/external/cddl/osnet/dist/lib/libdtrace/common/dt_cg.c:1.3 src/external/cddl/osnet/dist/lib/libdtrace/common/dt_cg.c:1.4
--- src/external/cddl/osnet/dist/lib/libdtrace/common/dt_cg.c:1.3	Sat Feb  7 15:30:03 2015
+++ src/external/cddl/osnet/dist/lib/libdtrace/common/dt_cg.c	Sat Feb 14 10:53:23 2015
@@ -407,7 +407,7 @@ static void
 dt_cg_store(dt_node_t *src, dt_irlist_t *dlp, dt_regset_t *drp, dt_node_t *dst)
 {
 	ctf_encoding_t e;
-	dif_instr_t instr = NULL;
+	dif_instr_t instr = 0;
 	size_t size;
 	int reg;
 



CVS commit: src/external/cddl/osnet/dist/lib/libdtrace/common

2015-02-14 Thread Christos Zoulas
Module Name:src
Committed By:   christos
Date:   Sat Feb 14 15:55:05 UTC 2015

Modified Files:
src/external/cddl/osnet/dist/lib/libdtrace/common: dt_parser.c

Log Message:
PR/49667: Henning Petersen: Missing initialization of values in dt_parser.c


To generate a diff of this commit:
cvs rdiff -u -r1.4 -r1.5 \
src/external/cddl/osnet/dist/lib/libdtrace/common/dt_parser.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/external/cddl/osnet/dist/lib/libdtrace/common/dt_parser.c
diff -u src/external/cddl/osnet/dist/lib/libdtrace/common/dt_parser.c:1.4 src/external/cddl/osnet/dist/lib/libdtrace/common/dt_parser.c:1.5
--- src/external/cddl/osnet/dist/lib/libdtrace/common/dt_parser.c:1.4	Sat Feb  7 15:30:03 2015
+++ src/external/cddl/osnet/dist/lib/libdtrace/common/dt_parser.c	Sat Feb 14 10:55:05 2015
@@ -3081,8 +3081,8 @@ dt_cook_op2(dt_node_t *dnp, uint_t idfla
 	int op = dnp-dn_op;
 
 	ctf_membinfo_t m;
-	ctf_file_t *ctfp;
-	ctf_id_t type;
+	ctf_file_t *ctfp = NULL;
+	ctf_id_t type = 0;
 	int kind, val, uref;
 	dt_ident_t *idp;
 



CVS commit: src/external/cddl/osnet/dist/lib/libdtrace/common

2015-02-07 Thread Christos Zoulas
Module Name:src
Committed By:   christos
Date:   Sat Feb  7 20:33:22 UTC 2015

Modified Files:
src/external/cddl/osnet/dist/lib/libdtrace/common: dt_as.c

Log Message:
delete error(1) strings.


To generate a diff of this commit:
cvs rdiff -u -r1.2 -r1.3 \
src/external/cddl/osnet/dist/lib/libdtrace/common/dt_as.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/external/cddl/osnet/dist/lib/libdtrace/common/dt_as.c
diff -u src/external/cddl/osnet/dist/lib/libdtrace/common/dt_as.c:1.2 src/external/cddl/osnet/dist/lib/libdtrace/common/dt_as.c:1.3
--- src/external/cddl/osnet/dist/lib/libdtrace/common/dt_as.c:1.2	Sat Feb  7 15:30:03 2015
+++ src/external/cddl/osnet/dist/lib/libdtrace/common/dt_as.c	Sat Feb  7 15:33:22 2015
@@ -428,12 +428,9 @@ dt_as(dt_pcb_t *pcb)
 			if ((idp = dip-di_extern) == NULL)
 continue; /* no relocation entry needed */
 
-/*###429 [cc] error: 'kbits' may be used uninitialized in this function [-Werror=maybe-uninitialized]%%%*/
 			if ((idp-di_flags  kmask) == kbits) {
 nodef = knodef;
 rp = krp++;
-/*###432 [cc] error: 'ubits' may be used uninitialized in this function [-Werror=maybe-uninitialized]%%%*/
-/*###432 [cc] error: 'umask' may be used uninitialized in this function [-Werror=maybe-uninitialized]%%%*/
 			} else if ((idp-di_flags  umask) == ubits) {
 nodef = unodef;
 rp = urp++;



CVS commit: src/external/cddl/osnet/dist/lib/libdtrace/common

2014-03-27 Thread Alan Barrett
Module Name:src
Committed By:   apb
Date:   Thu Mar 27 19:34:39 UTC 2014

Modified Files:
src/external/cddl/osnet/dist/lib/libdtrace/common: dt_printf.c

Log Message:
format is a pointer, so sizeof(format) is not a good length
to pass to snprintf.  Try to calculate the correct length,
taking into account the amount of space already used.


To generate a diff of this commit:
cvs rdiff -u -r1.4 -r1.5 \
src/external/cddl/osnet/dist/lib/libdtrace/common/dt_printf.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/external/cddl/osnet/dist/lib/libdtrace/common/dt_printf.c
diff -u src/external/cddl/osnet/dist/lib/libdtrace/common/dt_printf.c:1.4 src/external/cddl/osnet/dist/lib/libdtrace/common/dt_printf.c:1.5
--- src/external/cddl/osnet/dist/lib/libdtrace/common/dt_printf.c:1.4	Wed Feb 20 22:45:12 2013
+++ src/external/cddl/osnet/dist/lib/libdtrace/common/dt_printf.c	Thu Mar 27 19:34:39 2014
@@ -1861,10 +1861,10 @@ dtrace_printf_format(dtrace_hdl_t *dtp, 
 			*f++ = '@';
 
 		if (width != 0)
-			f += snprintf(f, sizeof (format), %d, width);
+			f += snprintf(f, format + formatlen - f, %d, width);
 
 		if (prec != 0)
-			f += snprintf(f, sizeof (format), .%d, prec);
+			f += snprintf(f, format + formatlen - f, .%d, prec);
 
 		/*
 		 * If the output format is %s, then either %s is the underlying



CVS commit: src/external/cddl/osnet/dist/lib/libdtrace/common

2013-02-20 Thread Matthias Scheler
Module Name:src
Committed By:   tron
Date:   Wed Feb 20 22:45:13 UTC 2013

Modified Files:
src/external/cddl/osnet/dist/lib/libdtrace/common: dt_printf.c

Log Message:
Fix dodgy arguments to snprintf(3) which cause a warning that breaks
the build (at least with USE_SSP set to yes).


To generate a diff of this commit:
cvs rdiff -u -r1.3 -r1.4 \
src/external/cddl/osnet/dist/lib/libdtrace/common/dt_printf.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/external/cddl/osnet/dist/lib/libdtrace/common/dt_printf.c
diff -u src/external/cddl/osnet/dist/lib/libdtrace/common/dt_printf.c:1.3 src/external/cddl/osnet/dist/lib/libdtrace/common/dt_printf.c:1.4
--- src/external/cddl/osnet/dist/lib/libdtrace/common/dt_printf.c:1.3	Sat Feb 27 23:43:52 2010
+++ src/external/cddl/osnet/dist/lib/libdtrace/common/dt_printf.c	Wed Feb 20 22:45:12 2013
@@ -1482,11 +1482,15 @@ dt_printf_format(dtrace_hdl_t *dtp, FILE
 		if (func == pfprint_stack  (pfd-pfd_flags  DT_PFCONV_LEFT))
 			width = 0;
 
-		if (width != 0)
-			f += snprintf(f, sizeof (format), %d, ABS(width));
+		if (width != 0) {
+			f += snprintf(f, format + sizeof (format) - f,
+			%d, ABS(width));
+		}
 
-		if (prec  0)
-			f += snprintf(f, sizeof (format), .%d, prec);
+		if (prec  0) {
+			f += snprintf(f, format + sizeof (format) - f,
+			.%d, prec);
+		}
 
 		(void) strcpy(f, pfd-pfd_fmt);
 		pfd-pfd_rec = rec;



CVS commit: src/external/cddl/osnet/dist/lib/libdtrace/common

2013-01-02 Thread Matthias Scheler
Module Name:src
Committed By:   tron
Date:   Wed Jan  2 21:19:13 UTC 2013

Modified Files:
src/external/cddl/osnet/dist/lib/libdtrace/common: dt_subr.c

Log Message:
Include sys/ioctl.h for the prototype of ioctl(2) which fixes the build.


To generate a diff of this commit:
cvs rdiff -u -r1.5 -r1.6 \
src/external/cddl/osnet/dist/lib/libdtrace/common/dt_subr.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/external/cddl/osnet/dist/lib/libdtrace/common/dt_subr.c
diff -u src/external/cddl/osnet/dist/lib/libdtrace/common/dt_subr.c:1.5 src/external/cddl/osnet/dist/lib/libdtrace/common/dt_subr.c:1.6
--- src/external/cddl/osnet/dist/lib/libdtrace/common/dt_subr.c:1.5	Wed Oct 19 11:03:52 2011
+++ src/external/cddl/osnet/dist/lib/libdtrace/common/dt_subr.c	Wed Jan  2 21:19:13 2013
@@ -39,6 +39,7 @@
 #if defined(sun)
 #include alloca.h
 #else
+#include sys/ioctl.h
 #include sys/sysctl.h
 #endif
 #include assert.h



CVS commit: src/external/cddl/osnet/dist/lib/libdtrace/common

2012-02-13 Thread Thomas Klausner
Module Name:src
Committed By:   wiz
Date:   Mon Feb 13 13:05:36 UTC 2012

Modified Files:
src/external/cddl/osnet/dist/lib/libdtrace/common: dt_module.c

Log Message:
Use the correct path in dt_module.c.
From clang via Henning Petersen in PR 46009.


To generate a diff of this commit:
cvs rdiff -u -r1.6 -r1.7 \
src/external/cddl/osnet/dist/lib/libdtrace/common/dt_module.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/external/cddl/osnet/dist/lib/libdtrace/common/dt_module.c
diff -u src/external/cddl/osnet/dist/lib/libdtrace/common/dt_module.c:1.6 src/external/cddl/osnet/dist/lib/libdtrace/common/dt_module.c:1.7
--- src/external/cddl/osnet/dist/lib/libdtrace/common/dt_module.c:1.6	Tue Jul 26 12:28:01 2011
+++ src/external/cddl/osnet/dist/lib/libdtrace/common/dt_module.c	Mon Feb 13 13:05:36 2012
@@ -880,7 +880,7 @@ dt_module_update(dtrace_hdl_t *dtp, cons
 		}
 
 		(void) snprintf(fname, sizeof (fname),
-		/stand/%s/%s/%s.kmod, machine, osrel, name, name);
+		/stand/%s/%s/modules/%s/%s.kmod, machine, osrel, name, name);
 	}
 #endif
 



CVS commit: src/external/cddl/osnet/dist/lib/libdtrace/common

2011-10-19 Thread YAMAMOTO Takashi
Module Name:src
Committed By:   yamt
Date:   Wed Oct 19 11:03:52 UTC 2011

Modified Files:
src/external/cddl/osnet/dist/lib/libdtrace/common: dt_subr.c

Log Message:
make aggregate work for  1 cpus


To generate a diff of this commit:
cvs rdiff -u -r1.4 -r1.5 \
src/external/cddl/osnet/dist/lib/libdtrace/common/dt_subr.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/external/cddl/osnet/dist/lib/libdtrace/common/dt_subr.c
diff -u src/external/cddl/osnet/dist/lib/libdtrace/common/dt_subr.c:1.4 src/external/cddl/osnet/dist/lib/libdtrace/common/dt_subr.c:1.5
--- src/external/cddl/osnet/dist/lib/libdtrace/common/dt_subr.c:1.4	Sat Feb 27 23:43:52 2010
+++ src/external/cddl/osnet/dist/lib/libdtrace/common/dt_subr.c	Wed Oct 19 11:03:52 2011
@@ -505,12 +505,7 @@ dt_status(dtrace_hdl_t *dtp, processorid
 #if defined(sun)
 		return (p_online(cpu, P_STATUS));
 #else
-		int maxid = 0;
-		size_t len = sizeof(maxid);
-		if (sysctlbyname(kern.smp.maxid, maxid, len, NULL, 0) != 0)
-			return (cpu == 0 ? 1 : -1);
-		else
-			return (cpu = maxid ? 1 : -1);
+		return 1;
 #endif
 	}
 



CVS commit: src/external/cddl/osnet/dist/lib/libdtrace/common

2011-07-26 Thread YAMAMOTO Takashi
Module Name:src
Committed By:   yamt
Date:   Tue Jul 26 12:28:02 UTC 2011

Modified Files:
src/external/cddl/osnet/dist/lib/libdtrace/common: dt_module.c

Log Message:
remove a debug printf


To generate a diff of this commit:
cvs rdiff -u -r1.5 -r1.6 \
src/external/cddl/osnet/dist/lib/libdtrace/common/dt_module.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/external/cddl/osnet/dist/lib/libdtrace/common/dt_module.c
diff -u src/external/cddl/osnet/dist/lib/libdtrace/common/dt_module.c:1.5 src/external/cddl/osnet/dist/lib/libdtrace/common/dt_module.c:1.6
--- src/external/cddl/osnet/dist/lib/libdtrace/common/dt_module.c:1.5	Mon Mar  1 11:19:40 2010
+++ src/external/cddl/osnet/dist/lib/libdtrace/common/dt_module.c	Tue Jul 26 12:28:01 2011
@@ -859,8 +859,6 @@
 	char machine[64];
 	size_t len;
 
-	printf(dt_module_update: %s\n, name);	/* XXX debug */
-
 	if (strcmp(netbsd,name) == 0) {
 		/* want the kernel */
 		strncpy(fname, /netbsd, sizeof(fname));



CVS commit: src/external/cddl/osnet/dist/lib/libdtrace/common

2010-04-03 Thread Christos Zoulas
Module Name:src
Committed By:   christos
Date:   Sat Apr  3 18:43:35 UTC 2010

Modified Files:
src/external/cddl/osnet/dist/lib/libdtrace/common: dt_link.c

Log Message:
hack for amd64


To generate a diff of this commit:
cvs rdiff -u -r1.2 -r1.3 \
src/external/cddl/osnet/dist/lib/libdtrace/common/dt_link.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/external/cddl/osnet/dist/lib/libdtrace/common/dt_link.c
diff -u src/external/cddl/osnet/dist/lib/libdtrace/common/dt_link.c:1.2 src/external/cddl/osnet/dist/lib/libdtrace/common/dt_link.c:1.3
--- src/external/cddl/osnet/dist/lib/libdtrace/common/dt_link.c:1.2	Sat Feb 20 19:49:54 2010
+++ src/external/cddl/osnet/dist/lib/libdtrace/common/dt_link.c	Sat Apr  3 14:43:34 2010
@@ -231,10 +231,12 @@
 /* XXX */
 printf(%s:%s(%d): DOODAD\n,__FUNCTION__,__FILE__,__LINE__);
 #elif defined(__i386) || defined(__amd64)
+#ifndef __amd64 /* XXX: FIXME */
 			rel-r_offset = s-dofs_offset +
 			dofr[j].dofr_offset;
 			rel-r_info = ELF32_R_INFO(count + dep-de_global,
 			R_386_32);
+#endif
 #elif defined(__mips__)
 /* XXX */
 printf(%s:%s(%d): DOODAD\n,__FUNCTION__,__FILE__,__LINE__);
@@ -989,9 +991,11 @@
 	 * these types have the same values on both 32-bit and 64-bit
 	 * x86 architectures.
 	 */
+#ifndef __amd64 /* XXX: FIXME */
 	if (GELF_R_TYPE(rela-r_info) != R_386_PC32 
 	GELF_R_TYPE(rela-r_info) != R_386_PLT32)
 		return (-1);
+#endif
 
 	/*
 	 * We may have already processed this object file in an earlier linker



CVS commit: src/external/cddl/osnet/dist/lib/libdtrace/common

2010-04-03 Thread Christos Zoulas
Module Name:src
Committed By:   christos
Date:   Sat Apr  3 18:43:54 UTC 2010

Modified Files:
src/external/cddl/osnet/dist/lib/libdtrace/common: mkerrtags.sh
mknames.sh

Log Message:
remove useless double [[


To generate a diff of this commit:
cvs rdiff -u -r1.4 -r1.5 \
src/external/cddl/osnet/dist/lib/libdtrace/common/mkerrtags.sh \
src/external/cddl/osnet/dist/lib/libdtrace/common/mknames.sh

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/external/cddl/osnet/dist/lib/libdtrace/common/mkerrtags.sh
diff -u src/external/cddl/osnet/dist/lib/libdtrace/common/mkerrtags.sh:1.4 src/external/cddl/osnet/dist/lib/libdtrace/common/mkerrtags.sh:1.5
--- src/external/cddl/osnet/dist/lib/libdtrace/common/mkerrtags.sh:1.4	Thu Mar  4 20:34:35 2010
+++ src/external/cddl/osnet/dist/lib/libdtrace/common/mkerrtags.sh	Sat Apr  3 14:43:54 2010
@@ -26,7 +26,7 @@
 #
 #ident	%Z%%M%	%I%	%E% SMI
 
-if [[ $(uname) = Darwin ]]; then
+if [ $(uname) = Darwin ]; then
 BSDECHO=
 else
 BSDECHO=-e
Index: src/external/cddl/osnet/dist/lib/libdtrace/common/mknames.sh
diff -u src/external/cddl/osnet/dist/lib/libdtrace/common/mknames.sh:1.4 src/external/cddl/osnet/dist/lib/libdtrace/common/mknames.sh:1.5
--- src/external/cddl/osnet/dist/lib/libdtrace/common/mknames.sh:1.4	Thu Mar  4 20:34:35 2010
+++ src/external/cddl/osnet/dist/lib/libdtrace/common/mknames.sh	Sat Apr  3 14:43:54 2010
@@ -26,7 +26,7 @@
 #
 #ident	%Z%%M%	%I%	%E% SMI
 
-if [[ $(uname) = Darwin ]]; then
+if [ $(uname) = Darwin ]; then
 BSDECHO=
 else
 BSDECHO=-e