1999-01-29  Martin Hunt  <hunt@cygnus.com>
 
+       * gdbtk-cmds.c (gdb_get_breakpoint_info): When printing addresses,
+        do not rely on the format string "%lx" -- it does not exist for all
+        hosts. Use paddr instead.
+       (gdb_loadfile): Increase maximum line size to pass testsuite cases.
+
+       * gdbtk-hooks.c (gdbtk_add_hooks): Remove pc_changed_hook and
+        add register_changed_hook and memory_changed_hook.
+        (gdbtk_register_changed): New function.
+        (gdbtk_memory_changed): New function.
+
         * gdbtk.c (gdbtk_init): Create tcl warp_pointer command
         for use with testing.
 
 
       Tcl_DStringAppend (&text_cmd_2, " insert end { \t", -1);
       prefix_len_2 = Tcl_DStringLength(&text_cmd_2);
       
-      while (fgets (line + 1, 980, fp))
+      while (fgets (line + 1, 9980, fp))
         {
           sprintf (line_num_buf, "%d", ln);
           if (ltable[ln >> 3] & (1 << (ln % 8)))
   Tcl_ListObjAppendElement (NULL, result_ptr->obj_ptr, new_obj);
   
   Tcl_ListObjAppendElement (NULL, result_ptr->obj_ptr, Tcl_NewIntObj (b->line_number));
-  sprintf_append_element_to_obj (result_ptr->obj_ptr, "0x%lx", b->address);
+  sprintf_append_element_to_obj (result_ptr->obj_ptr, "0x%s", paddr_nz(b->address));
   Tcl_ListObjAppendElement (NULL, result_ptr->obj_ptr,
                            Tcl_NewStringObj (bptypes[b->type], -1));
   Tcl_ListObjAppendElement (NULL, result_ptr->obj_ptr, Tcl_NewBooleanObj(b->enable == enabled));
 
 static void gdbtk_pre_add_symbol PARAMS ((char *));
 static void gdbtk_print_frame_info PARAMS ((struct symtab *, int, int, int));
 static void gdbtk_post_add_symbol PARAMS ((void));
-static void pc_changed PARAMS ((void));
+static void gdbtk_register_changed PARAMS ((int regno));
+static void gdbtk_memory_changed PARAMS ((CORE_ADDR addr, int len));
 static void tracepoint_notify PARAMS ((struct tracepoint *, const char *));
 static void gdbtk_selected_frame_changed PARAMS ((int));
 static void gdbtk_context_change PARAMS ((int));
   trace_find_hook        = gdbtk_trace_find;
   trace_start_stop_hook  = gdbtk_trace_start_stop;
 
-  pc_changed_hook = pc_changed;
+  register_changed_hook = gdbtk_register_changed;
+  memory_changed_hook = gdbtk_memory_changed;
   selected_frame_level_changed_hook = gdbtk_selected_frame_changed;
   context_hook = gdbtk_context_change;
 
 }
 
 static void
-pc_changed()
+gdbtk_register_changed(regno)
+     int regno;
 {
-  Tcl_Eval (gdbtk_interp, "gdbtk_pc_changed");
+  Tcl_Eval (gdbtk_interp, "gdbtk_register_changed");
+}
+
+static void
+gdbtk_memory_changed(addr, len)
+     CORE_ADDR addr;
+     int len;
+{
+  Tcl_Eval (gdbtk_interp, "gdbtk_memory_changed");
 }
 
 \f