3 * Makefile.in (install-only): Install tracing help files.
7 * gdbtk.c (gdbtk_init): Add elements to the auto_path AS LIST
8 ELEMENTS. This allows gdbtk to work when installed in a directory
9 which has a space in the path. D. Moseley pointed out the bug.
14 * gdbtk.c (gdb_get_vars_command): Return static variables and
15 variables stored in registers.
17 * main.c (main): Call pre/post_add_symbol_hook's when loading
18 executables and symbol files.
22 * gdbtk.c (gdbtk_init): Change all references to
23 GDBTK_IDE to IDE_ENABLED.
27 * gdbtk.c (gdbtk_init): Initialize tkTable.
34 (call_obj_wrapper): in case of error, copy the
35 error message from the result to the error_string.
36 (gdbtk_fputs): add comments.
37 (gdb_actions_command): call validate_actionline when installing the
38 tracepoint, to do the syntax checking of the actions for us.
40 (gdb_get_trace_frame_num): new function to get the
41 trace frame number from gdb.
42 (gdbtk_init): added new command gdb_get_trace_frame_num.
44 (struct wrapped_call_objs): Change the `func' member to
45 be a Tcl_ObjCmdProc, not an Tcl_CmdProc, since it accepts a vector
46 of objects as arguments. Change the object vector to be const,
47 since that's what all the users of this structure seem to expect.
48 (call_obj_wrapper): Cast clientData properly before storing it in
49 the wrapped_args structure.
53 * gdbtk.c (_initialize_gdbtk): Get rid of the console. Patch from
56 * configure.in: Link cygwin32 with subsystem console.
58 * configure: Regenerated
62 * ser-unix.c (wait_for): Do not reset timeout_remaining for cygwin32 so that
63 we can use this member to track real timeouts.
64 (hardwire_readchar): Modify for cygwin32 so that we only ever use a real
65 system timeout of one second. Track the "real" timeout as a series of these
67 Call ui_loop_hook to keep the gui alive.
69 * top.c: Define new hook for cygwin32, "ui_loop_hook".
71 * gdbtk.c (gdbtk_init): Add ui_loop_hook for CygWin32 to work around
76 * gdbtk.c: reinserted the changes that were accidentally deleted:
77 (_initialize_gdbtk): Use correct device names in
78 cygwin-specific call (cosmetic change).
79 (gdbtk_ignorable_warning): removed va_list parameter,
81 (_initialize_gdbtk): add cygwin32 specific code to
82 allow `gdb -nw' to work when specified specified from a windows
83 console-mode command line.
87 * gdbtk.c: Fixed a goof in the definition of the gdb_get_args &
88 gdb_get_locals Tcl commands. Moved the previous ChangeLog entry
89 from ChangeLog to ChangeLog-gdbtk (here)...
93 * Makefile.in (install-only): Add images/icons.txt and
94 images2/icons.txt to files that need to be installed.
98 * gdbtk.c: Add an object call wrapper for the new Tcl_Obj based
99 commands. This way the obj commands will also go through
100 catch_errors. This is just a bandaid while I rewrite the
101 string-based commands to use the object format.
105 * gdbtk.c (_initialize_gdbtk): Use correct device names in
106 cygwin-specific call (cosmetic change).
110 * gdbtk.c (gdbtk_ignorable_warning): removed va_list parameter,
115 * Makefile.in (install-only): Install help files.
119 * gdbtk.c (_initialize_gdbtk): add cygwin32 specific code to
120 allow `gdb -nw' to work when specified specified from a windows
121 console-mode command line.
125 * gdbtcl: Remove directory and contents, this version of
126 the interface is obsolete.
130 * gdbtk.c (gdb_loadfile): Change fstat() call to stat().
131 Needed because you can't convert a FILE* to an fd.
135 * gdbtk.c: (perror_with_name_wrapper) new function to call
136 perror_with_name safely.
137 (gdb_loadfile) added source vs. executable time stamp check.
138 (gdbtk_warning) new function to pass a warning message to the gui.
139 (gdbtk_ignorable_warning) new function to pass a warning
140 to the gui. Used only for the src. vs. exec check.
141 (gdbtk_init) added warning_hook
142 added include <sys/stat.h>
146 * gdbtk.c (gdbtk_start_timer): Include on all platforms. Decrease
147 timer interval a little.
148 (gdbtk_stop_timer): Include on all platforms.
149 (gdbtk_wait): No more signals! Use a timer on all platforms to keep the
151 (gdbtk_init): Remove FIOASYNC and all x_fd references. Now using timers
156 * gdbtk.c (gdb_listfiles): Allocate space for 'files' dynamically.
160 * gdbtk.c (gdbtk_init): Remove redundant variable "IDE".
164 * gdbtk.tcl: Remove, no longer used.
168 * gdbtk.c (gdb_cmd): NEVER call the busy, update, and idle hooks.
172 * gdbtk.c (gdb_loadfile): Don't use the return result from
173 sprintf, which returns a char * under SunOS4.
177 * configure.in: Add $(LIBIDETCL) as well as $(LIBIDE) if
179 * Makefile.in (IDE_CFLAGS_X): Add -I for libidetcl/src.
181 * configure: Rebuild.
185 * gdbtk.c (gdb_get_tracepoint_info): Change formatting of address.
186 (tracepoint_exists): Remove code which confuses assembly traces.
190 * gdbtk.c (gdb_cmd): If argc > 2, assume that the busy and idle hooks
191 should not be called.
195 * gdbtk.c: (gdb_trace_status) new function.
196 (gdbtk_init) added command "gdb_is_tracing".
197 (tracepoint_notify) added passcount information.
201 * gdbtk.c (gdbtk_fputs): Insert fencepost.
202 (gdb_loc): Correct pc calculation.
203 (gdb_immediate_command): Return if a load is in progress.
204 (gdb_cmd): Return if a load is in progress.
205 (target_stop_wrapper): New function.
206 (gdb_stop): Call target_stop_wrapper.
207 (x_event): Add fencepost and optimize load cancel check.
208 (gdbtk_start_timer): Set up structs only once.
209 (gdbtk_stop_timer): Just use preset structs to set timer parameters.
210 (gdb_loadfile): If file cannot be loaded, return error message.
211 (gdb_loadfile): Add space before tab so that lines without
212 a '-' can later be changed to have one.
216 * gdbtk.c (gdbtk_pre_add_symbol): Use Tcl_merge to form Tcl commands.
220 * gdbtk.c (gdb_get_mem): Rewrite to fetch entire contents
221 of the memory window at once.
225 Merged changes from Foundry: list follows by author:
229 * Makefile.in (gdbres.o): New target.
230 (WINDRES): New define.
231 * configure: Rebuilt.
232 * configure.in (WINDRES): Define.
233 (CONFIG_OBS): Include gdbres.o on Windows.
234 * gdbtool.ico: New file.
236 * gdbtk.c (gdbtk_init): Call ide_create_messagebox_command.
237 (gdbtk_cleanup): Call ide_interface_deregister_all.
238 (gdbtk_init): Pass event handle to cleanup.
239 (TclDebug): Use Tcl_Merge to construct command.
240 (gdbtk_init): Call ide_create_cygwin_path_command.
244 * gdbtk.c (gdb_set_bp): Set addr_string for bp.
245 (gdb_get_breakpoint_info): Demangle function
246 names in breakpoint info.
247 Include "demangle.h".
248 (gdb_loc, gdb_listfuncs): Demangle C++
250 (gdb_set_bp): Properly quote filename to fix
251 problems with spaces. Send pc back as a hex string.
252 (gdb_listfuncs): Remove debugging line.
253 Turn off some debugging lines.
254 (breakpoint_notify): Return correct line number.
255 (gdb_get_breakpoint_info): Return correct line number.
256 (gdb_set_bp): New function to provide a better way to
258 (gdbtk_readline, gdbtk_readline_begin): Memory
259 allocated by tcl needs to be freed by Tcl_Free().
260 (find_file_in_dir): Deleted.
261 (gdb_find_file_command): Call full_lookup_symtab().
262 (gdb_listfuncs): Call full_lookup_symtab().
263 (full_lookup_symtab): New function. Like lookup_symtab
264 except handles multiple files with the same basename,
265 full pathnames, and always sets symtab->fullname.
266 (gdb_loadfile): Call full_lookup_symtab(). Clear
268 (gdb_loadfile): Don't tag lines without source.
269 Tag source lines with source_tag.
270 (gdb_find_file_command, find_file_in_dir):
271 Rewrite. Now searches symtabs and psymtabs for a match
272 on the partial or full filename. Returns the full pathname.
273 (gdb_loadfile): Realloc additional memory
274 if someone loads in a file with more than 160,000
275 lines. I don't know if this really works because
276 I don't have enough memory to test it.
277 (gdb_sourcelines): Deleted.
278 (gdb_loadfile): New function. Takes a text widget
279 and loads it with the contents of a file. Marks
280 and tags source lines.
281 (pc_changed): New function.
282 (get_pc_register): Returns the value of
284 (gdb_loc): If looking on the stack, return
285 real pc along with calling source line.
286 (gdb_loc): Return "" instead of "N/A" if
287 filename is not found.
288 (gdb_get_breakpoint_info): Same.
289 (get_register): For Natural mode, set format to 0.
290 Minor bugfixes from keiths.
291 (TclDebug): New function for debugging use.
292 (gdb_loc): Return correct PC for frames
293 that are not the innermost frame.
294 (gdb_listfiles): Rewritten to use object
295 API. Now takes an optional dirname which will cause
296 only files in that directory or its subdirectories
297 to be returned. Now returns basenames instead of
299 (gdb_cmd): Set/reset load_in_progress flag.
300 (call_wrapper): Don't pop up dialog for errors in
301 downloads; just abort download.
302 (gdbtk_load_hash): Set return value correctly.
306 * gdbtk.c (gdbtk_init): Define the ui_loop_hook so that it can be
307 called by routines which might block, allowing us to update the GUI.
308 (gdbtk_wait): Move timer calls to annotation hooks.
309 (gdbtk_init): Define the annotation hooks.
310 (gdbtk_annotate_starting): New function for cygwin32 hosts.
311 (gdbtk_annotate_stopped): New function for cygwin32 hosts.
312 (gdbtk_annotate_exited): New function for cygwin32 hosts.
313 (gdbtk_annotate_signalled): New function. for cygwin32 hosts.
314 (gdbtk_init): Use gdbtk_print_frame_info hook.
315 (gdbtk_print_frame_info): New function which sets current_source_symtab
316 based on the given symtab and line info.
317 (gdb_immediate_command): New function which does
319 output. (Contrast to gdb_cmd.)
320 (gdb_prompt_command): New function to return gdb's prompt.
321 (find_file_in_dir): New functon which searches source paths
322 for a given filename.
323 (gdb_find_file): New function which returns path to given file -- uses
325 (gdbtk_init): Install "gdb_immediate", "gdb_find_file", and
327 commands into interpreter.
331 * gdbtk.c (gdbtk_timer_going): If __CYGWIN32__, new static
333 (gdb_cmd): If __CYGWIN32__, if executing the load command, call
334 gdbtk_start_timer and gdbtk_stop_timer.
335 (call_wrapper): If __CYGWIN32__, if the timer is going, turn it
336 off. Clear load_in_progress.
337 (x_event): If load_in_progress, quit if download_cancel_ok.
338 (gdbtk_start_timer): Set gdbtk_timer_going.
339 (gdbtk_stop_timer): Clear gdbtk_timer_going.
340 (gdbtk_wait): Call x_event.
341 (gdbtk_init): Call ide_create_win_grab_command if
343 (gdb_clear_file): Clear stop_pc.
348 * gdbtk.c (gdbtk_modify_tracepoint): Define new tracepoint modification hook.
349 (gdbtk_print_frame_info): Define this hook so that current_source_symtab
351 (gdb_actions_command): Use free_actions () from tracepoint.c/h.
355 * gdbtk.c (gdb_actions_command): Make note of next action
356 before freeing all references to it.
360 * gdbtk.c: Merge from Foundry branch.
361 (TclDebug): New debugging function.
362 (gdb_loc): For frames, find address of calling function
363 instead of whatever is on the stack (usually the next
365 (gdb_listfiles): Takes an optional pathname argument and
366 returns an alphabetized list of basenames of files in the
371 * symfile.c: Define two new hooks for symbol reading:
372 "pre_add_symbol_hook" and "post_add_symbol_hook". These hooks
373 are called before we begin reading symbols, and after we finish.
374 (generic_load): Use new symbol reading hooks and get rid of
377 * gdbtk.c (gdbtk_init): Add hooks for pre- and post-symbol reading.
378 (gdbtk_pre_add_symbol): New function: the pre-add-symbol hook.
379 (gdbtk_post_add_symbol): New function: the post-add-symbol hook.
380 (find_file_in_dir): New function. Moved the guts of gdb_find_file_command
381 into here to allow its use by others.
382 (gdb_loc): Use find_file_in_dir to return the real path to the file
383 (or "N/A" if we can't find it).
385 * configure.in (TIX_LIB_EXT): Define new variable for those special cases
386 when TCL_SHLIB_SUFFIX is not enough to specify the dependency.
388 * configure: Regenerate.
392 * Makefile.in (uninstall): Remove installed gdbtcl dir, if one
397 * gdbtk.c (gdb_immediate_command): New function which does not buffer any
398 output. (Contrast to gdb_cmd.)
399 (gdbtk_init): Install "gdb_immediate" command into interpreter.
403 * configure.in (--enable-gdbtk): If tcl was built with --enable-shared,
404 use TCL_SHLIB_SUFFIX to specify the suffix of the library file so that
405 we don't expect to see "libfoo.a" instead of "libfoo.{so,sl, etc}".
407 * configure: Regenerate.
411 * gdbtk.c (gdb_actions_command): extract and save step count
412 from "while-stepping" command
416 * Makefile.in (LIBGUI): New variable.
417 (GUI_CFLAGS_X): New variable.
418 (IDE_CFLAGS): Add $(GUI_CFLAGS_X).
419 * configure.in: Add $(LIBGUI) to TCL_LIBS and CONFIG_DEPS.
420 * configure: Rebuild.
424 * gdbtk.c (gdb_get_tracepoint_info): Use info in struct
425 symtab_and_line (not struct tracepoint) so that we get the
426 real line info for an address. Arrange data more like
427 gdb_get_breakpoint_info.
428 (tracepoint_notify): Use info in struct symtab_and_line again.
429 (gdbtk_init): Add command "gdb_get_tracepoint_list" into
431 (gdb_get_tracepoint_list): New function that aids the source
432 window in displaying tracepoints when the file changes.
436 * gdbtk.c (gdbtk_init): Add gdb_find_file into interpreter.
437 (gdb_find_file_command): New function which searches source path
438 to find the real full filename of a file.
442 * gdbtk.c: Move include of "guitcl.h" back out of IDE ifdef.
443 (gdbtk_init): Move ide_initialize_paths out of IDE ifdef.
445 * configure.in (TCL_LIBS, CONFIG_DEPS): Add IDE libraries for all
447 (CONFIG_OBS): Remove tracepoint.o, which should always be included.
449 * configure: regenerate
451 * Makefile.in (install-only): ALWAYS install the new gdbtk
452 (REMOTE_OBS): add tracepoint.o
456 * configure.in ({TCL_LIBS,CONFIG_DEPS}): Don't add IDE libraries
458 (CONFIG_OBS): Add tracepoint.o to list if --enable-gdbtk.
459 * configure: Regenerate.
461 * gdbtk.c (gdb_get_breakpoint_info): Add missing filename
463 (toplevel): Move include of guitcl.h into #ifdef IDE region.
464 (gdbtk_init): Move ide_initialize_paths call into #ifdef IDE
467 * Makefile.in (gdbtk.o): Update dependencies.
471 * gdbtk.c (gdb_loc): symtab_to_filename can return NULL.
472 (breakpoint_notify): Ditto.
473 (gdb_get_breakpoint_info): Ditto.
477 Merge in code from Foundry branch:
479 * Makefile.in (install-only): install the new gdbtk, not the old
481 * gdbtk.c (gdbtk_call_command): also run idle hooks for class_trace
483 (gdbtk_init): Add new commands "gdb_get_locals", "gdb_get_args",
484 "gdb_get_function", "gdb_get_line", "gdb_get_file",
485 "gdb_tracepoint_exists", "gdb_get_tracepoint_info", "gdb_actions",
487 (gdb_get_vars_command): New function.
488 (gdb_get_line_command): New.
489 (gdb_get_file_command): New.
490 (gdb_get_function_command): New.
491 (gdb_get_tracepoint_info): New.
492 (gdbtk_create_tracepoint): New.
493 (gdbtk_delete_tracepoint): New.
494 (tracepoint_notify): New.
495 (tracepoint_exists): New.
496 (gdb_actions_command): New.
497 (gdb_tracepoint_exists_command): New.
498 (gdb_prompt_command): New.
502 * gdbtk.c: Move include of gdbcore.h to top of file.
503 (close_bfds): New static function if _WIN32.
504 (gdbtk_readline): Call close_bfds.
505 (call_wrapper, tk_command_loop): Likewise.
506 (gdb_clear_file): New static function.
507 (gdbtk_init): Create gdb_clear_file Tcl command.
511 * gdbtk.c: gdbtk_load_hash and ui_load_progress_hook return an
513 (gdbtk_load_hash): download hash routine returns an int result.
517 * gdbtk.c (gdbtk_init): Call ide_create_shell_execute_command if
519 * configure.in: Add -lshell32 to WIN32LIBS on cygwin32.
520 * configure: Rebuild.
524 * gdbtk.c (gdbtk_init): Run ide_create_help_command.
528 * gdbtk.c (gdbtk_init): Call ide_create_winprint_command.
532 * configure.in: Add -lgdi32 to WIN32LIBS when linking gdbtk on
534 * configure: Rebuild.
538 * gdbtk.c (gdbtk_init): Create sizebox command on Windows.
542 * gdbtk.c (gdbtk_init): Remove assertion argument from call to
543 ide_create_window_register_command.
547 * gdbtk.c (gdbtk_init): Pass name of restore interface to
548 ide_create_window_register_command.
552 * gdbtk.c (gdbtk_init): Initialize ui_load_progress_hook.
556 * gdbtk.c (gdb_load_info): New function. Returns a list
557 of section names and sizes for an executable.
558 (gdbtk_load_hash): Stub function to call tcl function
563 * gdbtk.c (gdb_get_mem): Fix compiler warning.
567 * gdbtk.c (gdb_get_mem): Fix problem with ASCII dump.
571 * gdbtk.c (gdb_get_mem): New function. Returns
572 a formatted memory dump with optional ASCII dump.
576 * gdbtk.c: Include ilutk.h if IDE.
577 (gdb_confirm_quit, gdb_force_quit): New static functions.
578 (gdbtk_init): Add Tcl commands gdb_confirm_quit and
583 * gdbtk.c (gdb_get_breakpoint_info): Now returns the
584 function a breakpoint is in.
588 * gdbtk.c (gdbtk_init): Call ide_create_exit_command.
592 * gdbtk.c: Include guitcl.h.
593 (gdbtk_init): Always call ide_initialize_paths. Set the Tcl
594 variable IDE to 1 when using the IDE. Always try using auto path
596 * Makefile.in (IDE_CFLAGS_X): Always include libide.
597 (LIBIDE): New variable.
599 (IDE_DEPS): Omit libide.
600 * configure.in: Add LIBIDE to TCL_LIBS and CONFIG_DEPS.
601 * configure: Rebuild.
605 * gdbtk.c: (gdb_target_has_inferior) check if inferior_pid is non-zero
606 before assuming that the inferior is running.
610 * gdbtk.c (gdbtk_start_timer): Pass third argument to setitimer.
611 (gdbtk_stop_timer): Likewise.
615 * gdbtk.c: (gdbtk_init) create new command "gdb_target_has_execution"
616 (gdb_target_has_execution_command) new function
620 * gdbtk.c (gdb_loc): If there are no symbols, just bail
622 (tk_command_loop): Print errors encountered while running
627 * gdbtk.c (gdbtk_init): Run ide_create_build_command.
631 * gdbtk.c: If CYGWIN32, include <sys/time.h>.
632 (x_fd): Don't define if WINNT.
633 (gdbtk_start_timer, gdbtk_stop_timer): New static functions if
635 (gdbtk_wait): Don't set up signal handling if WINNT. If CYGWIN32,
636 call gdbtk_start_timer and gdbtk_stop_timer.
637 (gdbtk_init): Don't set up signal handling or make x_fd
638 asynchronous if CYGWIN32.
642 * gdbtk.c (error_string_ptr): New static variable.
643 (gdbtk_fputs): If result_ptr is NULL, and error_string_ptr is not
644 NULL, and we're outputting to stderr, append string to
645 error_string_ptr rather than calling gdbtk_tcl_fputs.
646 (call_wrapper): Set up error_string_ptr. Put both error string
647 and normal string in Tcl result.
649 * gdbtk.c (gdbtk_init): Don't call ide_run_server_init until after
654 * gdbtk.c: If _WIN32, include winuser.h.
655 (gdbtk_init): If _WIN32, use MessageBox to display an error
660 * gdbtk.c (gdbtk_init): Add call to ide_run_server_init().
661 (gdb_cmd): For the load command, don't buffer the I/O.
665 * gdbtk.c (gdbtk_query): Chaneg free() call to Tcl_Free().
669 * Makefile.in (TCL_DEPS, TK_DEPS): New variables.
670 (ITCL_DEPS, TIX_DEPS): New variables.
671 (IDE_DEPS): New variable.
672 (CDEPS): Include @CONFIG_DEPS@.
673 * configure.in: Set and substitute CONFIG_DEPS and TIX_DEPS.
674 * configure: Rebuild.
678 * gdbtk.c (gdb_listfuncs): New function that returns
679 a list of all the functions in a source file.
683 * Makefile.in (install-only): Install tclIndex if ENABLE_IDE.
687 * gdbtk.c (gdbtk_init): Use ide_event_init_from_environment.
691 * gdbtk.c (gdbtk_init): Change gdbtk_lib_tmp and gdbtk_file to be
692 dynamically allocated, rather than fixed size. Pass "gdbtcl" to
693 ide_initialize_paths to match installed directory name. If IDE,
694 use auto_path to search for main.tcl.
695 * Makefile.in (install-only): If ENABLE_IDE, install from gdbtcl2
698 * gdbtk.c (gdbtk_cleanup): New static function.
699 (gdbtk_init): Add gdbtk_cleanup as a final cleanup. Uncomment
700 call to ide_initialize_paths. If we can't initialize the event
701 system, set GDBTK_IDE to 0 in the Tcl interpreter. Create the
702 ide_window_register and the ide_window commands. Initialize tk,
703 itcl, and tix after initializing the IDE.
705 * configure.in (tixdir): Update for cygwin32 case for Tcl 8.0.
706 * configure: Rebuild.
710 * gdbtk.c (breakpoint_notify): Change buffer size from 100
711 to 256 to avoid memory corruption with very long pathnames.
715 * configure.in: Change required Tix version to 4.1.8.0 .
716 * configure: Rebuilt.
720 * gdbtk.c (Tcl_Alloc): Don't provide our own version of this if
722 (Tcl_Realloc, Tcl_Free): Likewise.
723 * configure.in: Check for cygwin32 environment. Define and
724 substitute WIN32LIBS and WIN32LDAPP. Always set configdir to
725 unix; setting it to win was for an old Tcl/Tk configuration
727 * aclocal.m4 (CY_AC_LOAD_TKCONFIG): Substitute TK_BUILD_INCLUDES.
728 * Makefile.in (TK_CFLAGS): Add @TK_BUILD_INCLUDES@.
729 (WIN32LDAPP, WIN32LIBS): Define.
730 (CLIBS): Add $(WIN32LIBS).
731 (gdb): Use $(WIN32LDAPP).
732 * configure: Rebuild.
736 * configure.in, aclocal.m4: Another fix to find the
737 correct Tix library name.
739 * configure: Rebuilt.
743 * aclocal.m4: Search for the correct tix library.
747 * Makefile.in, configure.in, aclocal.m4: Add Itcl, Tix, and
748 IDE configuration information.
750 * gdbtk.c (breakpoint_notify): Send address, linenumber and
751 filename when a breakpoint is set. Avoids call to bp_info.
752 (gdbtk_init): Call Tcl_FindExecutable(). Add code to handle
753 Itcl, Tix and IDE initialization.
755 * configure: Regenerated.
759 * gdbtk.c (gdbtk_init): Make truth value test explicit.
760 Remove unused static variable "Gdbtk_Library".
764 * gdbtk.c (gdb_get_breakpoint_info): Add string for new
765 enumeration del_at_next_stop to bpdisp array.
769 * Makefile.in (LIB_RUNTIME_DIR): New variable.
773 * gdbtk.c (wrapped_call): New function - make actual call to tk
775 (call_wrapper): Rewrite to use top.c:catch_errors.
777 * gdbtk.c (gdb_stop): If No target_stop set quit flag and hope for
782 * gdbtk.c (gdb_disassemble): Store endian-ness in `di'.
786 * Makefile.in (install-only): Make list of gdbtcl files to install
787 explicit - was picking up files such as ChangeLog etc.
788 (install-only): Don't blindly create the directory.
792 * configure.in (gdbtcl): Create soft-link for gdbtcl/ directory
793 instead of gdbtk.tcl.
797 * Makefile.in (gdbtk.o): look for GDBTK_LIBRARY in $(datadir) by
798 default, not $(srcdir).
802 * Makefile.in: Install gdbtcl dir instead of gdbtk.tcl.
804 * gdbtk.c: Added some ifdefs for Windows. Changed GDBTK_FILENAME
805 to GDBTK_LIBRARY, which is now a path to search.
806 (gdb_path_conv): New function. Convert Cygwin32 pathname to
809 * {aclocal.m4,configure.in}: Changes for Windows builds.
811 * configure: Rebuilt.
815 * configure: Regenerated.
816 * configure.in (LIBS): Re-reverse order of TCL_LIBS and TK_LIBS.
820 * gdbtk.c (x_event): Use Tcl_DoOneEvent, TCL_DONT_WAIT,
823 * configure: Regenerated.
824 * configure.in (ENABLE_GDBTK): Put TCL_LIBS after TK_LIBS in
829 * gdbtk.c (call_wrapper): Clear running_now if an error occurs.
833 * gdbtk.c (gdb_loc): Correct truncation of PC on 64-bit MIPS.
837 * gdbtk.c (gdbtk_readline): Fix memory leak.
841 Fixes for Tcl 7.6 / Tk 4.2:
842 * gdbtk.tcl (apply_filespec): Use tk_getOpenFile.
843 Remove old fileselect code.
844 * gdbtk.c (Tcl_Alloc): Rename from Tcl_Malloc.
848 * gdbtk.tcl (create_copyright_window): Increase timeout from
849 15 seconds to 30 seconds.
853 * configure configure.in: Add host *windows* to list of hosts
854 that don't support GDBtk.
858 * gdbtk.c (gdbtk_init): Check for a DISPLAY env variable and
859 gracefully degrade to using command line interface if none is
864 * Makefile.in (LIB_INSTALL_DIR): New macro.
865 (TCL): Include @TCL_LD_SEARCH_FLAGS@.
869 * gdbtk.c (mainWindow): Deleted.
870 (cleanup_init): Don't destroy main window.
871 (gdbtk_init): Main window now created by Tk_Init.
873 * configure.in: Most X checks now handled automatically by Tk.
874 Use new macros to find Tcl/Tk.
875 * aclocal.m4: New version for new Tcl/Tk; from Don Libes.
876 * config.in, configure: Regenerated.
878 * Makefile.in (TCL, TCL_CFLAGS, TK, TK_CFLAGS, X11_CFLAGS,
879 X11_LDFLAGS, X11_LIBS): Changed for new Tcl and Tk.
883 * Makefile.in (gdbtk.tcl): put in $(datadir), not $(libdir).
887 * gdbtk.c (gdb_disassemble): Initialize di.flavour.
891 * gdbtk.c (null_routine): Ditto.
892 (gdbtk_flush): Ditto.
893 (gdbtk_fputs): Ditto.
894 (gdbtk_query): Ditto.
895 (gdbtk_readline): Ditto.
896 (gdbtk_readline_end): Ditto.
897 (gdb_get_breakpoint_list): Ditto.
898 (gdb_get_breakpoint_info): Ditto.
899 (breakpoint_notify): Ditto.
900 (gdbtk_create_breakpoint): Ditto.
901 (gdbtk_delete_breakpoint): Ditto.
902 (gdbtk_modify_breakpoint): Ditto.
905 (gdb_sourcelines): Ditto.
906 (map_arg_registers): Ditto.
907 (get_register_name): Ditto.
908 (gdb_regnames): Ditto.
909 (get_register): Ditto.
910 (gdb_fetch_registers): Ditto.
911 (register_changed_p): Ditto.
912 (gdb_changed_register_list): Ditto.
914 (call_wrapper): Ditto.
915 (gdb_listfiles): Ditto.
917 (gdbtk_dis_asm_read_memory): Ditto.
918 (compare_lines): Ditto.
919 (gdb_disassemble): Ditto.
921 (cleanup_init): Ditto.
922 (gdbtk_interactive): Ditto.
925 (gdbtk_call_command): Ditto.
926 (tk_command_loop): Ditto.
929 * gdbtk.c (register_changed_p): Remove unused local variable "buf".
933 * gdbtk.tcl (files_command): Reorder the binding tags for
934 the listbox widget to avoid referencing the listbox after
935 the containing widget has been destroyed by the action of
940 * gdbtk.tcl (delete_expr): Unset corresponding element of
941 expr_update_list when destroying an expression.
942 (create_expr_window): Initialize expr_num, delete_expr_num,
943 and expr_update_list here when each new expression window
944 is created, rather than once at startup.
948 * gdbtk.c (gdb_disassemble): Setup di.mach from
949 tm_print_insn_info.mach, and set endian from TARGET_BYTE_ORDER.
953 * gdbtk.tcl (create_register_windows): Include missing '$'s.
954 Add global declarations for various reg_format_* variables.
955 * gdbtk.tcl (populate_register_window): Make initial window one
956 line taller to account for new column header line.
960 * gdbtk.c (get_register): Support for printing raw formats.
961 * gdbtk.tcl: Add hint for using debug_interface.
962 (center_window, add_breakpoint_frame, delete_breakpoint_frame):
963 Enclose arg in braces for consistency.
964 (create_registers_window, populate_reg_window, update_registers):
965 Major rewrite to support displaying multiple formats in the register
967 (init_reg_info): New function.
968 (recompute_reg_display_list): Reset reg_display_list, start
969 register display lines at line 2.
973 * gdbtk.tcl (gdbtk_tcl_readline_begin): Handle backspace to
974 avoid backing up over prompt. At every input, make sure insert
975 point is at least after command start, handle control-u to delete
977 (tclsh): Handle backspace to avoid backing up over prompt. Handle
978 control-u to delete current input line.
982 * configure.in: disable gdbtk for *cygwin32* hosted compiles
983 * configure: regenerated with autoconf 2.8
987 * gdbtk.c (gdbtk_readline_begin, gdbtk_readline, gdbtk_readline_end):
989 (tk_command_loop): Set instream to NULL to enable Tk user interaction.
990 (gdbtk_init): Set readline_begin_hook, readline_hook,
991 and readline_end_hook.
992 * gdbtk.tcl (gdbtk_tcl_readline_begin, gdbtk_tcl_readline,
993 gdbtk_tcl_readline_end): New functions.
994 (tclsh): Pack scroll bar on right side of window, not left.
998 * gdbtk.tcl (create_command_window): Change a misspelled "get"
999 to the intended "cget".
1000 (delete_line): Fix so it deletes the current line at the
1005 * gdbtk.tcl (gdb_prompt): Set this early on.
1006 (create_command_window): Use gdb_prompt rather than "(gdb) ".
1007 (gdbtk_tcl_preloop): Proc executed just prior to Tk main loop.
1008 (tclsh): If an evaluation window already exists, just bring it
1009 to the front instead of trying to create another.
1010 * gdbtk.c (tk_command_loop): New function.
1011 (gdbtk_init): Call tk_command_loop rather than Tk_MainLoop.
1015 * gdbtk.tcl (evaluate_tcl_command, tclsh): New functions that
1016 implement a tcl evaluation window for gdbtk maintainers to use.
1020 * gdbtk.tcl (files_command): Correctly insert list of files into
1023 * gdbtk.tcl (files_command): listbox command no longer accepts
1028 * gdbtk.tcl (create_command_window): If command window's buffer
1029 is disabled, don't execute any of the key bindings.
1033 * gdbtk.c (tk_command): Catch case where no argument is given
1034 since this will cause the tcl interpreter to dump core.
1038 * gdbtk.c: Fix a couple of misspellings.
1042 * gdbtk.tcl (debug_interface): New global, use to aid debugging.
1043 (insert_breakpoint_tag, delete_breakpoint_tag): Fix range.
1044 (file_popup_menu): Delete, never used.
1045 (listing_window_popup): Rename from listing_window_button_1,
1046 remove breakpoint toggling code.
1047 (toggle_breakpoint): New procedure.
1048 (create_file_win): Bind popup menu to button 2, toggle breakpoints
1049 with button 1 in breakpoint area, add display of tagged areas if
1054 * gdbtk.c (running_now): New global variable.
1055 (gdb_cmd): Test it before executing any command.
1056 (gdbtk_call_command): Set it when inferior is running.
1057 * gdbtk.tcl (gdbtk_tcl_busy, gdbtk_tcl_idle): Enable and
1058 disable interaction with command window's text appropriately.
1062 * gdbtk.c (SIOCSPGRP, linux): If on Linux, undef SIOCSPGRP, since
1063 some versions of the kernel don't support it.
1067 * gdbtk.tcl (create_file_win): Eliminate text widget B1 binding so
1068 double-clicking will work again.
1069 (create_asm_win): Put "break" at end of all B1 bindings.
1070 (create_file_win): Lower "sel" tag, don't raise it.
1071 (ensure_line_visible): New proc.
1072 (update_listing, update_assembly): Use it.
1073 (create_copyright_window): Destroy window on Leave event.
1074 (create_command_window): Put "break" at end of all B2 bindings.
1078 * gdbtk.tcl, gdbtk.c: Updated copyrights.
1080 * configure.in: Look for -ldl or -ldld when using Tcl 7.5 or
1082 * configure: Rebuilt.
1086 * gdbtk.c (gdb_disassemble): Pass fprintf_unfiltered to
1087 INIT_DISASSEMBLE_INFO.
1091 * gdbtk.tcl (create_expr_window): Many changes to update GUI.
1092 (add_expr): Changes from create_expr_window.
1093 (create_command_window): Set focus.
1094 (delete_expr): Rewrote.
1095 (expr_update_button): New proc.
1096 (add_expr): Put bindings on FocusIn, FocusOut.
1097 Don't allow .file_popup to be torn off.
1101 * gdbtk.tcl (gdbtk_tcl_query): Swap Yes and No buttons.
1102 (update_listing): Use lassign. Use "see" to scroll. Don't need
1103 screen_top, screen_bot, screen_height.
1104 (update_assembly): Use "see" to scroll.
1105 (textscrollproc): Removed.
1106 (create_file_win): Don't use textscrollproc.
1107 (asmscrollproc): Removed.
1108 (create_asm_window): Don't use asmscrollproc.
1109 (create_asm_win): Ditto.
1110 (screen_height, screen_top, screen_bot): Removed.
1111 (run_editor): New proc.
1112 (build_framework): Use it.
1113 (create_file_win, create_source_window): Don't use textscrollproc.
1114 (create_breakpoints_window): Set -xscrollcommand on canvas.
1115 (not_implemented_yet): Default button is 0.
1116 (delete_char): Don't use tk_textBackspace.
1117 (create_command_window): Allow Tk bindings to fire after deleting
1119 (create_command_window): Make Delete delete left, not right.
1123 * gdbtk.tcl (FSBox): Don't use tk_listboxSingleSelect.
1125 Changes in sync with expect:
1126 * configure.in (ENABLE_GDBTK): Use CY_AC_PATH_TCL and
1128 * aclocal.m4: Replaced with version from expect.
1129 * configure: Regenerated.
1133 * gdbtk.tcl (gdbtk_tcl_fputs, gdbtk_tcl_fputs_error,
1134 gdbtk_tcl_flush): Use "see", not "yview".
1135 (gdbtk_tcl_query): Use questhead bitmap.
1136 various: Always wrap condition of 'if' in {...}.
1137 (add_breakpoint_frame): Set -value on radiobuttons.
1138 (lassign): New proc.
1139 (add_breakpoint_frame): Use lassign, not series of assignments.
1140 (decr): Made faster.
1141 (interactive_cmd): Use "see", not "yview".
1142 (not_implemented_yet): Use warning bitmap.
1143 (update_expr): Don't allow $expr to be evalled by Tcl.
1144 (create_expr_window): Don't use "focus".
1145 (delete_char, delete_line): Define globally.
1146 (delete_line, delete_char, create_command_window, update_autocmd,
1147 build_framework, create_asm_win, create_file_win): Use "see", not
1149 (create_copyright_window, center_window, bind_widget_after_class):
1151 (FSBox,create_command_window, create_autocmd_window): Binding
1153 (textscrollproc): Define globally.
1154 (build_framework): tk_menuBar no longer needed. Keys Prior, Next,
1155 Home, End, Up, and Down are all defined by Tk.
1156 (apply_filespec): Use error bitmap in dialog.
1157 (files_command): Don't use tk_listboxSingleSelect.
1158 (files_command): Don't use "uniq" to remove duplicates from a
1160 (update_assembly): Use lassign.
1161 (create_asm_win): Removed redundant bindings.
1162 (listing_window_button_1, file_popup_menu): Use tk_popup.
1163 (ButtonRelease-1 binding): Just remove tag from window; rest
1166 * gdbtk.c (gdbtk_query): Use Tcl_Merge to provide quoting.
1167 (call_wrapper): Use Tcl_Eval, not Tcl_VarEval.
1168 (gdbtk_call_command): Ditto.
1172 * configure configure.in: Make --enable-gdbtk be the default.
1176 * README.GDBTK: Polish introductory paragraph.
1180 * gdbtk.c (gdb_disassemble): Use fprintf_unfiltered instead of
1185 * README.GDBTK: Updated for version 4.15.
1189 * gdbtk.tcl: ENABLE comes back as "1" or "0", not "enable" or
1191 Also, wire up the breakpoint window so that it can be demo'd.
1195 * gdbtk.c: Include "gdb_string.h" instead of <string.h>.
1199 * gdbtk.c: Add functions Tcl_Malloc, Tcl_Realloc, and Tcl_Free.
1201 * gdbtk.tcl (add_breakpoint_frame): Add more fields.
1202 * (create_file_win create_asm_win build_framework): Create null
1203 bindings for meta keys to keep window from dropping down to
1204 insertion point when meta is pressed by itself. New bindings:
1205 Up/Down - Scroll up/down one line at a time
1206 Next/Prior - Scroll up/down one page at a time
1207 Home/End - Warp to current pc/end of file
1208 * (build_framework): Turn on breakpoint menu.
1209 * (create_command_window): Implement tab completion. Add binding
1210 for ^C to stop target.
1214 * gdbtk.c: Conditionalize use of stdarg rather than varargs on
1215 ANSI_PROTOTYPES not __STDC__; it must match the definition of
1220 * gdbtk.c (gdbtk_query): Use stdarg.h macros when compiling with
1225 * gdbtk.c (gdb_disassemble): Read from inferior if connected
1226 to a VxWorks target.
1230 * README.GDBTK: New file. Contains the obvious.
1234 * gdbtk.c (gdbtk_init): If SIOCSPGRP is not available, but
1235 F_SETOWN is, use that.
1239 * Makefile.in (X11_INCLUDES): Define as empty.
1240 (X11_CFLAGS): Define as including $(X11_INCLUDES).
1241 (X11_LIB_SWITCHES): Define as empty.
1242 (X11_LIBS): Define as -lX11.
1244 * configure.in (enable_gdbtk): If gdbtk, support the --x-includes
1245 and --x-libraries switches, setting the X11_INCLUDES and
1246 X11_LIB_SWITCHES respectively. Instead of using a hardcoded -lX11
1247 in ENABLE_CLIBS, use the X11_LIB_SWITCHES and X11_LIBS variables.
1249 * gdbtk.c (gdbtk_init): If SIOCSPGRP is not available, don't use
1250 it. This means that the stop button doesn't work, but is better
1255 * Makefile.in (gdbtk.o): Use X11_CFLAGS to provide alternate
1256 locations (per-host) for X11 include files.
1257 * config/pa/hppahpux.mh (XM_CLIBS): Add -L/usr/lib/X11R5 to force
1259 (X11_CFLAGS): Add this to indicate the locs
1260 of the R5 include files.
1264 * gdbtk.c (gdb_get_breakpoint_info): Return error if breakpoint
1265 type is not bp_breakpoint.
1270 * gdbtk.c: General cleanups, get rid of unused variables. Redo
1271 handling of stdout/stderr to just return output as the result of
1272 the tcl command that caused the output. Cleanup -Wall stuff.
1273 * (breakpoint_notify): Now returns just action and breakpoint
1275 * (gdb_get_breakpoint_list): New routine. Does the obvious.
1276 * (gdb_get_breakpoint_info): Mostly derived from the old
1277 breakpoint_notify, but returns lots more info.
1278 * (dsprintf_append_element): Helper routine, works like printf,
1279 but appends a tcl element onto the specified DString. Good for
1280 building up lists as return values.
1281 * (gdbtk_enable/disable_breakpoint): Go away. Replaced with
1282 gdbtk_modify_breakpoint.
1283 * (*many routines*): Use new result protocol.
1284 * (call_wrapper): Make sure that recursive calls don't trash results.
1285 * gdbtk.tcl: New windows, autocmd, and breakpoints.
1286 * (gdbtk_tcl_fputs): Don't use $current_output_win redirection
1287 anymore. It's not needed (in fact, this routine may not be needed
1289 * (gdbtk_tcl_breakpoint): Change to reflect new breakpoint
1290 notification protocol.
1291 * (gdbtk_tcl_busy gdbtk_tcl_idle): Straighten out buttons, remove
1293 * (interactive_cmd): Use this wrapper around button invocations
1294 of many commands. This will catch errors and put the results into
1295 the command window. It also updates all the other windows.
1296 * Also, change reliefs of most things to sunken. This actually
1298 * (create_file_win): Fix margin binding to allow breakpoints to
1300 * (create_asm_win): Use return value of gdb_disassemble instead
1301 of implicit I/O to the command window.
1302 * (create_command_window): Use new result protocol to get output
1307 * gdbtk.c (gdb_disassemble): Deference pointer to function before
1308 calling it (pre-ANSI compilers generally require this).
1312 * gdbtk.c (gdb_disassemble): Get rid of
1313 dis_asm_read_memory_hook. We can now call the disassemblers
1314 directly and have no need for this hook anymore.
1318 * gdbtk.tcl (create_file_win): Disable old popup menu for source
1323 * gdbtk.c (gdbtk_init): Prevent segfault when gdbtk.tcl can't be
1325 * gdbtk.tcl: Initialize expr_update_list() to prevent errors when
1326 popping up expression window for the first time.
1330 * gdbtk.tcl (create_registers_window): Work around a radiobutton
1331 widget bug to make Options|Natural button work.
1333 * gdbtk.c (gdb_disassemble): Fix problem with source+assembly and
1334 g++ caused by out-of-order pc's.
1335 * gdbtk.tcl (files_command): Remove duplicate file names. Also,
1340 * gdbtk.tcl: Take .gdbtkinit if it exists. Makes gdbtk match the
1345 * gdbtk.c, gdbtk.tcl: Update/add copyright.
1346 * gdbtk.tcl (build_framework): Several fixes for filespec widget,
1347 including dismiss button, and better error handling.
1348 * (create_command_win): Bind button 2 to retrieve selection.
1352 * gdbtk.tcl: Add button to control mixed source disassembly.
1353 Use text widgets in expr window. The give me more control over
1355 Add auto-updating of exprs in expression window.
1356 Handle expressions out of scope a bit better.
1357 Make selected window pop up to the top when invoked via the
1359 Make copyright message have raised relief.
1361 * gdbtk.c (gdbtk_init): Improve handling for errors in gdbtk.tcl
1366 * gdbtk.c (finish_saving_output): Don't do anything if not saving
1368 * (breakpoint_notify): Don't send null filename to tcl.
1369 * (gdb_eval): New tcl command to eval an expression.
1370 * (gdb_disassemble): New tcl command to do disassembly. This
1371 allows tcl code to choose between exec file and target memeory,
1372 and can also do mixed source and assembly.
1373 * (gdbtk_init): Move reading of gdbtk.tcl to the end to make sure
1374 that more of the environment is set up. Also, create link between
1375 gdb and tcl vars disassemble{-_}from{-_}exec.
1377 * gdbtk.tcl: New expression window support.
1378 * Make assembly window be 80 columns wide.
1379 * Use new disassembly method. Add menu items to select
1380 disassembly from exec file or target.
1381 * Change View menubar item to Options.
1383 * Get rid of Stack, Breakpoints, Signals, and Variables Windows,
1384 since they don't exist yet.
1386 * Pop up a copyright window on startup.
1390 * gdbtk.tcl (build_framework): Add standard commands menu, more
1391 windows to standard windows menu.
1392 (not_implemented_yet): Clarify message.
1396 * gdbtk.tcl (FSBox): New proc, File Selection Box code from exmh.
1397 (not_implemented_yet): New proc.
1398 (build_framework): Add various file commands to file menu.
1402 * gdbtk.c (gdbtk_wait gdbtk_init): Portability improvements for
1407 * gdbtk.tcl (update_assembly): Force update to make sure that pc
1408 is visible when creating new assembly windows.
1412 * gdbtk.c (gdbtk_wait gdbtk_init): Use different method of
1413 enabling I/O interrupts for SVR4 (streams).
1414 * (start_saving_output save_output get_saved_output
1415 finish_saving_output flush_holdbuf gdbtk_flush gdbtk_fputs
1417 Totally revamp to use TCLs dynamic string functions. Also, quote
1418 all data passed back to TCL to prevent errors with unmatched
1419 braces, odd characters, etc... This fixes several wierd problems
1420 with outputting strings containing unmatched braces.
1421 * (breakpoint_notify gdb_loc): Use long hex format to output
1422 addresses of breakpoints and PCs. This fixes some Alpha problems.
1423 * (breakpoint_notify): Add stream arg to call to gdbtk_fputs.
1424 * (gdb_listfiles): Also, go through the symtabs when looking for
1425 files. This makes xcoff work (sort of), but probably breaks
1427 * (gdb_stop): Return TCL_OK instead of nothing. This fixes odd
1428 TCL errors when hitting stop button.
1429 * (tk_command): Don't pass interp->result on to Tcl_{Var}Eval, as
1430 that will trash the result. strdup the result instead and pass
1431 that on. Improve error handling as well.
1433 * gdbtk.tcl (gdbtk_tcl_flush): Use global def of
1434 current_output_win. Makes flushing actually work!
1435 * (asm_win_name create_asm_win update_assembly): Bunch of fixes
1436 to make assembly windows stop flashing when loading a new file.
1437 * (gdbtk_tcl_busy gdbtk_tcl_idle): Use catch to prevent gdb_cmd
1438 errors from losing control.
1439 * (create_source_window): Add source file selection to View menu.
1440 * (create_command_window (<Key-Return> binding): Quote text fed
1441 into gdb_cmd to prevent eval errors.
1445 * gdbtk.c: Improve mechanism for capturing output values.
1446 (full_filename): Remove.
1447 (gdb_cmd call_wrapper gdbtk_init): Protect all calls from tcl land
1448 with call_wrapper. This prevents longjmps (usually via error())
1449 from jumping out of tcl/tk and leaving things in an indeterminate
1451 (gdbtk_fputs): Differentiate stdout from stderr when passing text
1453 * gdbtk.tcl: New view option to disable line numbers. Put catch
1454 around most uses of gdb_cmd. Add update button to reg config
1455 window. Stop doing immediate updates when selecting registers.
1456 Change register view values into checkbuttons.
1460 * gdbtk.tcl (reg_config_menu create_registers_window
1461 recompute_reg_display_list): Use array instead of individual vars
1462 for register display list.
1463 * (recompute_reg_display_list update_registers): Fix bug with not
1464 displaying all registers.
1468 * gdbtk.c: New tcl commands: gdb_fetch_registers,
1469 gdb_changed_register_list, and gdb_regnames.
1470 * gdbtk.tcl: Use monochrome color model for now.
1471 * (delete_breakpoint_tag create_file_win): Add breakdot support.
1472 * (create_file_win create_asm_win update_listing build_framework
1473 create_source_window create_command_window): Re-org window
1474 creation to give all windows consistent look and feel.
1475 * (update_listing update_asm): Change pc pointer to '->'.
1476 * (registers_command reg_config_menu create_registers_window
1477 populate_reg_window update_registers): Revamp register window.
1478 Allow selection of registers to be displayed. Highlight changed
1483 * gdbtk.tcl (build_framework): Fix bug with setting window titles.
1485 * gdbtk.tcl (build_framework): Add "Report bug" to help menu.
1487 * gdbtk.tcl: Re-arrange windows using new, consistent layout. Clean
1488 up lots of code and centralize framework initialization.
1492 * Makefile.in: Fix the test for installing gdbtk.
1496 * Makefile.in: Install gdbtk.tcl.
1497 * configure.in: Add ENABLE_GDBTK flag.
1498 * gdbtk.c (gdb_sourcelines): Returns list of source lines
1499 containing code. (gdb_regnames): Returns list of register names.
1503 * gdbtk.c (gdb_stop): Switch to target_stop().
1507 * Makefile.in: Use $(objdir)/tcl and $(objdir)/tk if they are
1509 * configure.in (ENABLE_CLIBS): Use $(TCL) and $(TK) instead of
1511 * gdbtk.c: Get rid of lots of unnecessary #includes.
1512 * (gdbtk_init): Use ConnectionNumber macro instead of referencing
1513 Display structure directly.
1514 * gdbtk.tcl: Change exit button to quit button.
1518 * gdbtk.c: Change sense and name of no_windows variable. Now
1519 called use_windows, and defaults to off (for compatibility).
1523 * gdbtk.c (gdb_cmd): Force GUI into idle mode when errors occur.
1524 * (gdb_stop): New tcl command to stop the target process.
1525 * (x_event, gdbtk_wait): Allow GUI to interrupt gdb out of target
1527 * (gdbtk_call_command): Wrapper around command processing to
1528 alert GUI of target state changes.
1529 * (gdbtk_init): Get the fd of X server for doing async
1530 notification of X events (via x_event). Setup new hooks.
1531 * gdbtk.tcl: Add scrollbars to assembly and command windows.
1532 * Change window foreground & background colors.
1533 * Create margin tag for breakpoints in source and assembly windows.
1534 * Add new routines to be invoked when target state changes to/from
1536 * Add start of expression window.
1537 * Change bindings of mouse button 1 in assembly and source window
1538 to just set or clear breakpoints when in the margin tag.
1539 * Change shape of register window to be more vertical to better
1540 reflect its contents.
1542 * Cleanup some code around command window bindings.
1546 * gdbtk.tcl: Let ^U delete lines in the command window.
1550 * gdbtk.c: Replace calls to full_filename with symtab_to_filename.
1551 * gdbtk.tcl: New routine pc_to_line replaces in line code. New
1552 routine decr replaces in line code.
1553 * (create_file_win): Use catch to handle open failures more
1554 elegantly. Also, create special window to display file open
1555 failure message. Move opening of file prior to creation of text
1557 * (create_asm_win): Add PC as argument. We now base disassembly
1558 on PC instead of function name, since function names can be
1559 ambiguous (usually seen with shared libs). Also, use catch to
1560 simplify code where we don't care about failures.
1564 * gdbtk.tcl: Add ref counts to breakpoint tags.
1565 * Put quotes around function name in disassemble command to better
1566 handle assembler names containing `.'.
1567 * Make pclist element 0 be filler to avoid off-by-one problem with
1569 * Set names of top-level windows.
1570 * Add register display window.
1571 * Add PC to label of assembly window.
1575 * gdbtk.c (gdbtk_flush gdbtk_fputs): Buffer up output to make
1576 disassembly more efficient.
1577 * (breakpoint_notify): Include pc in gdbtk_tcl_breakpoint
1579 * (gdb_loc): Include pc in return value. Also, return function
1580 name if arg was specified.
1581 * (gdb_cmd_stub): Call gdb_flush to drain internal GDB buffers
1582 after command completes.
1583 * (gdbtk_init): Improve error handling.
1585 * gdbtk.tcl: Add lots of comments. Clean up code.
1586 * (gdbtk_tcl_fputs): Make output window redirectable.
1587 * Add assembly window, and breapoint support.
1588 * Make button 1 in margin toggle breakpoints.
1589 * Use stippling to indicate breakpoint disabling.
1593 * configure.in: Don't symlink to gdbtk.tcl if it's already there.
1598 * Makefile.in: Add rule for gdbtk.o.
1599 * configure.in: Add support for --enable-gdbtk.
1600 * gdbtk.c: New file. Contains support routines for TK interface.
1601 * gdbtk.tcl: New file. Implements GUI policy.
1608 version-control: never