OSDN Git Service

gdb/ChangeLog:
authorppluzhnikov <ppluzhnikov>
Thu, 3 Dec 2009 04:29:41 +0000 (04:29 +0000)
committerppluzhnikov <ppluzhnikov>
Thu, 3 Dec 2009 04:29:41 +0000 (04:29 +0000)
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.

gdb/gdbtk/ChangeLog:

2009-12-02  Paul Pluzhnikov  <ppluzhnikov@google.com>

* generic/gdbtk-hooks.c (gdbtk_memory_changed): Adjust.
(gdbtk_add_hooks): Adjust.

gdb/doc/ChangeLog:

2009-12-02  Paul Pluzhnikov  <ppluzhnikov@google.com>

* observer.texi: New memory_changed observer.

gdb/ChangeLog
gdb/ada-lang.c
gdb/defs.h
gdb/doc/ChangeLog
gdb/doc/observer.texi
gdb/gdbtk/ChangeLog
gdb/gdbtk/generic/gdbtk-hooks.c
gdb/interps.c
gdb/top.c
gdb/valops.c

index 2bce667..6319afe 100644 (file)
@@ -1,3 +1,11 @@
+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
index 9594d6d..599b8d6 100644 (file)
@@ -2289,9 +2289,8 @@ ada_value_assign (struct value *toval, struct value *fromval)
         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));
index 83e73cd..b944ffb 100644 (file)
@@ -1108,7 +1108,6 @@ extern void (*deprecated_readline_begin_hook) (char *, ...)
 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,
index 090aa14..73a640d 100644 (file)
@@ -1,3 +1,7 @@
+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.
index 0ea9397..1f73374 100644 (file)
@@ -208,6 +208,11 @@ Either @value{GDBN} detached from the inferior, or the inferior
 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.
index e131059..a163b1c 100644 (file)
@@ -1,3 +1,8 @@
+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
index 0175957..09d9ce6 100644 (file)
@@ -94,7 +94,8 @@ static void gdbtk_pre_add_symbol (const char *);
 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);
@@ -129,6 +130,7 @@ gdbtk_add_hooks (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;
@@ -158,7 +160,6 @@ gdbtk_add_hooks (void)
   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;
 
@@ -393,7 +394,7 @@ gdbtk_register_changed (int regno)
 }
 
 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 ();
index da05ee2..483f42c 100644 (file)
@@ -343,7 +343,6 @@ clear_interpreter_hooks (void)
   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;
index b6701b6..69a11ad 100644 (file)
--- a/gdb/top.c
+++ b/gdb/top.c
@@ -259,9 +259,6 @@ void (*deprecated_interactive_hook) (void);
    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.  */
 
index 2771688..34619d3 100644 (file)
@@ -861,8 +861,8 @@ value_assign (struct value *toval, struct value *fromval)
          }
 
        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;