+2009-12-02 Paul Pluzhnikov <ppluzhnikov@google.com>
+
+ * ada-lang.c (ada_value_assign): Use observer_notify_memory_changed.
+ * valops.c (value_assign): Likewise.
+ * defs.h (deprecated_memory_changed_hook): Remove.
+ * top.c (deprecated_memory_changed_hook): Likewise.
+ * interps.c (clear_interpreter_hooks): Adjust.
+
2009-12-02 Tristan Gingold <gingold@adacore.com>
* symfile.h (dwarf2_build_psymtabs): Remove mainline parameter in
move_bits (buffer, value_bitpos (toval),
value_contents (fromval), 0, bits, 0);
write_memory (to_addr, buffer, len);
- if (deprecated_memory_changed_hook)
- deprecated_memory_changed_hook (to_addr, len);
-
+ observer_notify_memory_changed (to_addr, len, buffer);
+
val = value_copy (toval);
memcpy (value_contents_raw (val), value_contents (fromval),
TYPE_LENGTH (type));
extern char *(*deprecated_readline_hook) (char *);
extern void (*deprecated_readline_end_hook) (void);
extern void (*deprecated_register_changed_hook) (int regno);
-extern void (*deprecated_memory_changed_hook) (CORE_ADDR addr, int len);
extern void (*deprecated_context_hook) (int);
extern ptid_t (*deprecated_target_wait_hook) (ptid_t ptid,
struct target_waitstatus *status,
+2009-12-02 Paul Pluzhnikov <ppluzhnikov@google.com>
+
+ * observer.texi: New memory_changed observer.
+
2009-12-01 Tom Tromey <tromey@redhat.com>
* gdb.texinfo (Reverse Execution): Fix typo.
exited. The argument @var{pid} identifies the inferior.
@end deftypefun
+@deftypefun void memory_changed (CORE_ADDR @var{addr}, int @var{len}, const bfd_byte *@var{data})
+Bytes from @var{data} to @var{data} + @var{len} have been written
+to the current inferior at @var{addr}.
+@end deftypefun
+
@deftypefun void test_notification (int @var{somearg})
This observer is used for internal testing. Do not use.
See testsuite/gdb.gdb/observer.exp.
+2009-12-02 Paul Pluzhnikov <ppluzhnikov@google.com>
+
+ * generic/gdbtk-hooks.c (gdbtk_memory_changed): Adjust.
+ (gdbtk_add_hooks): Adjust.
+
2009-11-09 Keith Seitz <keiths@redhat.com>
* library/srctextwin.itb (lookup_line): Update parameters
static void gdbtk_print_frame_info (struct symtab *, int, int, int);
static void gdbtk_post_add_symbol (void);
static void gdbtk_register_changed (int regno);
-static void gdbtk_memory_changed (CORE_ADDR addr, int len);
+static void gdbtk_memory_changed (CORE_ADDR addr, int len,
+ const bfd_byte *data);
static void gdbtk_selected_frame_changed (int);
static void gdbtk_context_change (int);
static void gdbtk_error_begin (void);
observer_attach_tracepoint_modified (gdbtk_modify_tracepoint);
observer_attach_tracepoint_deleted (gdbtk_delete_tracepoint);
observer_attach_architecture_changed (gdbtk_architecture_changed);
+ observer_attach_memory_changed (gdbtk_memory_changed);
/* Hooks */
deprecated_call_command_hook = gdbtk_call_command;
deprecated_detach_hook = gdbtk_detach;
deprecated_register_changed_hook = gdbtk_register_changed;
- deprecated_memory_changed_hook = gdbtk_memory_changed;
deprecated_selected_frame_level_changed_hook = gdbtk_selected_frame_changed;
deprecated_context_hook = gdbtk_context_change;
}
static void
-gdbtk_memory_changed (CORE_ADDR addr, int len)
+gdbtk_memory_changed (CORE_ADDR addr, int len, const bfd_byte *data)
{
if (Tcl_Eval (gdbtk_interp, "gdbtk_memory_changed") != TCL_OK)
report_error ();
deprecated_readline_hook = 0;
deprecated_readline_end_hook = 0;
deprecated_register_changed_hook = 0;
- deprecated_memory_changed_hook = 0;
deprecated_context_hook = 0;
deprecated_target_wait_hook = 0;
deprecated_call_command_hook = 0;
that several registers have changed (see value_assign). */
void (*deprecated_register_changed_hook) (int regno);
-/* Tell the GUI someone changed LEN bytes of memory at ADDR */
-void (*deprecated_memory_changed_hook) (CORE_ADDR addr, int len);
-
/* Called when going to wait for the target. Usually allows the GUI to run
while waiting for target events. */
}
write_memory (changed_addr, dest_buffer, changed_len);
- if (deprecated_memory_changed_hook)
- deprecated_memory_changed_hook (changed_addr, changed_len);
+ observer_notify_memory_changed (changed_addr, changed_len,
+ dest_buffer);
}
break;