diff -Naur gdb-6.3/gdb/gdbtk/ChangeLog gdb-6.3-modified/gdb/gdbtk/ChangeLog --- gdb-6.3/gdb/gdbtk/ChangeLog 2005-05-15 21:49:09.000000000 -1100 +++ gdb-6.3-modified/gdb/gdbtk/ChangeLog 2005-05-18 01:29:21.811674459 -1100 @@ -1,3 +1,14 @@ +2005-05-18 Steven Johnson + + * generic/gdbtk-cmds.c (gdb_loc): Handle gdb_loc called before + remote target connected, where gdb_loc is to return $pc, default + $pc to entry point of program in question. + * library/interface.tcl (gdbtk_tcl_warning): Filter GDB Warning: + (Internal error: [address] in read in psymtab, but not in symtab) + When it occurs, it occurs excessively and otherwise makes + debugging all but impossible. There is also little an end user + can do with the information presented by the Warning. + 2005-04-28 Ben Elliston * generic/gdbtk-interp.c (gdbtk_interpreter_exec): Return struct diff -Naur gdb-6.3/gdb/gdbtk/generic/gdbtk-cmds.c gdb-6.3-modified/gdb/gdbtk/generic/gdbtk-cmds.c --- gdb-6.3/gdb/gdbtk/generic/gdbtk-cmds.c 2005-05-15 21:49:09.000000000 -1100 +++ gdb-6.3-modified/gdb/gdbtk/generic/gdbtk-cmds.c 2005-05-18 01:18:58.650064928 -1100 @@ -2114,8 +2114,18 @@ if (objc == 1) { - if (deprecated_selected_frame - && (get_frame_pc (deprecated_selected_frame) != read_pc ())) + /* This function can be called, before the target is properly + set-up, the following prevents an error, by trying to + read_pc when there is no pc to read. It defaults pc, + before the target is connected to the entry point of the + program */ + if (!target_has_registers) + { + pc = entry_point_address (); + sal = find_pc_line (pc, 0); + } + else if (deprecated_selected_frame + && (get_frame_pc (deprecated_selected_frame) != read_pc ())) { /* Note - this next line is not correct on all architectures. For a graphical debugger we really want to highlight the diff -Naur gdb-6.3/gdb/gdbtk/library/interface.tcl gdb-6.3-modified/gdb/gdbtk/library/interface.tcl --- gdb-6.3/gdb/gdbtk/library/interface.tcl 2005-05-15 21:49:09.000000000 -1100 +++ gdb-6.3-modified/gdb/gdbtk/library/interface.tcl 2005-05-18 01:17:22.266403377 -1100 @@ -364,6 +364,7 @@ # add the message at the beginning of the switch followed by - switch -regexp $message { + "\(Internal error:.*in read in psymtab, but not in symtab\)" - "Unable to find dynamic linker breakpoint function.*" {return} default {show_warning $message} }