Mon Apr 13 16:17:52 1998 Martin M. Hunt * gdbtk.c (gdb_loadfile): Change fstat() call to stat(). Needed because you can't convert a FILE* to an fd. Mon Apr 13 16:28:07 1998 Elena Zannoni * gdbtk.c: (perror_with_name_wrapper) new function to call perror_with_name safely. (gdb_loadfile) added source vs. executable time stamp check. (gdbtk_warning) new function to pass a warning message to the gui. (gdbtk_ignorable_warning) new function to pass a warning to the gui. Used only for the src. vs. exec check. (gdbtk_init) added warning_hook added include Mon Apr 13 12:58:26 1998 Keith Seitz * gdbtk.c (gdbtk_start_timer): Include on all platforms. Decrease timer interval a little. (gdbtk_stop_timer): Include on all platforms. (gdbtk_wait): No more signals! Use a timer on all platforms to keep the GUI alive. (gdbtk_init): Remove FIOASYNC and all x_fd references. Now using timers on all platforms. Fri Apr 10 15:48:10 1998 Jason Molenda (crash@bugshack.cygnus.com) * gdbtk.c (gdb_listfiles): Allocate space for 'files' dynamically. Thu Apr 9 14:20:59 1998 Martin M. Hunt * gdbtk.c (gdbtk_init): Remove redundant variable "IDE". Tue Apr 7 15:13:58 1998 Stan Shebs * gdbtk.tcl: Remove, no longer used. Tue Apr 7 12:49:45 1998 Keith Seitz * gdbtk.c (gdb_cmd): NEVER call the busy, update, and idle hooks. Tue Mar 31 15:42:06 1998 Keith Seitz * gdbtk.c (gdb_loadfile): Don't use the return result from sprintf, which returns a char * under SunOS4. Tue Mar 31 17:18:43 1998 Ian Lance Taylor * configure.in: Add $(LIBIDETCL) as well as $(LIBIDE) if --enable-ide. * Makefile.in (IDE_CFLAGS_X): Add -I for libidetcl/src. (LIBIDETCL): Define. * configure: Rebuild. Sun Mar 29 21:19:46 1998 Keith Seitz * gdbtk.c (gdb_get_tracepoint_info): Change formatting of address. (tracepoint_exists): Remove code which confuses assembly traces. Sat Mar 28 12:13:23 1998 Keith Seitz * gdbtk.c (gdb_cmd): If argc > 2, assume that the busy and idle hooks should not be called. Thu Mar 26 22:29:28 1998 Elena Zannoni * gdbtk.c: (gdb_trace_status) new function. (gdbtk_init) added command "gdb_is_tracing". (tracepoint_notify) added passcount information. Thu Mar 26 12:00:35 1998 Martin M. Hunt * gdbtk.c (gdbtk_fputs): Insert fencepost. (gdb_loc): Correct pc calculation. (gdb_immediate_command): Return if a load is in progress. (gdb_cmd): Return if a load is in progress. (target_stop_wrapper): New function. (gdb_stop): Call target_stop_wrapper. (x_event): Add fencepost and optimize load cancel check. (gdbtk_start_timer): Set up structs only once. (gdbtk_stop_timer): Just use preset structs to set timer parameters. (gdb_loadfile): If file cannot be loaded, return error message. (gdb_loadfile): Add space before tab so that lines without a '-' can later be changed to have one. Wed Mar 25 14:08:51 1998 Elena Zannoni * gdbtk.c (gdbtk_pre_add_symbol): Use Tcl_merge to form Tcl commands. Mon Mar 23 13:41:39 1998 Elena Zannoni * gdbtk.c (gdb_get_mem): Rewrite to fetch entire contents of the memory window at once. Sat Mar 21 19:34:49 1998 Elena Zannoni Merged changes from Foundry: list follows by author: - Tom Tromey * Makefile.in (gdbres.o): New target. (WINDRES): New define. * configure: Rebuilt. * configure.in (WINDRES): Define. (CONFIG_OBS): Include gdbres.o on Windows. * gdbtool.ico: New file. * gdb.rc: New file. * gdbtk.c (gdbtk_init): Call ide_create_messagebox_command. (gdbtk_cleanup): Call ide_interface_deregister_all. (gdbtk_init): Pass event handle to cleanup. (TclDebug): Use Tcl_Merge to construct command. (gdbtk_init): Call ide_create_cygwin_path_command. - Martin M. Hunt * gdbtk.c (gdb_set_bp): Set addr_string for bp. (gdb_get_breakpoint_info): Demangle function names in breakpoint info. Include "demangle.h". (gdb_loc, gdb_listfuncs): Demangle C++ function names. (gdb_set_bp): Properly quote filename to fix problems with spaces. Send pc back as a hex string. (gdb_listfuncs): Remove debugging line. Turn off some debugging lines. (breakpoint_notify): Return correct line number. (gdb_get_breakpoint_info): Return correct line number. (gdb_set_bp): New function to provide a better way to set breakpoints. (gdbtk_readline, gdbtk_readline_begin): Memory allocated by tcl needs to be freed by Tcl_Free(). (find_file_in_dir): Deleted. (gdb_find_file_command): Call full_lookup_symtab(). (gdb_listfuncs): Call full_lookup_symtab(). (full_lookup_symtab): New function. Like lookup_symtab except handles multiple files with the same basename, full pathnames, and always sets symtab->fullname. (gdb_loadfile): Call full_lookup_symtab(). Clear realloc'd memory. (gdb_loadfile): Don't tag lines without source. Tag source lines with source_tag. (gdb_find_file_command, find_file_in_dir): Rewrite. Now searches symtabs and psymtabs for a match on the partial or full filename. Returns the full pathname. (gdb_loadfile): Realloc additional memory if someone loads in a file with more than 160,000 lines. I don't know if this really works because I don't have enough memory to test it. (gdb_sourcelines): Deleted. (gdb_loadfile): New function. Takes a text widget and loads it with the contents of a file. Marks and tags source lines. (pc_changed): New function. (get_pc_register): Returns the value of the PC to GDB. (gdb_loc): If looking on the stack, return real pc along with calling source line. (gdb_loc): Return "" instead of "N/A" if filename is not found. (gdb_get_breakpoint_info): Same. (get_register): For Natural mode, set format to 0. Minor bugfixes from keiths. (TclDebug): New function for debugging use. (gdb_loc): Return correct PC for frames that are not the innermost frame. (gdb_listfiles): Rewritten to use object API. Now takes an optional dirname which will cause only files in that directory or its subdirectories to be returned. Now returns basenames instead of full pathnames. (gdb_cmd): Set/reset load_in_progress flag. (call_wrapper): Don't pop up dialog for errors in downloads; just abort download. (gdbtk_load_hash): Set return value correctly. - Keith Seitz * gdbtk.c (gdbtk_init): Define the ui_loop_hook so that it can be called by routines which might block, allowing us to update the GUI. (gdbtk_wait): Move timer calls to annotation hooks. (gdbtk_init): Define the annotation hooks. (gdbtk_annotate_starting): New function for cygwin32 hosts. (gdbtk_annotate_stopped): New function for cygwin32 hosts. (gdbtk_annotate_exited): New function for cygwin32 hosts. (gdbtk_annotate_signalled): New function. for cygwin32 hosts. (gdbtk_init): Use gdbtk_print_frame_info hook. (gdbtk_print_frame_info): New function which sets current_source_symtab based on the given symtab and line info. (gdb_immediate_command): New function which does not buffer any output. (Contrast to gdb_cmd.) (gdb_prompt_command): New function to return gdb's prompt. (find_file_in_dir): New functon which searches source paths for a given filename. (gdb_find_file): New function which returns path to given file -- uses find_file_in_dir. (gdbtk_init): Install "gdb_immediate", "gdb_find_file", and "gdb_prompt" commands into interpreter. - Ian Lance Taylor * gdbtk.c (gdbtk_timer_going): If __CYGWIN32__, new static variable. (gdb_cmd): If __CYGWIN32__, if executing the load command, call gdbtk_start_timer and gdbtk_stop_timer. (call_wrapper): If __CYGWIN32__, if the timer is going, turn it off. Clear load_in_progress. (x_event): If load_in_progress, quit if download_cancel_ok. (gdbtk_start_timer): Set gdbtk_timer_going. (gdbtk_stop_timer): Clear gdbtk_timer_going. (gdbtk_wait): Call x_event. (gdbtk_init): Call ide_create_win_grab_command if __CYGIN32__. (gdb_clear_file): Clear stop_pc. Tue Feb 10 17:50:37 1998 Keith Seitz * gdbtk.c (gdbtk_modify_tracepoint): Define new tracepoint modification hook. (gdbtk_print_frame_info): Define this hook so that current_source_symtab is set properly. (gdb_actions_command): Use free_actions () from tracepoint.c/h. Mon Jan 26 11:37:55 1998 Keith Seitz * gdbtk.c (gdb_actions_command): Make note of next action before freeing all references to it. Sat Jan 24 23:52:08 1998 Martin M. Hunt * gdbtk.c: Merge from Foundry branch. (TclDebug): New debugging function. (gdb_loc): For frames, find address of calling function instead of whatever is on the stack (usually the next instruction). (gdb_listfiles): Takes an optional pathname argument and returns an alphabetized list of basenames of files in the path. Wed Jan 22 10:37:02 1998 Keith Seitz * symfile.c: Define two new hooks for symbol reading: "pre_add_symbol_hook" and "post_add_symbol_hook". These hooks are called before we begin reading symbols, and after we finish. (generic_load): Use new symbol reading hooks and get rid of compiler warning. * gdbtk.c (gdbtk_init): Add hooks for pre- and post-symbol reading. (gdbtk_pre_add_symbol): New function: the pre-add-symbol hook. (gdbtk_post_add_symbol): New function: the post-add-symbol hook. (find_file_in_dir): New function. Moved the guts of gdb_find_file_command into here to allow its use by others. (gdb_loc): Use find_file_in_dir to return the real path to the file (or "N/A" if we can't find it). * configure.in (TIX_LIB_EXT): Define new variable for those special cases when TCL_SHLIB_SUFFIX is not enough to specify the dependency. * configure: Regenerate. Fri Jan 23 07:47:06 1998 Fred Fish * Makefile.in (uninstall): Remove installed gdbtcl dir, if one was installed. Thu Jan 15 12:42:28 1998 Keith Seitz * gdbtk.c (gdb_immediate_command): New function which does not buffer any output. (Contrast to gdb_cmd.) (gdbtk_init): Install "gdb_immediate" command into interpreter. Wed Jan 14 16:38:44 1998 Keith Seitz * configure.in (--enable-gdbtk): If tcl was built with --enable-shared, use TCL_SHLIB_SUFFIX to specify the suffix of the library file so that we don't expect to see "libfoo.a" instead of "libfoo.{so,sl, etc}". * configure: Regenerate. Wed Dec 31 16:50:26 1998 Keith Seitz (keiths@onions.cygnus.com) * gdbtk.c (gdb_actions_command): extract and save step count from "while-stepping" command Tue Dec 16 21:16:42 1997 Ian Lance Taylor * Makefile.in (LIBGUI): New variable. (GUI_CFLAGS_X): New variable. (IDE_CFLAGS): Add $(GUI_CFLAGS_X). * configure.in: Add $(LIBGUI) to TCL_LIBS and CONFIG_DEPS. * configure: Rebuild. Wed Dec 10 13:16:45 1997 Keith Seitz * gdbtk.c (gdb_get_tracepoint_info): Use info in struct symtab_and_line (not struct tracepoint) so that we get the real line info for an address. Arrange data more like gdb_get_breakpoint_info. (tracepoint_notify): Use info in struct symtab_and_line again. (gdbtk_init): Add command "gdb_get_tracepoint_list" into interpreter. (gdb_get_tracepoint_list): New function that aids the source window in displaying tracepoints when the file changes. Fri Dec 5 10:31:23 1997 Keith Seitz * gdbtk.c (gdbtk_init): Add gdb_find_file into interpreter. (gdb_find_file_command): New function which searches source path to find the real full filename of a file. Mon Dec 1 10:19:44 1997 Keith Seitz * gdbtk.c: Move include of "guitcl.h" back out of IDE ifdef. (gdbtk_init): Move ide_initialize_paths out of IDE ifdef. * configure.in (TCL_LIBS, CONFIG_DEPS): Add IDE libraries for all builds. (CONFIG_OBS): Remove tracepoint.o, which should always be included. * configure: regenerate * Makefile.in (install-only): ALWAYS install the new gdbtk (REMOTE_OBS): add tracepoint.o Thu Nov 27 09:07:18 1997 Michael Meissner * configure.in ({TCL_LIBS,CONFIG_DEPS}): Don't add IDE libraries if not --enable-ide. (CONFIG_OBS): Add tracepoint.o to list if --enable-gdbtk. * configure: Regenerate. * gdbtk.c (gdb_get_breakpoint_info): Add missing filename argument. (toplevel): Move include of guitcl.h into #ifdef IDE region. (gdbtk_init): Move ide_initialize_paths call into #ifdef IDE section. * Makefile.in (gdbtk.o): Update dependencies. Wed Nov 26 15:02:43 1997 Keith Seitz * gdbtk.c (gdb_loc): symtab_to_filename can return NULL. (breakpoint_notify): Ditto. (gdb_get_breakpoint_info): Ditto. Wed Nov 26 11:33:09 1997 Keith Seitz Merge in code from Foundry branch: * Makefile.in (install-only): install the new gdbtk, not the old * gdbtk.c (gdbtk_call_command): also run idle hooks for class_trace commands (gdbtk_init): Add new commands "gdb_get_locals", "gdb_get_args", "gdb_get_function", "gdb_get_line", "gdb_get_file", "gdb_tracepoint_exists", "gdb_get_tracepoint_info", "gdb_actions", and "gdb_prompt". (gdb_get_vars_command): New function. (gdb_get_line_command): New. (gdb_get_file_command): New. (gdb_get_function_command): New. (gdb_get_tracepoint_info): New. (gdbtk_create_tracepoint): New. (gdbtk_delete_tracepoint): New. (tracepoint_notify): New. (tracepoint_exists): New. (gdb_actions_command): New. (gdb_tracepoint_exists_command): New. (gdb_prompt_command): New. Thu Nov 13 18:15:54 1997 Ian Lance Taylor * gdbtk.c: Move include of gdbcore.h to top of file. (close_bfds): New static function if _WIN32. (gdbtk_readline): Call close_bfds. (call_wrapper, tk_command_loop): Likewise. (gdb_clear_file): New static function. (gdbtk_init): Create gdb_clear_file Tcl command. Wed Nov 12 14:58:39 1997 Jeff Holcomb * gdbtk.c: gdbtk_load_hash and ui_load_progress_hook return an int result. (gdbtk_load_hash): download hash routine returns an int result. Mon Nov 10 15:11:51 1997 Ian Lance Taylor * gdbtk.c (gdbtk_init): Call ide_create_shell_execute_command if __CYGWIN32__. * configure.in: Add -lshell32 to WIN32LIBS on cygwin32. * configure: Rebuild. Sun Nov 9 16:25:34 1997 Tom Tromey * gdbtk.c (gdbtk_init): Run ide_create_help_command. Tue Oct 28 17:31:47 1997 Martin M. Hunt * gdbtk.c (gdbtk_init): Call ide_create_winprint_command. Thu Oct 23 15:53:37 1997 Ian Lance Taylor * configure.in: Add -lgdi32 to WIN32LIBS when linking gdbtk on cygwin32. * configure: Rebuild. Wed Oct 22 21:32:54 1997 Martin M. Hunt * gdbtk.c (gdbtk_init): Create sizebox command on Windows. Thu Oct 9 14:33:21 1997 Ian Lance Taylor * gdbtk.c (gdbtk_init): Remove assertion argument from call to ide_create_window_register_command. Wed Oct 1 11:09:52 1997 Tom Tromey * gdbtk.c (gdbtk_init): Pass name of restore interface to ide_create_window_register_command. Fri Sep 26 21:08:22 1997 Keith Seitz * gdbtk.c (gdbtk_init): Initialize ui_load_progress_hook. Thu Sep 25 03:05:00 1997 Martin M. Hunt * gdbtk.c (gdb_load_info): New function. Returns a list of section names and sizes for an executable. (gdbtk_load_hash): Stub function to call tcl function download_hash. Tue Sep 23 01:29:00 1997 Martin M. Hunt * gdbtk.c (gdb_get_mem): Fix compiler warning. Sun Sep 21 00:15:00 1997 Martin M. Hunt * gdbtk.c (gdb_get_mem): Fix problem with ASCII dump. Tue Sep 16 18:07:17 1997 Martin M. Hunt * gdbtk.c (gdb_get_mem): New function. Returns a formatted memory dump with optional ASCII dump. Mon Sep 8 12:48:50 1997 Ian Lance Taylor * gdbtk.c: Include ilutk.h if IDE. (gdb_confirm_quit, gdb_force_quit): New static functions. (gdbtk_init): Add Tcl commands gdb_confirm_quit and gdb_force_quit. Mon Sep 8 03:05:33 1997 Martin M. Hunt * gdbtk.c (gdb_get_breakpoint_info): Now returns the function a breakpoint is in. Fri Sep 5 20:23:58 1997 Ian Lance Taylor * gdbtk.c (gdbtk_init): Call ide_create_exit_command. Wed Sep 3 19:39:15 1997 Ian Lance Taylor * gdbtk.c: Include guitcl.h. (gdbtk_init): Always call ide_initialize_paths. Set the Tcl variable IDE to 1 when using the IDE. Always try using auto path to find main.tcl. * Makefile.in (IDE_CFLAGS_X): Always include libide. (LIBIDE): New variable. (IDE_X): Omit -lide. (IDE_DEPS): Omit libide. * configure.in: Add LIBIDE to TCL_LIBS and CONFIG_DEPS. * configure: Rebuild. Mon Aug 25 02:28:55 1997 Keith Seitz * gdbtk.c: (gdb_target_has_inferior) check if inferior_pid is non-zero before assuming that the inferior is running. Mon Aug 25 01:06:48 1997 Ian Lance Taylor * gdbtk.c (gdbtk_start_timer): Pass third argument to setitimer. (gdbtk_stop_timer): Likewise. Mon Aug 25 00:23:08 1997 Keith Seitz * gdbtk.c: (gdbtk_init) create new command "gdb_target_has_execution" (gdb_target_has_execution_command) new function Sun Aug 24 20:27:22 1997 Ian Lance Taylor * gdbtk.c (gdb_loc): If there are no symbols, just bail immediately. (tk_command_loop): Print errors encountered while running gdbtk_tcl_preloop. Sun Aug 24 13:44:03 1997 Tom Tromey * gdbtk.c (gdbtk_init): Run ide_create_build_command. Sat Aug 23 21:53:39 1997 Ian Lance Taylor * gdbtk.c: If CYGWIN32, include . (x_fd): Don't define if WINNT. (gdbtk_start_timer, gdbtk_stop_timer): New static functions if CYGWIN32. (gdbtk_wait): Don't set up signal handling if WINNT. If CYGWIN32, call gdbtk_start_timer and gdbtk_stop_timer. (gdbtk_init): Don't set up signal handling or make x_fd asynchronous if CYGWIN32. Fri Aug 22 15:23:15 1997 Ian Lance Taylor * gdbtk.c (error_string_ptr): New static variable. (gdbtk_fputs): If result_ptr is NULL, and error_string_ptr is not NULL, and we're outputting to stderr, append string to error_string_ptr rather than calling gdbtk_tcl_fputs. (call_wrapper): Set up error_string_ptr. Put both error string and normal string in Tcl result. * gdbtk.c (gdbtk_init): Don't call ide_run_server_init until after gdb has initialized. Thu Aug 21 19:14:38 1997 Ian Lance Taylor * gdbtk.c: If _WIN32, include winuser.h. (gdbtk_init): If _WIN32, use MessageBox to display an error evaluating main.tcl. Thu Aug 21 00:48:00 1997 Martin M. Hunt * gdbtk.c (gdbtk_init): Add call to ide_run_server_init(). (gdb_cmd): For the load command, don't buffer the I/O. Wed Aug 20 11:41:22 1997 Martin M. Hunt * gdbtk.c (gdbtk_query): Chaneg free() call to Tcl_Free(). Tue Aug 19 17:09:19 1997 Ian Lance Taylor * Makefile.in (TCL_DEPS, TK_DEPS): New variables. (ITCL_DEPS, TIX_DEPS): New variables. (IDE_DEPS): New variable. (CDEPS): Include @CONFIG_DEPS@. * configure.in: Set and substitute CONFIG_DEPS and TIX_DEPS. * configure: Rebuild. Sun Aug 17 00:42:11 1997 Martin M. Hunt * gdbtk.c (gdb_listfuncs): New function that returns a list of all the functions in a source file. Tue Aug 12 16:35:21 1997 Ian Lance Taylor * Makefile.in (install-only): Install tclIndex if ENABLE_IDE. Mon Aug 11 10:43:04 1997 Tom Tromey * gdbtk.c (gdbtk_init): Use ide_event_init_from_environment. Fri Aug 8 15:59:24 1997 Ian Lance Taylor * gdbtk.c (gdbtk_init): Change gdbtk_lib_tmp and gdbtk_file to be dynamically allocated, rather than fixed size. Pass "gdbtcl" to ide_initialize_paths to match installed directory name. If IDE, use auto_path to search for main.tcl. * Makefile.in (install-only): If ENABLE_IDE, install from gdbtcl2 rather than gdbtcl. * gdbtk.c (gdbtk_cleanup): New static function. (gdbtk_init): Add gdbtk_cleanup as a final cleanup. Uncomment call to ide_initialize_paths. If we can't initialize the event system, set GDBTK_IDE to 0 in the Tcl interpreter. Create the ide_window_register and the ide_window commands. Initialize tk, itcl, and tix after initializing the IDE. * configure.in (tixdir): Update for cygwin32 case for Tcl 8.0. * configure: Rebuild. Fri Aug 8 00:13:32 1997 Martin M. Hunt * gdbtk.c (breakpoint_notify): Change buffer size from 100 to 256 to avoid memory corruption with very long pathnames. Thu Aug 7 14:08:23 1997 Martin M. Hunt * configure.in: Change required Tix version to 4.1.8.0 . * configure: Rebuilt. Fri Aug 1 15:21:44 1997 Ian Lance Taylor * gdbtk.c (Tcl_Alloc): Don't provide our own version of this if _WIN32. (Tcl_Realloc, Tcl_Free): Likewise. * configure.in: Check for cygwin32 environment. Define and substitute WIN32LIBS and WIN32LDAPP. Always set configdir to unix; setting it to win was for an old Tcl/Tk configuration scheme. * aclocal.m4 (CY_AC_LOAD_TKCONFIG): Substitute TK_BUILD_INCLUDES. * Makefile.in (TK_CFLAGS): Add @TK_BUILD_INCLUDES@. (WIN32LDAPP, WIN32LIBS): Define. (CLIBS): Add $(WIN32LIBS). (gdb): Use $(WIN32LDAPP). * configure: Rebuild. Tue Jul 22 19:45:37 1997 Martin M. Hunt * configure.in, aclocal.m4: Another fix to find the correct Tix library name. * configure: Rebuilt. Mon Jul 21 22:24:07 1997 Martin M. Hunt * aclocal.m4: Search for the correct tix library. Thu Jul 10 00:02:41 1997 Martin M. Hunt * Makefile.in, configure.in, aclocal.m4: Add Itcl, Tix, and IDE configuration information. * gdbtk.c (breakpoint_notify): Send address, linenumber and filename when a breakpoint is set. Avoids call to bp_info. (gdbtk_init): Call Tcl_FindExecutable(). Add code to handle Itcl, Tix and IDE initialization. * configure: Regenerated. Fri Jun 13 10:28:09 1997 Fred Fish * gdbtk.c (gdbtk_init): Make truth value test explicit. Remove unused static variable "Gdbtk_Library". Sat Jun 7 02:34:19 1997 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) * gdbtk.c (gdb_get_breakpoint_info): Add string for new enumeration del_at_next_stop to bpdisp array. Tue Jun 3 15:46:51 1997 Tom Tromey * Makefile.in (LIB_RUNTIME_DIR): New variable. Wed May 7 19:10:19 1997 Andrew Cagney * gdbtk.c (wrapped_call): New function - make actual call to tk worker function. (call_wrapper): Rewrite to use top.c:catch_errors. * gdbtk.c (gdb_stop): If No target_stop set quit flag and hope for best. Mon Apr 21 14:00:08 1997 Doug Evans * gdbtk.c (gdb_disassemble): Store endian-ness in `di'. Wed Apr 16 12:33:06 1997 Andrew Cagney * Makefile.in (install-only): Make list of gdbtcl files to install explicit - was picking up files such as ChangeLog etc. (install-only): Don't blindly create the directory. Tue Apr 1 15:04:21 1997 Jason Molenda (crash@godzilla.cygnus.co.jp) * configure.in (gdbtcl): Create soft-link for gdbtcl/ directory instead of gdbtk.tcl. Fri Mar 28 17:04:02 1997 Jason Molenda (crash@godzilla.cygnus.co.jp) * Makefile.in (gdbtk.o): look for GDBTK_LIBRARY in $(datadir) by default, not $(srcdir). Wed Mar 19 15:16:17 1997 Martin M. Hunt * Makefile.in: Install gdbtcl dir instead of gdbtk.tcl. * gdbtk.c: Added some ifdefs for Windows. Changed GDBTK_FILENAME to GDBTK_LIBRARY, which is now a path to search. (gdb_path_conv): New function. Convert Cygwin32 pathname to DOS-style pathname. * {aclocal.m4,configure.in}: Changes for Windows builds. * configure: Rebuilt. Fri Mar 14 10:01:29 1997 Tom Tromey * configure: Regenerated. * configure.in (LIBS): Re-reverse order of TCL_LIBS and TK_LIBS. Wed Mar 12 14:29:52 1997 Tom Tromey * gdbtk.c (x_event): Use Tcl_DoOneEvent, TCL_DONT_WAIT, TCL_ALL_EVENTS. * configure: Regenerated. * configure.in (ENABLE_GDBTK): Put TCL_LIBS after TK_LIBS in LIBS. Mon Feb 10 13:50:53 1997 Stu Grossman (grossman@critters.cygnus.com) * gdbtk.c (call_wrapper): Clear running_now if an error occurs. Wed Dec 11 18:51:35 1996 Mark Alexander * gdbtk.c (gdb_loc): Correct truncation of PC on 64-bit MIPS. Tue Nov 19 09:26:14 1996 Tom Tromey * gdbtk.c (gdbtk_readline): Fix memory leak. Mon Nov 18 23:43:05 1996 Tom Tromey Fixes for Tcl 7.6 / Tk 4.2: * gdbtk.tcl (apply_filespec): Use tk_getOpenFile. Remove old fileselect code. * gdbtk.c (Tcl_Alloc): Rename from Tcl_Malloc. Fri Sep 27 10:25:30 1996 Fred Fish * gdbtk.tcl (create_copyright_window): Increase timeout from 15 seconds to 30 seconds. Wed Sep 4 17:28:40 1996 Stu Grossman (grossman@critters.cygnus.com) * configure configure.in: Add host *windows* to list of hosts that don't support GDBtk. Fri Aug 23 00:44:57 1996 Fred Fish * gdbtk.c (gdbtk_init): Check for a DISPLAY env variable and gracefully degrade to using command line interface if none is found. Fri Aug 9 12:32:53 1996 Tom Tromey * Makefile.in (LIB_INSTALL_DIR): New macro. (TCL): Include @TCL_LD_SEARCH_FLAGS@. Thu Aug 1 20:35:01 1996 Tom Tromey * gdbtk.c (mainWindow): Deleted. (cleanup_init): Don't destroy main window. (gdbtk_init): Main window now created by Tk_Init. * configure.in: Most X checks now handled automatically by Tk. Use new macros to find Tcl/Tk. * aclocal.m4: New version for new Tcl/Tk; from Don Libes. * config.in, configure: Regenerated. * Makefile.in (TCL, TCL_CFLAGS, TK, TK_CFLAGS, X11_CFLAGS, X11_LDFLAGS, X11_LIBS): Changed for new Tcl and Tk. Thu Aug 1 16:12:05 1996 Jason Molenda (crash@godzilla.cygnus.co.jp) * Makefile.in (gdbtk.tcl): put in $(datadir), not $(libdir). Fri Jul 26 14:07:37 1996 Ian Lance Taylor * gdbtk.c (gdb_disassemble): Initialize di.flavour. Thu Jul 25 19:41:31 1996 Fred Fish * gdbtk.c (null_routine): Ditto. (gdbtk_flush): Ditto. (gdbtk_fputs): Ditto. (gdbtk_query): Ditto. (gdbtk_readline): Ditto. (gdbtk_readline_end): Ditto. (gdb_get_breakpoint_list): Ditto. (gdb_get_breakpoint_info): Ditto. (breakpoint_notify): Ditto. (gdbtk_create_breakpoint): Ditto. (gdbtk_delete_breakpoint): Ditto. (gdbtk_modify_breakpoint): Ditto. (gdb_loc): Ditto. (gdb_eval): Ditto. (gdb_sourcelines): Ditto. (map_arg_registers): Ditto. (get_register_name): Ditto. (gdb_regnames): Ditto. (get_register): Ditto. (gdb_fetch_registers): Ditto. (register_changed_p): Ditto. (gdb_changed_register_list): Ditto. (gdb_cmd): Ditto. (call_wrapper): Ditto. (gdb_listfiles): Ditto. (gdb_stop): Ditto. (gdbtk_dis_asm_read_memory): Ditto. (compare_lines): Ditto. (gdb_disassemble): Ditto. (tk_command): Ditto. (cleanup_init): Ditto. (gdbtk_interactive): Ditto. (x_event): Ditto. (gdbtk_wait): Ditto. (gdbtk_call_command): Ditto. (tk_command_loop): Ditto. (gdbtk_init): Ditto. * gdbtk.c (register_changed_p): Remove unused local variable "buf". Sat Jul 20 17:46:40 1996 Fred Fish * gdbtk.tcl (files_command): Reorder the binding tags for the listbox widget to avoid referencing the listbox after the containing widget has been destroyed by the action of a previous binding. Sat Jul 20 10:09:28 1996 Fred Fish * gdbtk.tcl (delete_expr): Unset corresponding element of expr_update_list when destroying an expression. (create_expr_window): Initialize expr_num, delete_expr_num, and expr_update_list here when each new expression window is created, rather than once at startup. Mon Jul 15 16:44:05 1996 Stu Grossman (grossman@critters.cygnus.com) * gdbtk.c (gdb_disassemble): Setup di.mach from tm_print_insn_info.mach, and set endian from TARGET_BYTE_ORDER. Fri Jun 21 11:04:47 1996 Fred Fish * gdbtk.tcl (create_register_windows): Include missing '$'s. Add global declarations for various reg_format_* variables. * gdbtk.tcl (populate_register_window): Make initial window one line taller to account for new column header line. Fri Jun 21 09:46:47 1996 Fred Fish * gdbtk.c (get_register): Support for printing raw formats. * gdbtk.tcl: Add hint for using debug_interface. (center_window, add_breakpoint_frame, delete_breakpoint_frame): Enclose arg in braces for consistency. (create_registers_window, populate_reg_window, update_registers): Major rewrite to support displaying multiple formats in the register window. (init_reg_info): New function. (recompute_reg_display_list): Reset reg_display_list, start register display lines at line 2. Thu Jun 20 08:18:59 1996 Fred Fish * gdbtk.tcl (gdbtk_tcl_readline_begin): Handle backspace to avoid backing up over prompt. At every input, make sure insert point is at least after command start, handle control-u to delete current input line. (tclsh): Handle backspace to avoid backing up over prompt. Handle control-u to delete current input line. Wed Jun 19 17:23:38 1996 Geoffrey Noer * configure.in: disable gdbtk for *cygwin32* hosted compiles * configure: regenerated with autoconf 2.8 Sun May 19 16:49:37 1996 Fred Fish * gdbtk.c (gdbtk_readline_begin, gdbtk_readline, gdbtk_readline_end): New functions. (tk_command_loop): Set instream to NULL to enable Tk user interaction. (gdbtk_init): Set readline_begin_hook, readline_hook, and readline_end_hook. * gdbtk.tcl (gdbtk_tcl_readline_begin, gdbtk_tcl_readline, gdbtk_tcl_readline_end): New functions. (tclsh): Pack scroll bar on right side of window, not left. Fri May 17 13:54:34 1996 Fred Fish * gdbtk.tcl (create_command_window): Change a misspelled "get" to the intended "cget". (delete_line): Fix so it deletes the current line at the insertion cursor. Thu May 16 19:20:29 1996 Fred Fish * gdbtk.tcl (gdb_prompt): Set this early on. (create_command_window): Use gdb_prompt rather than "(gdb) ". (gdbtk_tcl_preloop): Proc executed just prior to Tk main loop. (tclsh): If an evaluation window already exists, just bring it to the front instead of trying to create another. * gdbtk.c (tk_command_loop): New function. (gdbtk_init): Call tk_command_loop rather than Tk_MainLoop. Thu May 16 16:16:35 1996 Fred Fish * gdbtk.tcl (evaluate_tcl_command, tclsh): New functions that implement a tcl evaluation window for gdbtk maintainers to use. Thu May 16 11:42:58 1996 Tom Tromey * gdbtk.tcl (files_command): Correctly insert list of files into listbox widget. * gdbtk.tcl (files_command): listbox command no longer accepts -geometry. Wed May 15 16:04:09 1996 Stan Shebs * gdbtk.tcl (create_command_window): If command window's buffer is disabled, don't execute any of the key bindings. Mon May 13 13:43:25 1996 Fred Fish * gdbtk.c (tk_command): Catch case where no argument is given since this will cause the tcl interpreter to dump core. Wed May 8 20:33:24 1996 Fred Fish * gdbtk.c: Fix a couple of misspellings. Thu May 2 19:17:49 1996 Stan Shebs * gdbtk.tcl (debug_interface): New global, use to aid debugging. (insert_breakpoint_tag, delete_breakpoint_tag): Fix range. (file_popup_menu): Delete, never used. (listing_window_popup): Rename from listing_window_button_1, remove breakpoint toggling code. (toggle_breakpoint): New procedure. (create_file_win): Bind popup menu to button 2, toggle breakpoints with button 1 in breakpoint area, add display of tagged areas if debugging on. Fri Apr 5 13:44:40 1996 Stan Shebs * gdbtk.c (running_now): New global variable. (gdb_cmd): Test it before executing any command. (gdbtk_call_command): Set it when inferior is running. * gdbtk.tcl (gdbtk_tcl_busy, gdbtk_tcl_idle): Enable and disable interaction with command window's text appropriately. Fri Apr 5 13:25:42 1996 Michael Meissner * gdbtk.c (SIOCSPGRP, linux): If on Linux, undef SIOCSPGRP, since some versions of the kernel don't support it. Tue Feb 6 16:31:25 1996 Tom Tromey * gdbtk.tcl (create_file_win): Eliminate text widget B1 binding so double-clicking will work again. (create_asm_win): Put "break" at end of all B1 bindings. (create_file_win): Lower "sel" tag, don't raise it. (ensure_line_visible): New proc. (update_listing, update_assembly): Use it. (create_copyright_window): Destroy window on Leave event. (create_command_window): Put "break" at end of all B2 bindings. Wed Jan 24 15:28:41 1996 Tom Tromey * gdbtk.tcl, gdbtk.c: Updated copyrights. * configure.in: Look for -ldl or -ldld when using Tcl 7.5 or greater. * configure: Rebuilt. Tue Jan 23 09:00:48 1996 Doug Evans * gdbtk.c (gdb_disassemble): Pass fprintf_unfiltered to INIT_DISASSEMBLE_INFO. Mon Jan 15 09:58:41 1996 Tom Tromey * gdbtk.tcl (create_expr_window): Many changes to update GUI. (add_expr): Changes from create_expr_window. (create_command_window): Set focus. (delete_expr): Rewrote. (expr_update_button): New proc. (add_expr): Put bindings on FocusIn, FocusOut. Don't allow .file_popup to be torn off. Fri Jan 12 09:36:17 1996 Tom Tromey * gdbtk.tcl (gdbtk_tcl_query): Swap Yes and No buttons. (update_listing): Use lassign. Use "see" to scroll. Don't need screen_top, screen_bot, screen_height. (update_assembly): Use "see" to scroll. (textscrollproc): Removed. (create_file_win): Don't use textscrollproc. (asmscrollproc): Removed. (create_asm_window): Don't use asmscrollproc. (create_asm_win): Ditto. (screen_height, screen_top, screen_bot): Removed. (run_editor): New proc. (build_framework): Use it. (create_file_win, create_source_window): Don't use textscrollproc. (create_breakpoints_window): Set -xscrollcommand on canvas. (not_implemented_yet): Default button is 0. (delete_char): Don't use tk_textBackspace. (create_command_window): Allow Tk bindings to fire after deleting character. (create_command_window): Make Delete delete left, not right. Thu Jan 11 10:08:14 1996 Tom Tromey * gdbtk.tcl (FSBox): Don't use tk_listboxSingleSelect. Changes in sync with expect: * configure.in (ENABLE_GDBTK): Use CY_AC_PATH_TCL and CY_AC_PATH_TK. * aclocal.m4: Replaced with version from expect. * configure: Regenerated. Wed Jan 10 09:07:22 1996 Tom Tromey * gdbtk.tcl (gdbtk_tcl_fputs, gdbtk_tcl_fputs_error, gdbtk_tcl_flush): Use "see", not "yview". (gdbtk_tcl_query): Use questhead bitmap. various: Always wrap condition of 'if' in {...}. (add_breakpoint_frame): Set -value on radiobuttons. (lassign): New proc. (add_breakpoint_frame): Use lassign, not series of assignments. (decr): Made faster. (interactive_cmd): Use "see", not "yview". (not_implemented_yet): Use warning bitmap. (update_expr): Don't allow $expr to be evalled by Tcl. (create_expr_window): Don't use "focus". (delete_char, delete_line): Define globally. (delete_line, delete_char, create_command_window, update_autocmd, build_framework, create_asm_win, create_file_win): Use "see", not "yview". (create_copyright_window, center_window, bind_widget_after_class): New procs. (FSBox,create_command_window, create_autocmd_window): Binding changes for Tk4. (textscrollproc): Define globally. (build_framework): tk_menuBar no longer needed. Keys Prior, Next, Home, End, Up, and Down are all defined by Tk. (apply_filespec): Use error bitmap in dialog. (files_command): Don't use tk_listboxSingleSelect. (files_command): Don't use "uniq" to remove duplicates from a list. (update_assembly): Use lassign. (create_asm_win): Removed redundant bindings. (listing_window_button_1, file_popup_menu): Use tk_popup. (ButtonRelease-1 binding): Just remove tag from window; rest handled by Tk. * gdbtk.c (gdbtk_query): Use Tcl_Merge to provide quoting. (call_wrapper): Use Tcl_Eval, not Tcl_VarEval. (gdbtk_call_command): Ditto. Thu Jan 4 16:04:54 1996 Stu Grossman (grossman@cygnus.com) * configure configure.in: Make --enable-gdbtk be the default. Thu Dec 28 15:10:49 1995 Stan Shebs * README.GDBTK: Polish introductory paragraph. Mon Oct 16 11:27:06 1995 Stu Grossman (grossman@cygnus.com) * gdbtk.c (gdb_disassemble): Use fprintf_unfiltered instead of fprintf_filtered. Tue Oct 10 15:26:39 1995 Fred Fish * README.GDBTK: Updated for version 4.15. Sat Aug 19 17:20:22 1995 Michael Tiemann * gdbtk.tcl: ENABLE comes back as "1" or "0", not "enable" or "disable". Also, wire up the breakpoint window so that it can be demo'd. Tue Aug 1 11:44:53 1995 J.T. Conklin * gdbtk.c: Include "gdb_string.h" instead of . Tue Jun 20 10:19:40 1995 Stu Grossman (grossman@cygnus.com) * gdbtk.c: Add functions Tcl_Malloc, Tcl_Realloc, and Tcl_Free. * gdbtk.tcl (add_breakpoint_frame): Add more fields. * (create_file_win create_asm_win build_framework): Create null bindings for meta keys to keep window from dropping down to insertion point when meta is pressed by itself. New bindings: Up/Down - Scroll up/down one line at a time Next/Prior - Scroll up/down one page at a time Home/End - Warp to current pc/end of file * (build_framework): Turn on breakpoint menu. * (create_command_window): Implement tab completion. Add binding for ^C to stop target. Fri May 19 06:15:40 1995 Jim Kingdon * gdbtk.c: Conditionalize use of stdarg rather than varargs on ANSI_PROTOTYPES not __STDC__; it must match the definition of PARAMS. Thu May 18 15:58:46 1995 J.T. Conklin * gdbtk.c (gdbtk_query): Use stdarg.h macros when compiling with an ANSI compiler. Sat Apr 15 13:52:24 1995 Stan Shebs * gdbtk.c (gdb_disassemble): Read from inferior if connected to a VxWorks target. Fri Apr 14 10:18:20 1995 Stu Grossman (grossman@cygnus.com) * README.GDBTK: New file. Contains the obvious. Tue Apr 11 11:07:12 1995 Michael Meissner * gdbtk.c (gdbtk_init): If SIOCSPGRP is not available, but F_SETOWN is, use that. Thu Apr 6 17:00:46 1995 Michael Meissner * Makefile.in (X11_INCLUDES): Define as empty. (X11_CFLAGS): Define as including $(X11_INCLUDES). (X11_LIB_SWITCHES): Define as empty. (X11_LIBS): Define as -lX11. * configure.in (enable_gdbtk): If gdbtk, support the --x-includes and --x-libraries switches, setting the X11_INCLUDES and X11_LIB_SWITCHES respectively. Instead of using a hardcoded -lX11 in ENABLE_CLIBS, use the X11_LIB_SWITCHES and X11_LIBS variables. * gdbtk.c (gdbtk_init): If SIOCSPGRP is not available, don't use it. This means that the stop button doesn't work, but is better than nothing. Wed Mar 29 17:09:29 1995 Stu Grossman (grossman@cygnus.com) * Makefile.in (gdbtk.o): Use X11_CFLAGS to provide alternate locations (per-host) for X11 include files. * config/pa/hppahpux.mh (XM_CLIBS): Add -L/usr/lib/X11R5 to force the use of R5 libs. (X11_CFLAGS): Add this to indicate the locs of the R5 include files. Wed Mar 8 16:12:21 1995 Stu Grossman (grossman@cygnus.com) * gdbtk.c (gdb_get_breakpoint_info): Return error if breakpoint type is not bp_breakpoint. Tue Feb 14 17:16:41 1995 Stu Grossman (grossman@cygnus.com) * gdbtk.c: Ditto. * gdbtk.c: General cleanups, get rid of unused variables. Redo handling of stdout/stderr to just return output as the result of the tcl command that caused the output. Cleanup -Wall stuff. * (breakpoint_notify): Now returns just action and breakpoint number. * (gdb_get_breakpoint_list): New routine. Does the obvious. * (gdb_get_breakpoint_info): Mostly derived from the old breakpoint_notify, but returns lots more info. * (dsprintf_append_element): Helper routine, works like printf, but appends a tcl element onto the specified DString. Good for building up lists as return values. * (gdbtk_enable/disable_breakpoint): Go away. Replaced with gdbtk_modify_breakpoint. * (*many routines*): Use new result protocol. * (call_wrapper): Make sure that recursive calls don't trash results. * gdbtk.tcl: New windows, autocmd, and breakpoints. * (gdbtk_tcl_fputs): Don't use $current_output_win redirection anymore. It's not needed (in fact, this routine may not be needed anymore). * (gdbtk_tcl_breakpoint): Change to reflect new breakpoint notification protocol. * (gdbtk_tcl_busy gdbtk_tcl_idle): Straighten out buttons, remove catches. * (interactive_cmd): Use this wrapper around button invocations of many commands. This will catch errors and put the results into the command window. It also updates all the other windows. * Also, change reliefs of most things to sunken. This actually looks better. * (create_file_win): Fix margin binding to allow breakpoints to work again. * (create_asm_win): Use return value of gdb_disassemble instead of implicit I/O to the command window. * (create_command_window): Use new result protocol to get output from commands. Sun Feb 5 20:32:44 1995 Jim Kingdon (kingdon@lioth.cygnus.com) * gdbtk.c (gdb_disassemble): Deference pointer to function before calling it (pre-ANSI compilers generally require this). Fri Feb 3 11:19:20 1995 Stu Grossman (grossman@cygnus.com) * gdbtk.c (gdb_disassemble): Get rid of dis_asm_read_memory_hook. We can now call the disassemblers directly and have no need for this hook anymore. Mon Jan 30 17:34:24 1995 Stu Grossman (grossman@cygnus.com) * gdbtk.tcl (create_file_win): Disable old popup menu for source window. Wed Jan 25 18:23:46 1995 Stu Grossman (grossman@cygnus.com) * gdbtk.c (gdbtk_init): Prevent segfault when gdbtk.tcl can't be found. * gdbtk.tcl: Initialize expr_update_list() to prevent errors when popping up expression window for the first time. Tue Jan 24 12:10:28 1995 Stu Grossman (grossman@cygnus.com) * gdbtk.tcl (create_registers_window): Work around a radiobutton widget bug to make Options|Natural button work. * gdbtk.c (gdb_disassemble): Fix problem with source+assembly and g++ caused by out-of-order pc's. * gdbtk.tcl (files_command): Remove duplicate file names. Also, add scrollbar. Mon Jan 23 17:21:09 1995 Stu Grossman (grossman@cygnus.com) * gdbtk.tcl: Take .gdbtkinit if it exists. Makes gdbtk match the doc! Thu Jan 12 15:02:40 1995 Stu Grossman (grossman@cygnus.com) * gdbtk.c, gdbtk.tcl: Update/add copyright. * gdbtk.tcl (build_framework): Several fixes for filespec widget, including dismiss button, and better error handling. * (create_command_win): Bind button 2 to retrieve selection. Wed Jan 11 17:06:55 1995 Stu Grossman (grossman@cygnus.com) * gdbtk.tcl: Add button to control mixed source disassembly. Use text widgets in expr window. The give me more control over layout. Add auto-updating of exprs in expression window. Handle expressions out of scope a bit better. Make selected window pop up to the top when invoked via the menubar. Make copyright message have raised relief. * gdbtk.c (gdbtk_init): Improve handling for errors in gdbtk.tcl during startup. Thu Jan 5 17:38:29 1995 Stu Grossman (grossman@cygnus.com) * gdbtk.c (finish_saving_output): Don't do anything if not saving output. * (breakpoint_notify): Don't send null filename to tcl. * (gdb_eval): New tcl command to eval an expression. * (gdb_disassemble): New tcl command to do disassembly. This allows tcl code to choose between exec file and target memeory, and can also do mixed source and assembly. * (gdbtk_init): Move reading of gdbtk.tcl to the end to make sure that more of the environment is set up. Also, create link between gdb and tcl vars disassemble{-_}from{-_}exec. * gdbtk.tcl: New expression window support. * Make assembly window be 80 columns wide. * Use new disassembly method. Add menu items to select disassembly from exec file or target. * Change View menubar item to Options. * Get rid of Stack, Breakpoints, Signals, and Variables Windows, since they don't exist yet. * Pop up a copyright window on startup. Wed Jan 4 19:49:10 1995 Stan Shebs * gdbtk.tcl (build_framework): Add standard commands menu, more windows to standard windows menu. (not_implemented_yet): Clarify message. Fri Dec 30 15:49:00 1994 Stan Shebs * gdbtk.tcl (FSBox): New proc, File Selection Box code from exmh. (not_implemented_yet): New proc. (build_framework): Add various file commands to file menu. Fri Dec 23 16:18:50 1994 Stu Grossman (grossman@cygnus.com) * gdbtk.c (gdbtk_wait gdbtk_init): Portability improvements for SIGIO handling. Mon Dec 19 09:55:47 1994 Stu Grossman (grossman@cygnus.com) * gdbtk.tcl (update_assembly): Force update to make sure that pc is visible when creating new assembly windows. Sun Dec 18 23:31:20 1994 Stu Grossman (grossman@cygnus.com) * gdbtk.c (gdbtk_wait gdbtk_init): Use different method of enabling I/O interrupts for SVR4 (streams). * (start_saving_output save_output get_saved_output finish_saving_output flush_holdbuf gdbtk_flush gdbtk_fputs gdbtk_init): Totally revamp to use TCLs dynamic string functions. Also, quote all data passed back to TCL to prevent errors with unmatched braces, odd characters, etc... This fixes several wierd problems with outputting strings containing unmatched braces. * (breakpoint_notify gdb_loc): Use long hex format to output addresses of breakpoints and PCs. This fixes some Alpha problems. * (breakpoint_notify): Add stream arg to call to gdbtk_fputs. * (gdb_listfiles): Also, go through the symtabs when looking for files. This makes xcoff work (sort of), but probably breaks something else. * (gdb_stop): Return TCL_OK instead of nothing. This fixes odd TCL errors when hitting stop button. * (tk_command): Don't pass interp->result on to Tcl_{Var}Eval, as that will trash the result. strdup the result instead and pass that on. Improve error handling as well. * gdbtk.tcl (gdbtk_tcl_flush): Use global def of current_output_win. Makes flushing actually work! * (asm_win_name create_asm_win update_assembly): Bunch of fixes to make assembly windows stop flashing when loading a new file. * (gdbtk_tcl_busy gdbtk_tcl_idle): Use catch to prevent gdb_cmd errors from losing control. * (create_source_window): Add source file selection to View menu. * (create_command_window ( binding): Quote text fed into gdb_cmd to prevent eval errors. Thu Dec 15 16:40:10 1994 Stu Grossman (grossman@cygnus.com) * gdbtk.c: Improve mechanism for capturing output values. (full_filename): Remove. (gdb_cmd call_wrapper gdbtk_init): Protect all calls from tcl land with call_wrapper. This prevents longjmps (usually via error()) from jumping out of tcl/tk and leaving things in an indeterminate state. (gdbtk_fputs): Differentiate stdout from stderr when passing text into tcl land. * gdbtk.tcl: New view option to disable line numbers. Put catch around most uses of gdb_cmd. Add update button to reg config window. Stop doing immediate updates when selecting registers. Change register view values into checkbuttons. Mon Dec 12 16:59:29 1994 Stu Grossman (grossman@cygnus.com) * gdbtk.tcl (reg_config_menu create_registers_window recompute_reg_display_list): Use array instead of individual vars for register display list. * (recompute_reg_display_list update_registers): Fix bug with not displaying all registers. Mon Dec 12 12:22:21 1994 Stu Grossman (grossman@cygnus.com) * gdbtk.c: New tcl commands: gdb_fetch_registers, gdb_changed_register_list, and gdb_regnames. * gdbtk.tcl: Use monochrome color model for now. * (delete_breakpoint_tag create_file_win): Add breakdot support. * (create_file_win create_asm_win update_listing build_framework create_source_window create_command_window): Re-org window creation to give all windows consistent look and feel. * (update_listing update_asm): Change pc pointer to '->'. * (registers_command reg_config_menu create_registers_window populate_reg_window update_registers): Revamp register window. Allow selection of registers to be displayed. Highlight changed registers. Mon Nov 28 09:17:20 1994 Stu Grossman (grossman@cygnus.com) * gdbtk.tcl (build_framework): Fix bug with setting window titles. * gdbtk.tcl (build_framework): Add "Report bug" to help menu. * gdbtk.tcl: Re-arrange windows using new, consistent layout. Clean up lots of code and centralize framework initialization. Wed Nov 16 15:28:29 1994 Rob Savoye (rob@cygnus.com) * Makefile.in: Fix the test for installing gdbtk. Mon Nov 14 08:51:29 1994 Stu Grossman (grossman@cygnus.com) * Makefile.in: Install gdbtk.tcl. * configure.in: Add ENABLE_GDBTK flag. * gdbtk.c (gdb_sourcelines): Returns list of source lines containing code. (gdb_regnames): Returns list of register names. Thu Nov 3 14:25:24 1994 Stu Grossman (grossman@cygnus.com) * gdbtk.c (gdb_stop): Switch to target_stop(). Tue Nov 1 16:41:12 1994 Stu Grossman (grossman@cygnus.com) * Makefile.in: Use $(objdir)/tcl and $(objdir)/tk if they are available. * configure.in (ENABLE_CLIBS): Use $(TCL) and $(TK) instead of -ltcl and -ltk. * gdbtk.c: Get rid of lots of unnecessary #includes. * (gdbtk_init): Use ConnectionNumber macro instead of referencing Display structure directly. * gdbtk.tcl: Change exit button to quit button. Wed Oct 26 15:41:07 1994 Stu Grossman (grossman@cygnus.com) * gdbtk.c: Change sense and name of no_windows variable. Now called use_windows, and defaults to off (for compatibility). Thu Oct 20 17:35:45 1994 Stu Grossman (grossman@cygnus.com) * gdbtk.c (gdb_cmd): Force GUI into idle mode when errors occur. * (gdb_stop): New tcl command to stop the target process. * (x_event, gdbtk_wait): Allow GUI to interrupt gdb out of target waits. * (gdbtk_call_command): Wrapper around command processing to alert GUI of target state changes. * (gdbtk_init): Get the fd of X server for doing async notification of X events (via x_event). Setup new hooks. * gdbtk.tcl: Add scrollbars to assembly and command windows. * Change window foreground & background colors. * Create margin tag for breakpoints in source and assembly windows. * Add new routines to be invoked when target state changes to/from idle. * Add start of expression window. * Change bindings of mouse button 1 in assembly and source window to just set or clear breakpoints when in the margin tag. * Change shape of register window to be more vertical to better reflect its contents. * Add stop button. * Cleanup some code around command window bindings. Sat Sep 17 17:05:14 1994 Stu Grossman (grossman@cygnus.com) * gdbtk.tcl: Let ^U delete lines in the command window. Fri Sep 16 15:40:34 1994 Stu Grossman (grossman@cygnus.com) * gdbtk.c: Replace calls to full_filename with symtab_to_filename. * gdbtk.tcl: New routine pc_to_line replaces in line code. New routine decr replaces in line code. * (create_file_win): Use catch to handle open failures more elegantly. Also, create special window to display file open failure message. Move opening of file prior to creation of text widget. * (create_asm_win): Add PC as argument. We now base disassembly on PC instead of function name, since function names can be ambiguous (usually seen with shared libs). Also, use catch to simplify code where we don't care about failures. Wed Sep 14 00:55:26 1994 Stu Grossman (grossman@cygnus.com) * gdbtk.tcl: Add ref counts to breakpoint tags. * Put quotes around function name in disassemble command to better handle assembler names containing `.'. * Make pclist element 0 be filler to avoid off-by-one problem with line numbers. * Set names of top-level windows. * Add register display window. * Add PC to label of assembly window. Tue Sep 13 08:59:04 1994 Stu Grossman (grossman@cygnus.com) * gdbtk.c (gdbtk_flush gdbtk_fputs): Buffer up output to make disassembly more efficient. * (breakpoint_notify): Include pc in gdbtk_tcl_breakpoint callback. * (gdb_loc): Include pc in return value. Also, return function name if arg was specified. * (gdb_cmd_stub): Call gdb_flush to drain internal GDB buffers after command completes. * (gdbtk_init): Improve error handling. * gdbtk.tcl: Add lots of comments. Clean up code. * (gdbtk_tcl_fputs): Make output window redirectable. * Add assembly window, and breapoint support. * Make button 1 in margin toggle breakpoints. * Use stippling to indicate breakpoint disabling. Fri Sep 2 19:11:40 1994 Stu Grossman (grossman@cygnus.com) * configure.in: Don't symlink to gdbtk.tcl if it's already there. Thu Jul 28 14:37:36 1994 Stu Grossman (grossman@cygnus.com) Support for TK GUI. * Makefile.in: Add rule for gdbtk.o. * configure.in: Add support for --enable-gdbtk. * gdbtk.c: New file. Contains support routines for TK interface. * gdbtk.tcl: New file. Implements GUI policy. Local Variables: mode: indented-text left-margin: 8 fill-column: 74 version-control: never End: