CVS commit: src/external/cddl/osnet/dist/lib/libdtrace/common
Module Name:src Committed By: chs Date: Tue Feb 7 22:54:02 UTC 2023 Modified Files: src/external/cddl/osnet/dist/lib/libdtrace/common: dt_subr.c Log Message: dtrace: remove unnecessary fflush() Apply this commit from FreeBSD: commit f339a3ef6369b368f3a2455792a7a3a4c28f92c4 Author: Chuck Silvers Date: Wed Feb 9 17:09:26 2022 -0800 dtrace: remove unnecessary fflush() This call was added back in the early days of dtrace porting and no one knows why anymore. The extra flushing causes lots of unnecessary CPU overhead when a script produces lots of output, as well as easily losing output because the command can't keep up. Sponsored by: Netflix Reviewed by: imp, markj Differential Revision:https://reviews.freebsd.org/D34216 To generate a diff of this commit: cvs rdiff -u -r1.15 -r1.16 \ 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.15 src/external/cddl/osnet/dist/lib/libdtrace/common/dt_subr.c:1.16 --- src/external/cddl/osnet/dist/lib/libdtrace/common/dt_subr.c:1.15 Mon Feb 6 22:22:12 2023 +++ src/external/cddl/osnet/dist/lib/libdtrace/common/dt_subr.c Tue Feb 7 22:54:02 2023 @@ -725,7 +725,6 @@ dt_printf(dtrace_hdl_t *dtp, FILE *fp, c va_copy(ap2, ap); n = vfprintf(fp, format, ap2); - fflush(fp); va_end(ap2); va_end(ap);
CVS commit: src/external/cddl/osnet/dist/lib/libdtrace/common
Module Name:src Committed By: chs Date: Tue Feb 7 22:54:02 UTC 2023 Modified Files: src/external/cddl/osnet/dist/lib/libdtrace/common: dt_subr.c Log Message: dtrace: remove unnecessary fflush() Apply this commit from FreeBSD: commit f339a3ef6369b368f3a2455792a7a3a4c28f92c4 Author: Chuck Silvers Date: Wed Feb 9 17:09:26 2022 -0800 dtrace: remove unnecessary fflush() This call was added back in the early days of dtrace porting and no one knows why anymore. The extra flushing causes lots of unnecessary CPU overhead when a script produces lots of output, as well as easily losing output because the command can't keep up. Sponsored by: Netflix Reviewed by: imp, markj Differential Revision:https://reviews.freebsd.org/D34216 To generate a diff of this commit: cvs rdiff -u -r1.15 -r1.16 \ 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.
CVS commit: src/external/cddl/osnet/dist/lib/libdtrace/common
Module Name:src Committed By: chs Date: Mon Feb 6 22:22:12 UTC 2023 Modified Files: src/external/cddl/osnet/dist/lib/libdtrace/common: dt_subr.c Log Message: dtrace: re-fix aggregations to report from all online CPUs Reapply the fix to dt_status() from rev 1.10 ("Don't return success when the target CPU is offline") which was lost in rev 1.12 ("sync with FreeBSD"). The FreeBSD version that we have been using since then does run on NetBSD but always reports that CPU 0 is online and all other CPUs are offline, because the sysctl that it uses does not exist on NetBSD. To generate a diff of this commit: cvs rdiff -u -r1.14 -r1.15 \ 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.14 src/external/cddl/osnet/dist/lib/libdtrace/common/dt_subr.c:1.15 --- src/external/cddl/osnet/dist/lib/libdtrace/common/dt_subr.c:1.14 Sun Sep 6 21:49:32 2020 +++ src/external/cddl/osnet/dist/lib/libdtrace/common/dt_subr.c Mon Feb 6 22:22:12 2023 @@ -49,6 +49,11 @@ #include #include #include +#ifdef __NetBSD__ +#include +#include +#include +#endif #include @@ -501,6 +506,27 @@ dt_ioctl(dtrace_hdl_t *dtp, u_long val, return (-1); } +#ifdef __NetBSD__ +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, ) == 0) { + if (cs.cs_online) + online = true; + } + + close(fd); + return online; +} +#endif + int dt_status(dtrace_hdl_t *dtp, processorid_t cpu) { @@ -509,7 +535,8 @@ dt_status(dtrace_hdl_t *dtp, processorid if (v == NULL) { #ifdef illumos return (p_online(cpu, P_STATUS)); -#else +#endif +#ifdef __FreeBSD__ int maxid = 0; size_t len = sizeof(maxid); if (sysctlbyname("kern.smp.maxid", , , NULL, 0) != 0) @@ -517,6 +544,9 @@ dt_status(dtrace_hdl_t *dtp, processorid else return (cpu <= maxid ? 1 : -1); #endif +#ifdef __NetBSD__ + return cpu_online(cpu) ? 1 : -1; +#endif } return (v->dtv_status(dtp->dt_varg, cpu));
CVS commit: src/external/cddl/osnet/dist/lib/libdtrace/common
Module Name:src Committed By: chs Date: Mon Feb 6 22:22:12 UTC 2023 Modified Files: src/external/cddl/osnet/dist/lib/libdtrace/common: dt_subr.c Log Message: dtrace: re-fix aggregations to report from all online CPUs Reapply the fix to dt_status() from rev 1.10 ("Don't return success when the target CPU is offline") which was lost in rev 1.12 ("sync with FreeBSD"). The FreeBSD version that we have been using since then does run on NetBSD but always reports that CPU 0 is online and all other CPUs are offline, because the sysctl that it uses does not exist on NetBSD. To generate a diff of this commit: cvs rdiff -u -r1.14 -r1.15 \ 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.
CVS commit: src/external/cddl/osnet/dist/lib/libdtrace/common
Module Name:src Committed By: jkoshy Date: Mon May 2 20:09:48 UTC 2022 Modified Files: src/external/cddl/osnet/dist/lib/libdtrace/common: dt_link.c Log Message: Follow FreeBSD revision <0e15d9fbeba4> and simplify #ifdef'ed code. This change avoids redefining 'SHN_SUNW_IGNORE' if the symbol is already present. To generate a diff of this commit: cvs rdiff -u -r1.12 -r1.13 \ 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.
CVS commit: src/external/cddl/osnet/dist/lib/libdtrace/common
Module Name:src Committed By: jkoshy Date: Mon May 2 20:09:48 UTC 2022 Modified Files: src/external/cddl/osnet/dist/lib/libdtrace/common: dt_link.c Log Message: Follow FreeBSD revision <0e15d9fbeba4> and simplify #ifdef'ed code. This change avoids redefining 'SHN_SUNW_IGNORE' if the symbol is already present. To generate a diff of this commit: cvs rdiff -u -r1.12 -r1.13 \ 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.12 src/external/cddl/osnet/dist/lib/libdtrace/common/dt_link.c:1.13 --- src/external/cddl/osnet/dist/lib/libdtrace/common/dt_link.c:1.12 Tue Dec 3 22:10:56 2019 +++ src/external/cddl/osnet/dist/lib/libdtrace/common/dt_link.c Mon May 2 20:09:48 2022 @@ -1678,11 +1678,8 @@ process_obj(dtrace_hdl_t *dtp, const cha * already been processed by an earlier link * invocation. */ -#ifndef illumos -#define SHN_SUNW_IGNORE SHN_ABS -#endif - if (rsym.st_shndx != SHN_SUNW_IGNORE) { -rsym.st_shndx = SHN_SUNW_IGNORE; + if (rsym.st_shndx != SHN_ABS) { +rsym.st_shndx = SHN_ABS; (void) gelf_update_sym(data_sym, ndx, ); } }
CVS commit: src/external/cddl/osnet/dist/lib/libdtrace/common
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
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.
CVS commit: src/external/cddl/osnet/dist/lib/libdtrace/common
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
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.
CVS commit: src/external/cddl/osnet/dist/lib/libdtrace/common
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
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.
CVS commit: src/external/cddl/osnet/dist/lib/libdtrace/common
Module Name:src Committed By: hannken Date: Wed Jul 24 16:57:45 UTC 2019 Modified Files: src/external/cddl/osnet/dist/lib/libdtrace/common: dt_open.c Log Message: Handle automatic module loading on device open more like FreeBSD does. Where FreeBSD uses a module "dtraceall" that depends on all dtrace modules we now load the basic set "dtrace sdt fbt syscall" on open. To generate a diff of this commit: cvs rdiff -u -r1.15 -r1.16 \ 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.
CVS commit: src/external/cddl/osnet/dist/lib/libdtrace/common
Module Name:src Committed By: hannken Date: Wed Jul 24 16:57:45 UTC 2019 Modified Files: src/external/cddl/osnet/dist/lib/libdtrace/common: dt_open.c Log Message: Handle automatic module loading on device open more like FreeBSD does. Where FreeBSD uses a module "dtraceall" that depends on all dtrace modules we now load the basic set "dtrace sdt fbt syscall" on open. To generate a diff of this commit: cvs rdiff -u -r1.15 -r1.16 \ 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.15 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.15 Sun Jul 21 15:38:06 2019 +++ src/external/cddl/osnet/dist/lib/libdtrace/common/dt_open.c Wed Jul 24 16:57:45 2019 @@ -1140,19 +1140,36 @@ dt_vopen(int version, int flags, int *er */ dt_provmod_open(, ); -#ifdef __NetBSD__ +#if defined(__NetBSD__) modctl_load_t cmdargs; + const char * const mod_list[] = { + "dtrace", + "dtrace_sdt", + "dtrace_fbt", + "dtrace_syscall" + }; + + dtfd = -1; + err = 0; + for (i = 0; i < __arraycount(mod_list); i++) { + cmdargs.ml_filename = mod_list[i]; + cmdargs.ml_flags = MODCTL_NO_PROP; + cmdargs.ml_props = NULL; + cmdargs.ml_propslen = 0; - cmdargs.ml_filename = "dtrace"; - cmdargs.ml_flags = MODCTL_NO_PROP; - cmdargs.ml_props = NULL; - cmdargs.ml_propslen = 0; - - (void)modctl(MODCTL_LOAD, ); + if (modctl(MODCTL_LOAD, ) < 0 && errno != EEXIST) { + err = errno; + break; + } + } + if (err == 0) { + dtfd = open("/dev/dtrace/dtrace", O_RDWR); + err = errno; /* save errno from opening dtfd */ + } #endif +#if defined(__FreeBSD__) dtfd = open("/dev/dtrace/dtrace", O_RDWR); err = errno; /* save errno from opening dtfd */ -#if defined(__FreeBSD__) /* * Automatically load the 'dtraceall' module if we couldn't open the * char device.
CVS commit: src/external/cddl/osnet/dist/lib/libdtrace/common
Module Name:src Committed By: hannken Date: Sun Jul 21 15:38:06 UTC 2019 Modified Files: src/external/cddl/osnet/dist/lib/libdtrace/common: dt_open.c Log Message: Always use "netbsd" as kernel name, dt_module_update() already takes care to load data from the booted kernel image. To generate a diff of this commit: cvs rdiff -u -r1.14 -r1.15 \ 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.
CVS commit: src/external/cddl/osnet/dist/lib/libdtrace/common
Module Name:src Committed By: hannken Date: Sun Jul 21 15:38:06 UTC 2019 Modified Files: src/external/cddl/osnet/dist/lib/libdtrace/common: dt_open.c Log Message: Always use "netbsd" as kernel name, dt_module_update() already takes care to load data from the booted kernel image. To generate a diff of this commit: cvs rdiff -u -r1.14 -r1.15 \ 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.14 src/external/cddl/osnet/dist/lib/libdtrace/common/dt_open.c:1.15 --- src/external/cddl/osnet/dist/lib/libdtrace/common/dt_open.c:1.14 Sun Jul 21 15:37:27 2019 +++ src/external/cddl/osnet/dist/lib/libdtrace/common/dt_open.c Sun Jul 21 15:38:06 2019 @@ -1367,9 +1367,13 @@ alloc: # endif { const char *p; +# ifdef __FreeBSD__ char kernname[512]; p = dt_bootfile(kernname, sizeof(kernname)); +# else + p = "netbsd"; +# endif /* * Format the global variables based on the kernel module name.
CVS commit: src/external/cddl/osnet/dist/lib/libdtrace/common
Module Name:src Committed By: hannken Date: Sun Jul 21 15:37:27 UTC 2019 Modified Files: src/external/cddl/osnet/dist/lib/libdtrace/common: dt_open.c Log Message: Try to load module "dtrace" before opening "/dev/dtrace/dtrace". Fixes PR kern/54387: DTrace Kernel module does not autoload on first use ... To generate a diff of this commit: cvs rdiff -u -r1.13 -r1.14 \ 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.
CVS commit: src/external/cddl/osnet/dist/lib/libdtrace/common
Module Name:src Committed By: hannken Date: Sun Jul 21 15:37:27 UTC 2019 Modified Files: src/external/cddl/osnet/dist/lib/libdtrace/common: dt_open.c Log Message: Try to load module "dtrace" before opening "/dev/dtrace/dtrace". Fixes PR kern/54387: DTrace Kernel module does not autoload on first use ... To generate a diff of this commit: cvs rdiff -u -r1.13 -r1.14 \ 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.13 src/external/cddl/osnet/dist/lib/libdtrace/common/dt_open.c:1.14 --- src/external/cddl/osnet/dist/lib/libdtrace/common/dt_open.c:1.13 Mon May 28 21:05:05 2018 +++ src/external/cddl/osnet/dist/lib/libdtrace/common/dt_open.c Sun Jul 21 15:37:27 2019 @@ -1140,6 +1140,16 @@ dt_vopen(int version, int flags, int *er */ dt_provmod_open(, ); +#ifdef __NetBSD__ + modctl_load_t cmdargs; + + cmdargs.ml_filename = "dtrace"; + cmdargs.ml_flags = MODCTL_NO_PROP; + cmdargs.ml_props = NULL; + cmdargs.ml_propslen = 0; + + (void)modctl(MODCTL_LOAD, ); +#endif dtfd = open("/dev/dtrace/dtrace", O_RDWR); err = errno; /* save errno from opening dtfd */ #if defined(__FreeBSD__)
CVS commit: src/external/cddl/osnet/dist/lib/libdtrace/common
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
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.
CVS commit: src/external/cddl/osnet/dist/lib/libdtrace/common
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
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.
CVS commit: src/external/cddl/osnet/dist/lib/libdtrace/common
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
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.
CVS commit: src/external/cddl/osnet/dist/lib/libdtrace/common
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.
CVS commit: src/external/cddl/osnet/dist/lib/libdtrace/common
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
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
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.
CVS commit: src/external/cddl/osnet/dist/lib/libdtrace/common
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.
CVS commit: src/external/cddl/osnet/dist/lib/libdtrace/common
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)); }
re: CVS commit: src/external/cddl/osnet/dist/lib/libdtrace/common
On Apr 28, 2:06pm, m...@eterna.com.au (matthew green) wrote: -- Subject: re: CVS commit: src/external/cddl/osnet/dist/lib/libdtrace/common | good move using machdep.booted_file. one minor nit: | | + /* This call shouldn't fail, but use a default just in case.*/ | + if (sysctlbyname(BOOTFILE, bootfile, , NULL, 0) != 0) | | this comment isn't really true. it can fail for various reasons | including that the machdep code doesn't know or support this | option.. I removed it. christos
CVS commit: src/external/cddl/osnet/dist/lib/libdtrace/common
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.
CVS commit: src/external/cddl/osnet/dist/lib/libdtrace/common
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);
re: CVS commit: src/external/cddl/osnet/dist/lib/libdtrace/common
good move using machdep.booted_file. one minor nit: + /* This call shouldn't fail, but use a default just in case.*/ + if (sysctlbyname(BOOTFILE, bootfile, , NULL, 0) != 0) this comment isn't really true. it can fail for various reasons including that the machdep code doesn't know or support this option.. .mrg.
CVS commit: src/external/cddl/osnet/dist/lib/libdtrace/common
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
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.
CVS commit: src/external/cddl/osnet/dist/lib/libdtrace/common
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
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.
CVS commit: src/external/cddl/osnet/dist/lib/libdtrace/common
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
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.
CVS commit: src/external/cddl/osnet/dist/lib/libdtrace/common
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.
CVS commit: src/external/cddl/osnet/dist/lib/libdtrace/common
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
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.
CVS commit: src/external/cddl/osnet/dist/lib/libdtrace/common
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
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.
CVS commit: src/external/cddl/osnet/dist/lib/libdtrace/common
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
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.
CVS commit: src/external/cddl/osnet/dist/lib/libdtrace/common
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
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
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.
CVS commit: src/external/cddl/osnet/dist/lib/libdtrace/common
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.
CVS commit: src/external/cddl/osnet/dist/lib/libdtrace/common
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
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
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.
CVS commit: src/external/cddl/osnet/dist/lib/libdtrace/common
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
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.
CVS commit: src/external/cddl/osnet/dist/lib/libdtrace/common
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.
CVS commit: src/external/cddl/osnet/dist/lib/libdtrace/common
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
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.
CVS commit: src/external/cddl/osnet/dist/lib/libdtrace/common
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
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.
CVS commit: src/external/cddl/osnet/dist/lib/libdtrace/common
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
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.
CVS commit: src/external/cddl/osnet/dist/lib/libdtrace/common
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.
CVS commit: src/external/cddl/osnet/dist/lib/libdtrace/common
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
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
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.
CVS commit: src/external/cddl/osnet/dist/lib/libdtrace/common
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
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.
CVS commit: src/external/cddl/osnet/dist/lib/libdtrace/common
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\
re: CVS commit: src/external/cddl/osnet/dist/lib/libdtrace/common
On Sep 29, 10:37am, m...@eterna.com.au (matthew green) wrote: -- Subject: re: CVS commit: src/external/cddl/osnet/dist/lib/libdtrace/common | Christos Zoulas writes: | > On Sep 25, 9:30am, m...@eterna.com.au (matthew green) wrote: | > -- Subject: re: CVS commit: src/external/cddl/osnet/dist/lib/libdtrace/co= | mmon | >=20 | > | when you sync things, can you also include what version you sunc with? | > | so for the next person to update, they know what baseline we have in | > | our tree. | >=20 | > In this case all the source files have __FBSDID's... Do you mean add in | > the commit message the date and the time I did the last svn sync? | | ah, that's mostly good enough i guess. | | i'd really rather "cvs import", so that we can do diffs against their | version directly, but the above is close enough :) Ok, next time. It is not that hard to do anyway... christos
re: CVS commit: src/external/cddl/osnet/dist/lib/libdtrace/common
Christos Zoulas writes: > On Sep 25, 9:30am, m...@eterna.com.au (matthew green) wrote: > -- Subject: re: CVS commit: src/external/cddl/osnet/dist/lib/libdtrace/common > > | when you sync things, can you also include what version you sunc with? > | so for the next person to update, they know what baseline we have in > | our tree. > > In this case all the source files have __FBSDID's... Do you mean add in > the commit message the date and the time I did the last svn sync? ah, that's mostly good enough i guess. i'd really rather "cvs import", so that we can do diffs against their version directly, but the above is close enough :) thanks.
Re: CVS commit: src/external/cddl/osnet/dist/lib/libdtrace/common
chris...@zoulas.com (Christos Zoulas) writes: > On Sep 25, 9:30am, m...@eterna.com.au (matthew green) wrote: > -- Subject: re: CVS commit: src/external/cddl/osnet/dist/lib/libdtrace/common > > | when you sync things, can you also include what version you sunc with? > | so for the next person to update, they know what baseline we have in > | our tree. > > In this case all the source files have __FBSDID's... Do you mean add in > the commit message the date and the time I did the last svn sync? What I'd like to see is the commit message specify which FreeBSD branch it came from (head presumably, but not entirely clear) and the date. Your point about _FBSDID is fair, but doing a cvs up -D or the equiv in FreeBSD before importing would make it clearer to do later updates (since we can't/shouldn't tag FreeBSD's tree for exports to us). pgpqZLL_BEH71.pgp Description: PGP signature
CVS commit: src/external/cddl/osnet/dist/lib/libdtrace/common
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.
CVS commit: src/external/cddl/osnet/dist/lib/libdtrace/common
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
Module Name:src Committed By: christos Date: Thu Sep 24 14:25:30 UTC 2015 Modified Files: src/external/cddl/osnet/dist/lib/libdtrace/common: drti.c dt_aggregate.c dt_as.c dt_cc.c dt_cg.c dt_consume.c dt_decl.c dt_decl.h dt_dis.c dt_dof.c dt_error.c dt_errtags.h dt_grammar.y dt_handle.c dt_ident.c dt_impl.h dt_lex.l dt_link.c dt_list.h dt_map.c dt_module.c dt_module.h dt_open.c dt_options.c dt_parser.c dt_parser.h dt_pid.c dt_pid.h dt_pragma.c dt_printf.c dt_proc.c dt_proc.h dt_program.c dt_provider.c dt_provider.h dt_regset.c dt_regset.h dt_string.c dt_string.h dt_subr.c dt_work.c dt_xlator.c dtrace.h mkerrtags.sh mknames.sh Added Files: src/external/cddl/osnet/dist/lib/libdtrace/common: dt_pq.c dt_pq.h dt_print.c Log Message: sync with FreeBSD To generate a diff of this commit: cvs rdiff -u -r1.3 -r1.4 \ src/external/cddl/osnet/dist/lib/libdtrace/common/drti.c \ src/external/cddl/osnet/dist/lib/libdtrace/common/dt_as.c \ src/external/cddl/osnet/dist/lib/libdtrace/common/dt_cc.c \ src/external/cddl/osnet/dist/lib/libdtrace/common/dt_dis.c \ src/external/cddl/osnet/dist/lib/libdtrace/common/dt_dof.c \ src/external/cddl/osnet/dist/lib/libdtrace/common/dt_error.c \ src/external/cddl/osnet/dist/lib/libdtrace/common/dt_ident.c \ src/external/cddl/osnet/dist/lib/libdtrace/common/dt_lex.l \ src/external/cddl/osnet/dist/lib/libdtrace/common/dt_pragma.c \ src/external/cddl/osnet/dist/lib/libdtrace/common/dt_work.c cvs rdiff -u -r1.5 -r1.6 \ src/external/cddl/osnet/dist/lib/libdtrace/common/dt_aggregate.c \ src/external/cddl/osnet/dist/lib/libdtrace/common/dt_impl.h \ src/external/cddl/osnet/dist/lib/libdtrace/common/dt_open.c \ src/external/cddl/osnet/dist/lib/libdtrace/common/mkerrtags.sh \ src/external/cddl/osnet/dist/lib/libdtrace/common/mknames.sh cvs rdiff -u -r1.4 -r1.5 \ src/external/cddl/osnet/dist/lib/libdtrace/common/dt_cg.c \ src/external/cddl/osnet/dist/lib/libdtrace/common/dt_handle.c \ src/external/cddl/osnet/dist/lib/libdtrace/common/dt_program.c \ src/external/cddl/osnet/dist/lib/libdtrace/common/dtrace.h cvs rdiff -u -r1.7 -r1.8 \ src/external/cddl/osnet/dist/lib/libdtrace/common/dt_consume.c \ src/external/cddl/osnet/dist/lib/libdtrace/common/dt_link.c \ src/external/cddl/osnet/dist/lib/libdtrace/common/dt_printf.c cvs rdiff -u -r1.1.1.1 -r1.2 \ src/external/cddl/osnet/dist/lib/libdtrace/common/dt_decl.c \ src/external/cddl/osnet/dist/lib/libdtrace/common/dt_decl.h \ src/external/cddl/osnet/dist/lib/libdtrace/common/dt_module.h \ src/external/cddl/osnet/dist/lib/libdtrace/common/dt_parser.h \ src/external/cddl/osnet/dist/lib/libdtrace/common/dt_pid.h \ src/external/cddl/osnet/dist/lib/libdtrace/common/dt_provider.h \ src/external/cddl/osnet/dist/lib/libdtrace/common/dt_regset.c \ src/external/cddl/osnet/dist/lib/libdtrace/common/dt_regset.h \ src/external/cddl/osnet/dist/lib/libdtrace/common/dt_string.c \ src/external/cddl/osnet/dist/lib/libdtrace/common/dt_string.h \ src/external/cddl/osnet/dist/lib/libdtrace/common/dt_xlator.c cvs rdiff -u -r1.2 -r1.3 \ src/external/cddl/osnet/dist/lib/libdtrace/common/dt_errtags.h \ src/external/cddl/osnet/dist/lib/libdtrace/common/dt_grammar.y \ src/external/cddl/osnet/dist/lib/libdtrace/common/dt_list.h \ src/external/cddl/osnet/dist/lib/libdtrace/common/dt_map.c \ src/external/cddl/osnet/dist/lib/libdtrace/common/dt_proc.h \ src/external/cddl/osnet/dist/lib/libdtrace/common/dt_provider.c cvs rdiff -u -r1.8 -r1.9 \ src/external/cddl/osnet/dist/lib/libdtrace/common/dt_module.c cvs rdiff -u -r1.6 -r1.7 \ src/external/cddl/osnet/dist/lib/libdtrace/common/dt_options.c \ src/external/cddl/osnet/dist/lib/libdtrace/common/dt_parser.c \ src/external/cddl/osnet/dist/lib/libdtrace/common/dt_pid.c \ src/external/cddl/osnet/dist/lib/libdtrace/common/dt_proc.c cvs rdiff -u -r0 -r1.1 \ src/external/cddl/osnet/dist/lib/libdtrace/common/dt_pq.c \ src/external/cddl/osnet/dist/lib/libdtrace/common/dt_pq.h \ src/external/cddl/osnet/dist/lib/libdtrace/common/dt_print.c cvs rdiff -u -r1.11 -r1.12 \ 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.
re: CVS commit: src/external/cddl/osnet/dist/lib/libdtrace/common
thanks for getting dtrace working better. "Christos Zoulas" writes: > Module Name: src > Committed By: christos > Date: Thu Sep 24 14:25:30 UTC 2015 > > Modified Files: > src/external/cddl/osnet/dist/lib/libdtrace/common: drti.c > dt_aggregate.c dt_as.c dt_cc.c dt_cg.c dt_consume.c dt_decl.c > dt_decl.h dt_dis.c dt_dof.c dt_error.c dt_errtags.h dt_grammar.y > dt_handle.c dt_ident.c dt_impl.h dt_lex.l dt_link.c dt_list.h > dt_map.c dt_module.c dt_module.h dt_open.c dt_options.c dt_parser.c > dt_parser.h dt_pid.c dt_pid.h dt_pragma.c dt_printf.c dt_proc.c > dt_proc.h dt_program.c dt_provider.c dt_provider.h dt_regset.c > dt_regset.h dt_string.c dt_string.h dt_subr.c dt_work.c dt_xlator.c > dtrace.h mkerrtags.sh mknames.sh > Added Files: > src/external/cddl/osnet/dist/lib/libdtrace/common: dt_pq.c dt_pq.h > dt_print.c > > Log Message: > sync with FreeBSD when you sync things, can you also include what version you sunc with? so for the next person to update, they know what baseline we have in our tree. thanks. .mrg.
CVS commit: src/external/cddl/osnet/dist/lib/libdtrace/common
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
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
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.
CVS commit: src/external/cddl/osnet/dist/lib/libdtrace/common
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.
CVS commit: src/external/cddl/osnet/dist/lib/libdtrace/common
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
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.
CVS commit: src/external/cddl/osnet/dist/lib/libdtrace/common
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
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.
CVS commit: src/external/cddl/osnet/dist/lib/libdtrace/common
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
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.
CVS commit: src/external/cddl/osnet/dist/lib/libdtrace/common
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
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.
CVS commit: src/external/cddl/osnet/dist/lib/libdtrace/common
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
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.
Re: CVS commit: src/external/cddl/osnet/dist/lib/libdtrace/common
On Wed, Jan 02, 2013 at 09:19:13PM +, Matthias Scheler wrote: 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. That code (and zfs) seems to be built with rather generous compiler options. David -- David Laight: da...@l8s.co.uk
CVS commit: src/external/cddl/osnet/dist/lib/libdtrace/common
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
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.
CVS commit: src/external/cddl/osnet/dist/lib/libdtrace/common
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
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.
CVS commit: src/external/cddl/osnet/dist/lib/libdtrace/common
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
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.
CVS commit: src/external/cddl/osnet/dist/lib/libdtrace/common
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
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.