diff options
author | Andreas Arnez <arnez@linux.vnet.ibm.com> | 2017-06-13 15:20:32 +0200 |
---|---|---|
committer | Andreas Arnez <arnez@linux.vnet.ibm.com> | 2017-06-13 15:20:32 +0200 |
commit | f65e204425b5b46a5927d9501c42f25d98a866ce (patch) | |
tree | 3a426d34814a6c2a88abfe6b4894f43f65156b49 | |
parent | 23f945bf8cebf348154aff43782de2e1977e9230 (diff) | |
download | gdb-f65e204425b5b46a5927d9501c42f25d98a866ce.zip gdb-f65e204425b5b46a5927d9501c42f25d98a866ce.tar.gz gdb-f65e204425b5b46a5927d9501c42f25d98a866ce.tar.bz2 |
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.
-rw-r--r-- | gdb/ChangeLog | 6 | ||||
-rw-r--r-- | gdb/dwarf2loc.c | 9 |
2 files changed, 11 insertions, 4 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog index b4a9943..c876c05 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,5 +1,11 @@ 2017-06-13 Andreas Arnez <arnez@linux.vnet.ibm.com> + * 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 <arnez@linux.vnet.ibm.com> + * valops.c (read_value_memory): Change embedded_offset to represent a bit offset instead of a byte offset. * value.h (read_value_memory): Adjust comment. diff --git a/gdb/dwarf2loc.c b/gdb/dwarf2loc.c index ed5b29c..94175ef 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: |