From: Andreas Arnez Date: Tue, 13 Jun 2017 13:20:32 +0000 (+0200) Subject: write_pieced_value: Notify memory_changed observers X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=f65e204425b5b46a5927d9501c42f25d98a866ce;p=binutils-gdb.git write_pieced_value: Notify memory_changed observers So far write_pieced_value uses write_memory when writing memory pieces to the target. However, this is a case where GDB potentially overwrites a watchpoint value. In such a case write_memory_with_notification should be used instead, so that memory_changed observers get notified. gdb/ChangeLog: * dwarf2loc.c (write_pieced_value): When writing the data for a memory piece, use write_memory_with_notification instead of write_memory. --- diff --git a/gdb/ChangeLog b/gdb/ChangeLog index b4a9943ab9f..c876c05c4fe 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,9 @@ +2017-06-13 Andreas Arnez + + * dwarf2loc.c (write_pieced_value): When writing the data for a + memory piece, use write_memory_with_notification instead of + write_memory. + 2017-06-13 Andreas Arnez * valops.c (read_value_memory): Change embedded_offset to diff --git a/gdb/dwarf2loc.c b/gdb/dwarf2loc.c index ed5b29ced33..94175ef189f 100644 --- a/gdb/dwarf2loc.c +++ b/gdb/dwarf2loc.c @@ -2025,9 +2025,9 @@ write_pieced_value (struct value *to, struct value *from) && offset % 8 == 0) { /* Everything is byte-aligned; no buffer needed. */ - write_memory (start_addr, - contents + offset / 8, - this_size_bits / 8); + write_memory_with_notification (start_addr, + contents + offset / 8, + this_size_bits / 8); break; } @@ -2054,7 +2054,8 @@ write_pieced_value (struct value *to, struct value *from) copy_bitwise (buffer.data (), bits_to_skip % 8, contents, offset, this_size_bits, bits_big_endian); - write_memory (start_addr, buffer.data (), this_size); + write_memory_with_notification (start_addr, buffer.data (), + this_size); } break; default: