Commit graph

81 commits

Author SHA1 Message Date
Jason Molenda
94ec3e76cb Wed Mar 4 16:50:18 1998 Jason Molenda (crash@bugshack.cygnus.com)
* gdbtk.c (gdb_listfiles): Fix thinko in last change.
1998-03-05 00:51:00 +00:00
Jason Molenda
d7363521cf Wed Mar 4 15:34:49 1998 Jason Molenda (crash@bugshack.cygnus.com)
* gdbtk.c (gdb_listfiles): Allocate space for 'files' dynamically.
1998-03-04 23:35:30 +00:00
Keith Seitz
a5f4fbff1d * tracepoint.c (tracepoint_operation): Call the modify_tracepoint_hook
if it exists.
        Remove static declaration of free_actions.

        * tracepoint.h: Add declaration of free_actions.

        * 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.
1998-02-11 02:33:22 +00:00
Keith Seitz
d001edb7ba * gdbtk.c (gdb_actions_command): Make note of next action
before freeing all references to it.
1998-01-26 19:41:39 +00:00
Martin Hunt
0776b0b0da Sat Jan 24 23:52:08 1998 Martin M. Hunt <hunt@cygnus.com>
* 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.
1998-01-25 08:56:08 +00:00
Keith Seitz
11f91b2bbc * 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.
1998-01-23 20:54:35 +00:00
Keith Seitz
0422b59e83 * gdbtk.c (gdb_immediate_command): New function which does not buffer an
y
        output. (Contrast to gdb_cmd.)
        (gdbtk_init): Install "gdb_immediate" command into interpreter.
1998-01-15 20:43:37 +00:00
Michael Snyder
43b043cf65 Fri Jan 2 16:56:16 1998 Michael Snyder (msnyder@cleaver.cygnus.com)
[From Keith Seitz  (kseitz@cygnus.com)]
        * actiondlg.tcl (change): handle '$' in register names.
        gdbtk.c (gdb_actions_command): extract and save step count
        from "while-stepping" command
1998-01-02 17:01:29 +00:00
Felix Lee
06434f5f16 sanitization fixes. (files not mentioned, fences misspelled) 1997-12-11 04:18:47 +00:00
Keith Seitz
4f17e6eb48 * gdbtk.c (gdb_get_tracepoint_info): use info in struct
symtab_and_line, not struct tracepoint
          arrange data more like gdb_get_breakpoint_info
          (tracepoint_notify): use info in struct symtab_and_line,
          not struct tracepoint
          (gdbtk_init): add command "gdb_get_tracepoint_list" into
          interpreter
          (gdb_get_tracepoint_list): new function
1997-12-11 03:05:13 +00:00
Keith Seitz
09e4fde230 * gdbtk.c (gdb_get_tracepoint_info): use info in struct
symtab_and_line, not struct tracepoint.
          (tracepoint_notify): use info in struct symtab_and_line,
          not struct tracepoint
1997-12-09 00:25:07 +00:00
Keith Seitz
e0f7db023d * gdbtk.c (gdbtk_init): add gdb_find_file to interpreter
(gdb_find_file_command): new function searches source_path to
        find real full filename
1997-12-05 20:17:13 +00:00
Keith Seitz
dd3dd91841 * 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
1997-12-01 20:53:02 +00:00
Michael Meissner
8d21d88c08 Add tracepoint.o to gdbtk builds 1997-11-27 15:13:14 +00:00
Michael Meissner
84f71d6385 Fix typos 1997-11-27 14:10:03 +00:00
Keith Seitz
6c3908dba3 * gdbtk.c (gdb_loc): symtab_to_filename can return NULL
(breakpoint_notify): symtab_to_filename can return NULL
        (gdb_get_breakpoint_info): symtab_to_filename can return NULL

        * tracepoint.c (set_raw_tracepoint): fix typo
