diff options
-rw-r--r-- | gdb/ChangeLog | 6 | ||||
-rw-r--r-- | gdb/breakpoint.c | 4 | ||||
-rw-r--r-- | gdb/breakpoint.h | 10 | ||||
-rw-r--r-- | gdb/mem-break.c | 4 | ||||
-rw-r--r-- | gdb/remote.c | 8 |
5 files changed, 17 insertions, 15 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog index a8a176e..80ca8b9 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,5 +1,11 @@ 2016-11-03 Yao Qi <yao.qi@linaro.org> + * breakpoint.h (struct bp_target_info) <placed_size>: Remove. + <kind>: New field. + Update all users. + +2016-11-03 Yao Qi <yao.qi@linaro.org> + * arch-utils.h (GDBARCH_BREAKPOINT_MANIPULATION): Define breakpoint_kind_from_pc and sw_breakpoint_from_kind. (GDBARCH_BREAKPOINT_MANIPULATION_ENDIAN): Likewise. diff --git a/gdb/breakpoint.c b/gdb/breakpoint.c index fcf73a5..9afbdbd 100644 --- a/gdb/breakpoint.c +++ b/gdb/breakpoint.c @@ -2770,7 +2770,7 @@ insert_bp_location (struct bp_location *bl, { int val; - bl->overlay_target_info.placed_size + bl->overlay_target_info.kind = breakpoint_kind (bl, &addr); bl->overlay_target_info.placed_address = addr; val = target_insert_breakpoint (bl->gdbarch, @@ -13126,7 +13126,7 @@ bkpt_insert_location (struct bp_location *bl) { CORE_ADDR addr = bl->target_info.reqstd_address; - bl->target_info.placed_size = breakpoint_kind (bl, &addr); + bl->target_info.kind = breakpoint_kind (bl, &addr); bl->target_info.placed_address = addr; if (bl->loc_type == bp_loc_hardware_breakpoint) diff --git a/gdb/breakpoint.h b/gdb/breakpoint.h index aaff3d5..9bdc8ff 100644 --- a/gdb/breakpoint.h +++ b/gdb/breakpoint.h @@ -260,13 +260,9 @@ struct bp_target_info /* The length of the data cached in SHADOW_CONTENTS. */ int shadow_len; - /* The size of the placed breakpoint, according to - gdbarch_breakpoint_from_pc, when the breakpoint was inserted. - This is generally the same as SHADOW_LEN, unless we did not need - to read from the target to implement the memory breakpoint - (e.g. if a remote stub handled the details). We may still need - the size to remove the breakpoint safely. */ - int placed_size; + /* The breakpoint's kind. It is used in 'kind' parameter in Z + packets. */ + int kind; /* Vector of conditions the target should evaluate if it supports target-side breakpoint conditions. */ diff --git a/gdb/mem-break.c b/gdb/mem-break.c index dafe834..50f7d9c 100644 --- a/gdb/mem-break.c +++ b/gdb/mem-break.c @@ -44,7 +44,7 @@ default_memory_insert_breakpoint (struct gdbarch *gdbarch, int val; /* Determine appropriate breakpoint contents and size for this address. */ - bp = gdbarch_sw_breakpoint_from_kind (gdbarch, bp_tgt->placed_size, &bplen); + bp = gdbarch_sw_breakpoint_from_kind (gdbarch, bp_tgt->kind, &bplen); /* Save the memory contents in the shadow_contents buffer and then write the breakpoint instruction. */ @@ -76,7 +76,7 @@ default_memory_remove_breakpoint (struct gdbarch *gdbarch, { int bplen; - gdbarch_sw_breakpoint_from_kind (gdbarch, bp_tgt->placed_size, &bplen); + gdbarch_sw_breakpoint_from_kind (gdbarch, bp_tgt->kind, &bplen); return target_write_raw_memory (bp_tgt->placed_address, bp_tgt->shadow_contents, bplen); diff --git a/gdb/remote.c b/gdb/remote.c index c4f3947..cf960e5 100644 --- a/gdb/remote.c +++ b/gdb/remote.c @@ -9719,7 +9719,7 @@ remote_insert_breakpoint (struct target_ops *ops, *(p++) = ','; addr = (ULONGEST) remote_address_masked (addr); p += hexnumstr (p, addr); - xsnprintf (p, endbuf - p, ",%d", bp_tgt->placed_size); + xsnprintf (p, endbuf - p, ",%d", bp_tgt->kind); if (remote_supports_cond_breakpoints (ops)) remote_add_target_side_condition (gdbarch, bp_tgt, p, endbuf); @@ -9775,7 +9775,7 @@ remote_remove_breakpoint (struct target_ops *ops, addr = (ULONGEST) remote_address_masked (bp_tgt->placed_address); p += hexnumstr (p, addr); - xsnprintf (p, endbuf - p, ",%d", bp_tgt->placed_size); + xsnprintf (p, endbuf - p, ",%d", bp_tgt->kind); putpkt (rs->buf); getpkt (&rs->buf, &rs->buf_size, 0); @@ -10030,7 +10030,7 @@ remote_insert_hw_breakpoint (struct target_ops *self, struct gdbarch *gdbarch, addr = remote_address_masked (addr); p += hexnumstr (p, (ULONGEST) addr); - xsnprintf (p, endbuf - p, ",%x", bp_tgt->placed_size); + xsnprintf (p, endbuf - p, ",%x", bp_tgt->kind); if (remote_supports_cond_breakpoints (self)) remote_add_target_side_condition (gdbarch, bp_tgt, p, endbuf); @@ -10084,7 +10084,7 @@ remote_remove_hw_breakpoint (struct target_ops *self, struct gdbarch *gdbarch, addr = remote_address_masked (bp_tgt->placed_address); p += hexnumstr (p, (ULONGEST) addr); - xsnprintf (p, endbuf - p, ",%x", bp_tgt->placed_size); + xsnprintf (p, endbuf - p, ",%x", bp_tgt->kind); putpkt (rs->buf); getpkt (&rs->buf, &rs->buf_size, 0); |