aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMark Johnston <markj@FreeBSD.org>2014-05-08 03:43:18 +0000
committerMark Johnston <markj@FreeBSD.org>2014-05-08 03:43:18 +0000
commitf0736f4cec5bd07539272021d9482ea079bbe7ad (patch)
treec0131232f4512adf21d9413e6ef41d9f9e0824e4
parent59c56d6c6f6cc316ed2c8e82f4f38b1693e613c5 (diff)
downloadsrc-f0736f4cec5bd07539272021d9482ea079bbe7ad.tar.gz
src-f0736f4cec5bd07539272021d9482ea079bbe7ad.zip
Re-apply r248644. This fixes an annoying problem which caused dtrace -c to
fail to attach to stripped binaries. With the _r_debug_postinit symbol, dtrace(1) can now set a breakpoint in the victim process after it has registered its DOF table(s) with the kernel. r_debug_state cannot be used for this purpose since it is called before DOF is made available, in which case dtrace(1) cannot create USDT probes before the program begins execution. MFC after: 2 weeks
Notes
Notes: svn path=/head/; revision=265631
-rw-r--r--cddl/contrib/opensolaris/lib/libdtrace/common/dt_open.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/cddl/contrib/opensolaris/lib/libdtrace/common/dt_open.c b/cddl/contrib/opensolaris/lib/libdtrace/common/dt_open.c
index 767114ea571b..92251d5f4f4b 100644
--- a/cddl/contrib/opensolaris/lib/libdtrace/common/dt_open.c
+++ b/cddl/contrib/opensolaris/lib/libdtrace/common/dt_open.c
@@ -1138,7 +1138,7 @@ alloc:
#if defined(sun)
dtp->dt_prcmode = DT_PROC_STOP_PREINIT;
#else
- dtp->dt_prcmode = DT_PROC_STOP_MAIN;
+ dtp->dt_prcmode = DT_PROC_STOP_POSTINIT;
#endif
dtp->dt_linkmode = DT_LINK_KERNEL;
dtp->dt_linktype = DT_LTYP_ELF;