57 lines
1.9 KiB
Diff
57 lines
1.9 KiB
Diff
|
commit f65e204425b5b46a5927d9501c42f25d98a866ce
|
||
|
Author: Andreas Arnez <arnez@linux.vnet.ibm.com>
|
||
|
Date: Tue Jun 13 15:20:32 2017 +0200
|
||
|
|
||
|
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.
|
||
|
|
||
|
### 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.
|
||
|
--- 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:
|