1997-11-26 23:50:45 +00:00
Keith Seitz
018d76dddb * tracepoint.c (set_raw_tracepoint): make sure there's a trailing slash on
the directory name

        * Merge (lots) with foundry-971118-build

        * Makefile.in (install-only): install the new gdbtk, not the old

        * top.h: add declaration of get_prompt

        * top.c (get_prompt): new function

        * 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 function
        (gdb_get_file_command): new function
        (gdb_get_function_command): new function
        (gdb_get_tracepoint_info): new function
        (gdbtk_create_tracepoint): new function
        (gdbtk_delete_tracepoint): new function
        (tracepoint_notify): new function
        (tracepoint_exists): new function
        (gdb_actions_command): new function
        (gdb_tracepoint_exists_command): new function
        (gdb_prompt_command): new function

        * main.tcl: initialize gdbtk_state(readline)

        * console.tcl (invoke): get realine working
        (activate): add prompt argument for readline
        (setprompt): add prompt argument for readline

        * interface.tcl (gdbtk_tcl_readline): hack to get readline working

        * lots: Merge with foundry-971118-build

        * console.tcl (setprompt): get prompt from gdb

        * prefs.tcl (pref_set_defaults): add tracepoint defaults

        * interface.tcl (gdbtk_tcl_tracepoint): new function

        * src.tcl (constructor): set default behavior of left click, make
        a tracepoint dot, too
        (fill_files): "new" function: ripped out of "location"
        (location): use fill_files instead
        (do_bp): add support for tracepoints
        (bp_line): add support for tracepoints
        (set_tracepoint): new function
        (config_win): add "Set tracepoint here" to right-click menu

        * actiondlg.tcl: new file to help with tracepoint data collection actions

        * tracedlg.tcl: new file to help with tracepoints
1997-11-26 22:38:10 +00:00
Martin Hunt
99c98415f2 Sun Aug 17 00:42:11 1997 Martin M. Hunt <hunt@cygnus.com>
* gdbtk.c (gdb_listfuncs): New function that returns
	a list of all the functions in a source file.
1997-08-17 07:47:55 +00:00
Tom Tromey
7b94b2ea77 * gdbtk.c (gdbtk_init): Use ide_event_init_from_environment. 1997-08-11 16:49:53 +00:00
Ian Lance Taylor
740895462f * 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.
1997-08-09 00:19:16 +00:00
Ian Lance Taylor
9a2f9219c8 * 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.
1997-08-08 20:07:14 +00:00
Martin Hunt
32707df8fb Fri Aug 8 00:13:32 1997 Martin M. Hunt <hunt@cygnus.com>
* gdbtk.c (breakpoint_notify): Change buffer size from 100
	to 256 to avoid memory corruption with very long pathnames.
1997-08-08 07:13:16 +00:00
Ian Lance Taylor
9b119644fc * 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.
1997-08-01 19:24:55 +00:00
Martin Hunt
2476848aaf Thu Jul 10 00:02:41 1997 Martin M. Hunt <hunt@cygnus.com>
* 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.

	* defs.h (init_ui_hook): Change prototype to accept one arg.

	* main.c (gdb_init): Change prototype to accept one arg.

	* top.c (gdb_init): Accepts one argument which it uses to
	call (*init_ui_hook), which will be gdbtk_init(). This is
 	used for calling Tcl_FindExecutable().

	* gdbtcl/breakpoint.tcl (gdbtk_tcl_breakpoint): Change to
	accept variable number of args for compatibility with
	cchanges in gdbtk.c.

	* configure: Regenerated.

	* gdbtcl/tclIndex: Regenerated.
1997-07-10 07:15:26 +00:00
Fred Fish
56e327b302 * defs.h (perror_with_name): Is a NORETURN function.
* utils.c (perror_with_name): Is a NORETURN function.
	(error): Is NORETURN independently of ANSI_PROTOTYPES.

	* symtab.c (fixup_symbol_section): Remove prototype.
	* symtab.h: (fixup_symbol_section): Add prototype.
	* m32r-rom.c (report_transfer_performance): Add prototype.
	* sparclet-rom.c: Ditto.
	* dsrec.c: Ditto.

	* c-exp.y (parse_number): Cast args to float* or double* as
	appropriate for conversion format.
	* java-exp.y (parse_number): Ditto.

	* Makefile.in (c-exp.tab.c): Remove #line lines that refer
	to nonexistant y.tab.c file.
	(java-exp.tab.c): Ditto.
	(f-exp.tab.c): Ditto.
	(m2-exp.tab.c): Ditto.
