Print this page
9210 remove KMDB branch debugging support
9211 ::crregs could do with cr2/cr3 support
9209 ::ttrace should be able to filter by thread
Reviewed by: Patrick Mooney <patrick.mooney@joyent.com>
@@ -19,10 +19,12 @@
* CDDL HEADER END
*/
/*
* Copyright 2009 Sun Microsystems, Inc. All rights reserved.
* Use is subject to license terms.
+ *
+ * Copyright 2018 Joyent, Inc.
*/
/*
* MDB Target Layer
*
@@ -180,12 +182,11 @@
/*
* Define convenience macro for referencing target flag pending continue bits.
*/
#define T_CONT_BITS \
- (MDB_TGT_F_STEP | MDB_TGT_F_STEP_OUT | MDB_TGT_F_STEP_BRANCH | \
- MDB_TGT_F_NEXT | MDB_TGT_F_CONT)
+ (MDB_TGT_F_STEP | MDB_TGT_F_STEP_OUT | MDB_TGT_F_NEXT | MDB_TGT_F_CONT)
mdb_tgt_t *
mdb_tgt_create(mdb_tgt_ctor_f *ctor, int flags, int argc, const char *argv[])
{
mdb_module_t *mp;
@@ -1086,12 +1087,10 @@
*/
if (t->t_flags & MDB_TGT_F_STEP)
t_cont = t->t_ops->t_step;
else if (t->t_flags & MDB_TGT_F_NEXT)
t_cont = t->t_ops->t_step;
- else if (t->t_flags & MDB_TGT_F_STEP_BRANCH)
- t_cont = t->t_ops->t_cont;
else if (t->t_flags & MDB_TGT_F_STEP_OUT)
t_cont = t->t_ops->t_cont;
/*
* To handle step-over, we ask the target to find the address past the
@@ -1119,20 +1118,10 @@
if (mdb_tgt_add_vbrkpt(t, addr, MDB_TGT_SPEC_HIDDEN |
MDB_TGT_SPEC_TEMPORARY, no_se_f, NULL) == 0)
return (-1); /* errno is set for us */
}
- /*
- * To handle step-branch, we ask the target to enable it for the coming
- * continue. Step-branch is incompatible with step, so don't enable it
- * if we're going to be stepping.
- */
- if (t->t_flags & MDB_TGT_F_STEP_BRANCH && t_cont == t->t_ops->t_cont) {
- if (t->t_ops->t_step_branch(t) == -1)
- return (-1); /* errno is set for us */
- }
-
(void) mdb_signal_block(SIGHUP);
(void) mdb_signal_block(SIGTERM);
mdb_intr_disable();
t->t_flags &= ~T_CONT_BITS;
@@ -1392,17 +1381,10 @@
mdb_tgt_step_out(mdb_tgt_t *t, mdb_tgt_status_t *tsp)
{
t->t_flags |= MDB_TGT_F_STEP_OUT; /* set flag even if tgt not busy */
return (tgt_request_continue(t, tsp, 0, t->t_ops->t_cont));
}
-
-int
-mdb_tgt_step_branch(mdb_tgt_t *t, mdb_tgt_status_t *tsp)
-{
- t->t_flags |= MDB_TGT_F_STEP_BRANCH; /* set flag even if tgt not busy */
- return (tgt_request_continue(t, tsp, 0, t->t_ops->t_cont));
-}
int
mdb_tgt_next(mdb_tgt_t *t, mdb_tgt_status_t *tsp)
{
t->t_flags |= MDB_TGT_F_NEXT; /* set flag even if tgt not busy */