From 7c5c8a5e46518c9cfe89038434824ff955f90e44 Mon Sep 17 00:00:00 2001 From: Martin Hunt Date: Fri, 29 Jan 1999 09:46:26 +0000 Subject: [PATCH] 1999-01-29 Martin Hunt * 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. --- gdb/ChangeLog-gdbtk | 10 ++++++++++ gdb/gdbtk-cmds.c | 4 ++-- gdb/gdbtk-hooks.c | 19 +++++++++++++++---- 3 files changed, 27 insertions(+), 6 deletions(-) diff --git a/gdb/ChangeLog-gdbtk b/gdb/ChangeLog-gdbtk index 84ec4688598..9bfc14942fa 100644 --- a/gdb/ChangeLog-gdbtk +++ b/gdb/ChangeLog-gdbtk @@ -1,5 +1,15 @@ 1999-01-29 Martin Hunt + * 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. diff --git a/gdb/gdbtk-cmds.c b/gdb/gdbtk-cmds.c index 19311c63288..40fc50a95f1 100644 --- a/gdb/gdbtk-cmds.c +++ b/gdb/gdbtk-cmds.c @@ -2789,7 +2789,7 @@ gdb_loadfile (clientData, interp, objc, objv) 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))) @@ -3229,7 +3229,7 @@ gdb_get_breakpoint_info (clientData, interp, objc, objv) 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)); diff --git a/gdb/gdbtk-hooks.c b/gdb/gdbtk-hooks.c index f92beb95ea3..2a2ffa0fda5 100644 --- a/gdb/gdbtk-hooks.c +++ b/gdb/gdbtk-hooks.c @@ -110,7 +110,8 @@ static void gdbtk_flush PARAMS ((GDB_FILE *)); 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)); @@ -166,7 +167,8 @@ gdbtk_add_hooks(void) 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; @@ -320,9 +322,18 @@ gdbtk_ignorable_warning (warning) } 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"); } -- 2.30.2