diff options
Diffstat (limited to 'usr/src/lib/libdtrace/common')
-rw-r--r-- | usr/src/lib/libdtrace/common/dt_open.c | 6 | ||||
-rw-r--r-- | usr/src/lib/libdtrace/common/dt_proc.c | 10 | ||||
-rw-r--r-- | usr/src/lib/libdtrace/common/procfs.d.in | 11 | ||||
-rw-r--r-- | usr/src/lib/libdtrace/common/procfs.sed.in | 15 |
4 files changed, 29 insertions, 13 deletions
diff --git a/usr/src/lib/libdtrace/common/dt_open.c b/usr/src/lib/libdtrace/common/dt_open.c index 5a9321b178..db7a384b18 100644 --- a/usr/src/lib/libdtrace/common/dt_open.c +++ b/usr/src/lib/libdtrace/common/dt_open.c @@ -99,8 +99,9 @@ #define DT_VERS_1_2_1 DT_VERSION_NUMBER(1, 2, 1) #define DT_VERS_1_2_2 DT_VERSION_NUMBER(1, 2, 2) #define DT_VERS_1_3 DT_VERSION_NUMBER(1, 3, 0) -#define DT_VERS_LATEST DT_VERS_1_3 -#define DT_VERS_STRING "Sun D 1.3" +#define DT_VERS_1_4 DT_VERSION_NUMBER(1, 4, 0) +#define DT_VERS_LATEST DT_VERS_1_4 +#define DT_VERS_STRING "Sun D 1.4" const dt_version_t _dtrace_versions[] = { DT_VERS_1_0, /* D API 1.0.0 (PSARC 2001/466) Solaris 10 FCS */ @@ -109,6 +110,7 @@ const dt_version_t _dtrace_versions[] = { DT_VERS_1_2_1, /* D API 1.2.1 Solaris Express 4/06 */ DT_VERS_1_2_2, /* D API 1.2.2 Solaris Express 6/06 */ DT_VERS_1_3, /* D API 1.3 Solaris Express 10/06 */ + DT_VERS_1_4, /* D API 1.4 Solaris Express 2/07 */ 0 }; diff --git a/usr/src/lib/libdtrace/common/dt_proc.c b/usr/src/lib/libdtrace/common/dt_proc.c index 66bc3aa011..3d739a7b06 100644 --- a/usr/src/lib/libdtrace/common/dt_proc.c +++ b/usr/src/lib/libdtrace/common/dt_proc.c @@ -2,9 +2,8 @@ * CDDL HEADER START * * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. + * Common Development and Distribution License (the "License"). + * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. @@ -91,7 +90,8 @@ #include <dt_impl.h> #define IS_SYS_EXEC(w) (w == SYS_exec || w == SYS_execve) -#define IS_SYS_FORK(w) (w == SYS_vfork || w == SYS_fork1 || w == SYS_forkall) +#define IS_SYS_FORK(w) (w == SYS_vfork || w == SYS_fork1 || \ + w == SYS_forkall || w == SYS_forksys) static dt_bkpt_t * dt_proc_bpcreate(dt_proc_t *dpr, uintptr_t addr, dt_bkpt_f *func, void *data) @@ -504,6 +504,8 @@ dt_proc_control(void *arg) (void) Psysexit(P, SYS_fork1, B_TRUE); (void) Psysentry(P, SYS_forkall, B_TRUE); (void) Psysexit(P, SYS_forkall, B_TRUE); + (void) Psysentry(P, SYS_forksys, B_TRUE); + (void) Psysexit(P, SYS_forksys, B_TRUE); Psync(P); /* enable all /proc changes */ dt_proc_attach(dpr, B_FALSE); /* enable rtld breakpoints */ diff --git a/usr/src/lib/libdtrace/common/procfs.d.in b/usr/src/lib/libdtrace/common/procfs.d.in index 5d97197c31..915d754d88 100644 --- a/usr/src/lib/libdtrace/common/procfs.d.in +++ b/usr/src/lib/libdtrace/common/procfs.d.in @@ -18,6 +18,7 @@ * * CDDL HEADER END */ + /* * Copyright 2006 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. @@ -69,12 +70,18 @@ inline int PR_DETACH = @PR_DETACH@; #pragma D binding "1.0" PR_DETACH inline int PR_DAEMON = @PR_DAEMON@; #pragma D binding "1.0" PR_DAEMON +inline int PR_IDLE = @PR_IDLE@; +#pragma D binding "1.4" PR_IDLE inline int PR_ISSYS = @PR_ISSYS@; #pragma D binding "1.0" PR_ISSYS inline int PR_VFORKP = @PR_VFORKP@; #pragma D binding "1.0" PR_VFORKP inline int PR_ORPHAN = @PR_ORPHAN@; #pragma D binding "1.0" PR_ORPHAN +inline int PR_NOSIGCHLD = @PR_NOSIGCHLD@; +#pragma D binding "1.4" PR_NOSIGCHLD +inline int PR_WAITPID = @PR_WAITPID@; +#pragma D binding "1.4" PR_WAITPID inline int PR_FORK = @PR_FORK@; #pragma D binding "1.0" PR_FORK inline int PR_RLC = @PR_RLC@; @@ -91,8 +98,6 @@ inline int PR_PTRACE = @PR_PTRACE@; #pragma D binding "1.0" PR_PTRACE inline int PR_MSFORK = @PR_MSFORK@; #pragma D binding "1.0" PR_MSFORK -inline int PR_IDLE = @PR_IDLE@; -#pragma D binding "1.0" PR_IDLE inline char PR_MODEL_ILP32 = @PR_MODEL_ILP32@; #pragma D binding "1.0" PR_MODEL_ILP32 @@ -292,6 +297,8 @@ translator lwpsinfo_t < kthread_t *T > { ((T == T->t_procp->p_agenttp) ? PR_AGENT : 0) | ((!(T->t_proc_flag & @TP_TWAIT@)) ? PR_DETACH : 0) | ((T->t_proc_flag & @TP_DAEMON@) ? PR_DAEMON : 0) | + ((T->t_procp->p_pidflag & @CLDNOSIGCHLD@) ? PR_NOSIGCHLD : 0) | + ((T->t_procp->p_pidflag & @CLDWAITPID@) ? PR_WAITPID : 0) | ((T->t_procp->p_proc_flag & @P_PR_FORK@) ? PR_FORK : 0) | ((T->t_procp->p_proc_flag & @P_PR_RUNLCL@) ? PR_RLC : 0) | ((T->t_procp->p_proc_flag & @P_PR_KILLCL@) ? PR_KLC : 0) | diff --git a/usr/src/lib/libdtrace/common/procfs.sed.in b/usr/src/lib/libdtrace/common/procfs.sed.in index a3d7a23f08..f889f6333c 100644 --- a/usr/src/lib/libdtrace/common/procfs.sed.in +++ b/usr/src/lib/libdtrace/common/procfs.sed.in @@ -2,9 +2,8 @@ * CDDL HEADER START * * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. + * Common Development and Distribution License (the "License"). + * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. @@ -19,8 +18,9 @@ * * CDDL HEADER END */ + /* - * Copyright 2003 Sun Microsystems, Inc. All rights reserved. + * Copyright 2006 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ @@ -76,6 +76,9 @@ SED_REPLACE(SSTOP) SED_REPLACE(SIDL) SED_REPLACE(SONPROC) +SED_REPLACE(CLDNOSIGCHLD) +SED_REPLACE(CLDWAITPID) + SED_REPLACE(PR_STOPPED) SED_REPLACE(PR_ISTOP) SED_REPLACE(PR_DSTOP) @@ -86,9 +89,12 @@ SED_REPLACE(PR_ASLWP) SED_REPLACE(PR_AGENT) SED_REPLACE(PR_DETACH) SED_REPLACE(PR_DAEMON) +SED_REPLACE(PR_IDLE) SED_REPLACE(PR_ISSYS) SED_REPLACE(PR_VFORKP) SED_REPLACE(PR_ORPHAN) +SED_REPLACE(PR_NOSIGCHLD) +SED_REPLACE(PR_WAITPID) SED_REPLACE(PR_FORK) SED_REPLACE(PR_RLC) SED_REPLACE(PR_KLC) @@ -97,7 +103,6 @@ SED_REPLACE(PR_MSACCT) SED_REPLACE(PR_BPTADJ) SED_REPLACE(PR_PTRACE) SED_REPLACE(PR_MSFORK) -SED_REPLACE(PR_IDLE) SED_REPLACE(PR_MODEL_ILP32) SED_REPLACE(PR_MODEL_LP64) |