From: Jonathan Larmour Date: Fri, 27 Jun 2008 18:56:34 +0000 (+0000) Subject: * remote.c (remote_insert_breakpoint): Ensure that if Z0 X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=7c0f6dcc1a42f4432e4d26bf2eeceef44f73b6f3;p=binutils-gdb.git * remote.c (remote_insert_breakpoint): Ensure that if Z0 unsupported and we fall back to memory_insert_breakpoint, we use the unmodified requested address. --- diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 6a520dd7e41..43d3851f970 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,9 @@ +2008-06-27 Jonathan Larmour + + * remote.c (remote_insert_breakpoint): Ensure that if Z0 + unsupported and we fall back to memory_insert_breakpoint, we + use the unmodified requested address. + 2008-06-27 Joel Brobecker * dwarf2read.c (read_attribute_value): Issue a complaint when diff --git a/gdb/remote.c b/gdb/remote.c index 32ee5e4e6be..e71c467b51a 100644 --- a/gdb/remote.c +++ b/gdb/remote.c @@ -5339,12 +5339,13 @@ remote_insert_breakpoint (struct bp_target_info *bp_tgt) if (remote_protocol_packets[PACKET_Z0].support != PACKET_DISABLE) { - CORE_ADDR addr; + CORE_ADDR addr = bp_tgt->placed_address; struct remote_state *rs; char *p; + int bpsize; gdbarch_breakpoint_from_pc - (current_gdbarch, &bp_tgt->placed_address, &bp_tgt->placed_size); + (current_gdbarch, &addr, &bpsize); rs = get_remote_state (); p = rs->buf; @@ -5352,9 +5353,9 @@ remote_insert_breakpoint (struct bp_target_info *bp_tgt) *(p++) = 'Z'; *(p++) = '0'; *(p++) = ','; - addr = (ULONGEST) remote_address_masked (bp_tgt->placed_address); + addr = (ULONGEST) remote_address_masked (addr); p += hexnumstr (p, addr); - sprintf (p, ",%d", bp_tgt->placed_size); + sprintf (p, ",%d", bpsize); putpkt (rs->buf); getpkt (&rs->buf, &rs->buf_size, 0); @@ -5364,6 +5365,8 @@ remote_insert_breakpoint (struct bp_target_info *bp_tgt) case PACKET_ERROR: return -1; case PACKET_OK: + bp_tgt->placed_address = addr; + bp_tgt->placed_size = bpsize; return 0; case PACKET_UNKNOWN: break;