start-sanitize-gdbtk

	* gdbtk.c (gdbtk_init): Make truth value test explicit.
	Remove unused static variable "Gdbtk_Library".
end-sanitize-gdbtk
1997-06-13 14:51:32 +00:00
Peter Schauer
27f1958c24 start-sanitize-gdbtk
* gdbtk.c (gdb_get_breakpoint_info):  Add string for new
	enumeration del_at_next_stop to bpdisp array.

end-sanitize-gdbtk
	* eval.c (evaluate_subexp_for_sizeof):  Handle dereferencing
	of non-pointer values.

	* symtab.c (gdb_mangle_name):  Improve mangling of nested types,
	their physical names already include the class name.

	* valops.c (value_cast):  Handle upcast of a class pointer.

	From Andreas Schwab (schwab@issan.informatik.uni-dortmund.de):
	* corelow.c (get_core_registers):  Make secname big enough.
1997-06-07 09:38:31 +00:00
Andrew Cagney
c14cabbac4 Part II of getting GdbTk's stop button to always work. 1997-05-08 01:00:39 +00:00
David Edelsohn
e4bb902716 * gdbtk.c (gdb_disassemble): Store endian-ness in `di'. 1997-04-21 21:01:28 +00:00
Martin Hunt
8a19b35a1b Wed Mar 19 15:16:17 1997 Martin M. Hunt <hunt@onions.cygnus.com>
* 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.
1997-03-19 23:39:20 +00:00
Tom Tromey
f02156cf49 * configure: Regenerated.
* configure.in: Run AC_CONFIG_AUX_DIR before AC_CANONICAL_SYSTEM.

	* config.in: Regenerated.

	* acconfig.h (START_INFERIOR_TRAPS_EXPECTED, sys_quotactl,
	HAVE_HPUX_THREAD_SUPPORT): Define.

	* 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.
1997-03-13 20:39:56 +00:00
Stu Grossman
40dffa42ba * gdbtk.c (call_wrapper): Clear running_now if an error occurs.
This fixes PR 11323, where gdbtk stops responding if an error occurs.
1997-02-10 21:52:46 +00:00
Mark Alexander
78b9b17039 * gdbtk.c (gdb_loc): Correct truncation of PC on 64-bit MIPS. 1996-12-12 02:54:55 +00:00
Tom Tromey
bd45f82f41 * gdbtk.c (gdbtk_readline): Fix memory leak. 1996-11-19 16:38:48 +00:00
Tom Tromey
a5a6e3bd0a Fixes for Tcl 7.6 / Tk 4.2:
* gdbtk.tcl (apply_filespec): Use tk_getOpenFile.
        Removed old fileselect code.
        * gdbtk.c (Tcl_Alloc): Renamed from Tcl_Malloc.
1996-11-19 07:40:18 +00:00
Fred Fish
fe58c81f5c * gdbtk.c (gdbtk_init): Check for a DISPLAY env variable and
gracefully degrade to using command line interface if none is
	found.
1996-08-23 07:57:10 +00:00
Tom Tromey
047465fd1b changes for new tcl/tk:
* 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.
1996-08-02 02:43:27 +00:00
Ian Lance Taylor
caeec76790 * printcmd.c (_initialize_printcmd): Initialize
tm_print_insn_info.flavour.
	* gdbtk.c (gdb_disassemble): Initialize di.flavour.
1996-07-26 18:10:18 +00:00
Fred Fish
b607efe714 See gdb ChangeLog entry with header:
Thu Jul 25 19:41:31 1996  Fred Fish  <fnf@cygnus.com>

for a rather huge set of changes.  I was going to put them here, but it
made cvs dump core.  :-(
1996-07-26 03:01:51 +00:00
Stu Grossman
91550191be * defs.h printcmd.c: Create global disassemble_info structure
tm_print_insn_info.
	* gdbtk.c (gdb_disassemble):  Setup di.mach from
	tm_print_insn_info.mach, and set endian from TARGET_BYTE_ORDER.
	* i386-tdep.c (set_assembly_language_command):  set
	tm_print_insn_info.mach to the appropriate value for 386 or 8086
	disassembly.
	* printcmd.c (print_insn):  Move init of disassembler_info to
	_initialize_printcmd.  Set endian for disassembler here.
	* sparc-tdep.c:  Set tm_print_insn_info.mach as appropriate to
	select sparc/sparclite.
	* config/sparc/{tm-sparc.h tm-sparclite.h}:  Get rid of
	TM_PRINT_INSN.  Set TM_PRINT_INSN_MACH to
	bfd_mach_sparc/bfd_mach_sparc_sparclite.
1996-07-15 23:54:39 +00:00
Fred Fish
3d9f68c05e * 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.
PR 9457
1996-06-21 17:03:22 +00:00
Fred Fish
41756e56ee * defs.h (read_command_lines, query_hook): Update prototypes.
(readline_begin_hook, readline_hook, readline_end_hook): Declare.
	* breakpoint.c (commands_command): Build message in temporary buffer
	and pass that, as well as tty control flag, to read_command_lines.
	* top.c (readline_begin_hook, readline_hook, readline_end_hook):
	Define here.
	(command_loop): Check for non-NULL instream before looping.
	(command_line_input): Use readline_hook when appropriate, to get
	user input from a GUI window.
	(read_next_line): Also build prompt if getting user input from a GUI.
	(recurse_read_control_structure): Fix typo in comment.
	(read_command_lines): Use passed in prompt and tty flag to decide how
	to build message.  Use readline_begin_hook when appropriate, to set
	up a GUI interaction window.  Just return head, whether NULL or not,
	after using readline_end_hook to complete GUI interaction.
	(define_command, document_command): Build message in a temporary
	buffer and pass it to read_command_lines, along with tty flag.
	* 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.
PR 9385
1996-05-20 02:05:55 +00:00
Fred Fish
5bac2b50e2 * 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.
1996-05-17 02:36:13 +00:00
Fred Fish
572977a552 * gdbtk.c (tk_command): Catch case where no argument is given
since this will cause the tcl interpreter to dump core.
1996-05-14 02:11:53 +00:00
Fred Fish
3f37b69612 * breakpoint.c (clear_momentary_breakpoints): Remove dead code
that is referenced nowhere else.
	(set_breakpoint): Ditto.
	(do_enable_breakpoint): Created from enable_once_breakpoint
	with a couple of changes.
	(enable_breakpoint): Call do_enable_breakpoint with an appropriate
	bpdisp enum value to set disposition of breakpoint.
	(enable_once_breakpoint): Ditto.
	(enable_delete_breakpoint): Ditto.
	* breakpoint.h (clear_momentary_breakpoints): Remove prototype.
	* symtab.c (find_pc_line): Improve comments.
	* gdbtk.c: Fix a couple of misspellings.
	* xcoffread.c: Ditto.
1996-05-08 23:34:34 +00:00
Stan Shebs
fda6fadc0d * 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.
1996-04-05 21:52:38 +00:00
Michael Meissner
8b3f9ed645 Undef SIOCSPGRP if on Linux 1996-04-05 18:27:08 +00:00
Tom Tromey
1a57cd09ea Look for -ldl or -ldld where needed by Tcl 7.5.
Updated copyrights.
Close backquote in 'lint' target.
1996-01-24 23:39:34 +00:00
Tom Tromey
4e327047ce Updated for Tcl 7.5a2 and Tk 4.1a2 1996-01-24 06:27:59 +00:00
David Edelsohn
810b984d80 * gdbtk.c (gdb_disassemble): Rework disassemble_info initialization.
Pass fprintf_unfiltered to INIT_DISASSEMBLE_INFO.
	* printcmd.c (print_insn): Likewise.
1996-01-23 23:09:05 +00:00
David Edelsohn
fc941258cc * gdbtk.c (gdb_disassemble): Rework disassemble_info initialization. 1996-01-23 17:21:16 +00:00