Commit Graph

37 Commits

Author SHA1 Message Date
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
Stu Grossman d807bd8772 * gdbtk.c (gdb_disassemble): Use fprintf_unfiltered instead of
fprintf_filtered.
1995-10-16 18:54:29 +00:00
Fred Fish 6c9638b444 Update FSF address. 1995-08-02 03:41:12 +00:00
J.T. Conklin 2b57629364 * configure.in: Check for working mmap, ansi headers, string.h,
strings.h, and memory.h.
* configure: Regenerated.

* gdb_stat.h: New file, "portable" <sys/stat.h>.
* gdb_string.h: New file, "portable" <string.h>.

* altos-xdep.c, arm-tdep.c, arm-xdep.c, convex-tdep.c,
convex-xdep.c, coredep.c, cxux-nat.c, dbxread.c, exec.c,
gould-xdep.c, hppa-tdep.c, i386aix-nat.c, i386b-nat.c,
i386mach-nat.c, i386v-nat.c, infptrace.c, m88k-nat.c, main.c,
mdebugread.c, objfiles.c, os9kread.c, procfs.c, pyr-xdep.c,
rs6000-nat.c, source.c, standalone.c, stuff.c, sun386-nat.c,
symfile.c, symm-nat.c, symm-tdep.c, symtab.c, top.c, ultra3-nat.c,
ultra3-xdep.c, umax-xdep.c, xcoffread.c: Include "gdb_stat.h"
instead of <sys/stat.h>.

* alpha-tdep.c, breakpoint.c, buildsym.c, c-typeprint.c,
ch-typeprint.c, coffread.c, command.c, core-sol2.c, core-svr4.c,
core.c, corelow.c, cp-valprint.c, dbxread.c, dcache.c, demangle.c,
dpx2-nat.c, dstread.c, dwarfread.c, elfread.c, environ.c, eval.c,
exec.c, f-lang.c, f-typeprint.c, f-valprint.c, findvar.c,
fork-child.c, gdbtypes.c, hpread.c, i386-tdep.c, infcmd.c,
inflow.c, infptrace.c, infrun.c, irix5-nat.c, language.c,
m2-typeprint.c, main.c, mdebugread.c, minsyms.c, mipsread.c,
monitor.c, nlmread.c, objfiles.c, os9kread.c, osfsolib.c, parse.c,
printcmd.c, procfs.c, regex.c, remote-adapt.c, remote-arc.c,
remote-array.c, remote-bug.c, remote-e7000.c, remote-eb.c,
remote-es.c, remote-hms.c, remote-mm.c, remote-os9k.c,
remote-pa.c, remote-sim.c, remote-st.c, remote-udi.c,
remote-utils.c, remote-vx.c, remote-vx29k.c, remote-vx68.c,
remote-vx960.c, remote-vxmips.c, remote-vxsparc.c, remote.c,
solib.c, somread.c, source.c, stabsread.c, stack.c, symfile.c,
symmisc.c, symtab.c, target.c, top.c, typeprint.c, utils.c,
valarith.c, valops.c, valprint.c, values.c, xcoffread.c: Include
"gdb_string.h" instead of <string.h>.
* gdbtk.c: Likewise.

* config/xm-sysv4.h, i386/xm-ptx.h, m68k/xm-sun3os4.h,
sparc/xm-sun4os4.h (HAVE_MMAP): Removed.

* config/xm-lynx.h, config/i386/xm-ptx.h,
config/m68k/nm-apollo68b.h, config/m68k/xm-hp300hpux.h,
config/mips/xm-irix3.h, config/mips/xm-mips.h,
config/mips/xm-news-mips.h, config/mips/xm-riscos.h,
config/pa/hppah.h, config/rs6000/xm-rs6000.h,
config/sparc/xm-sun4os4.h, config/sparc/xm-sun4sol2.h,
config/vax/xm-vaxbsd.h, config/vax/xm-vaxult.h,
config/vax/xm-vaxult2.h (MEM_FNS_DECLARED): Removed.
* config/mips/xm-irix3.h, config/mips/xm-mips.h,
config/pa/xm-hppah.h (memcpy, memset): Removed declarations.
1995-08-01 20:14:27 +00:00
Stu Grossman 8c19daa1e5 * gdbtk.c: Add functions Tcl_Malloc, Tcl_Realloc, and Tcl_Free. 1995-06-20 17:41:11 +00:00
Jim Kingdon 73d3dbd4e6 * utils.c, complaints.c, language.c, monitor.c, remote-array.c,
remote-mips.c, remote-os9k.c, remote-st.c: Conditionalize use of
	stdarg rather than varargs on ANSI_PROTOTYPES not __STDC__; it
	must match the definition of PARAMS.
start-sanitize-gdbtk
        * gdbtk.c: Likewise.
end-sanitize-gdbtk
1995-05-19 14:15:48 +00:00
J.T. Conklin 85c613aaa7 * utils.c (fprintf_filtered, fprintf_unfiltered, fprintfi_filtered,
printf_filtered, printf_unfiltered, printfi_filtered, query, warning,
          error, fatal, fatal_dump_core): Use stdarg.h macros when compiling
          with an ANSI compiler.
        * complain.c (complain): Likewise.
        * language.c (type_error, range_error): Likewise.
        * monitor.c (monitor_printf, monitor_printf_noecho): Likewise.
        * remote-array.c (printf_monitor, debuglogs): Likewise.
        * remote-mips.c (mips_error): Likewise.
        * remote-os9k.c (printf_monitor): Likewise.
        * remote-st.c (printf_stdebug): Likewise.
        * gdbtk.c (gdbtk_query): Likewise.

        * defs.h, complain.h, language.h, monitor.h: Add prototypes to
          match above changes.

        * printcmd.c: Remove uneeded #include <varargs.h>.
        * remote-e7000.c: Likewise.

        * f-typeprint.c (f_type_print_base): Fix typo found by above
          changes.
1995-05-18 23:45:31 +00:00
Stan Shebs d7c4766c8c * gdbtk.c (gdb_disassemble): Read from inferior if connected
to a VxWorks target.
1995-04-15 21:01:31 +00:00
Michael Meissner 45f90c50d3 Use F_SETOWN if SIOCSPGRP is not available. 1995-04-11 15:14:07 +00:00
Michael Meissner 77a8995732 Initial Linux ELF support. 1995-04-06 21:08:05 +00:00
Stu Grossman 9468f8aa3e * gdbtk.c (gdb_get_breakpoint_info): Return error if breakpoint
type is not bp_breakpoint.
1995-03-09 00:43:41 +00:00
Stu Grossman 6131622e34 * annotate.c, breakpoint.c, defs.h, gdbtk.c, top.c: Replace
enable/disable_breakpoint_hook with modify_breakpoint_hook.
	* 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.
1995-02-15 01:45:39 +00:00
Jim Kingdon d039851f9f * gdbtk.c (gdb_disassemble): Deference pointer to function before
calling it (pre-ANSI compilers generally require this).
1995-02-06 04:39:14 +00:00
Stu Grossman a76ef70a14 * core.c (dis_asm_read_memory), defs.h, gdbtk.c (gdb_disassemble),
top.c :  Get rid of dis_asm_read_memory_hook.  We can now call the
	disassemblers directly and have no need for this hook anymore.
	* defs.h, printcmd.c:  Make print_insn be static.

	* ser-go32.c (dos_comisr):  Make this 8 bit clean.
	* (dos_open dos_close):  Allow multiple opens to the same device.
	Use a ref count to prevent unwanted deallocations.
	* sparcl-tdep.c:  Put #ifdefs around all socket stuff to make GO32
	happy.
	* (sparclite_ops):  Switch to download_stratum.
	* target.h (enum strata):  Move download_stratum before
	process_stratum so that executable targets get pushed on top of
	download targets.
1995-02-03 19:35:54 +00:00
Stu Grossman b66051ec19 * 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.
1995-01-26 02:27:06 +00:00
Stu Grossman c81a3fa9b6 * 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.
1995-01-24 21:49:11 +00:00
Stu Grossman 4604b34cd3 * 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.
1995-01-12 23:10:48 +00:00
Stu Grossman 724498fdc0 * gdbtk.c (gdbtk_init): Improve handling for errors in gdbtk.tcl
during startup.
1995-01-12 01:09:34 +00:00
Stu Grossman 0972203902 * Makefile.in (install_only uninstall): Indent for clarity
* core.c (dis_asm_read_memory):  Add call to
	dis_asm_read_memory_hook to provide alternate way for disassembler
	to read memory.

	* defs.h:  Protect from multiple inclusion.  Add decl for
	dis_asm_read_memory_hook.

	* 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.

	* top.c:  Make window startup be the default.
	* Add dis_asm_read_memory_hook.
1995-01-06 01:55:45 +00:00
Stu Grossman 736a82e724 * Makefile.in (CLIBS): Put LIBIBERTY last.
* gdbtk.c (gdbtk_wait gdbtk_init):  Portability improvements for
	SIGIO handling.
1994-12-24 00:32:14 +00:00
Stu Grossman 546b8ca760 * 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 (<Key-Return> binding):  Quote text fed
	into gdb_cmd to prevent eval errors.
1994-12-19 08:01:45 +00:00
Stu Grossman 86db943ceb * defs.h, gdbtk.c (gdbtk_fputs), main.c (gdb_fputs), top.c: Add stream arg
to fputs_unfiltered_hook.  Differentiate stdout from stderr when
	passing text into tcl land.
	* defs.h, top.c, utils.c (error):  Add error_hook.
	* 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.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.
1994-12-16 01:07:35 +00:00
Stu Grossman 746d1df4a9 * 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.
1994-12-12 20:50:08 +00:00
Stu Grossman 5b21fb6879 * 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.
1994-11-14 16:59:16 +00:00
Stan Shebs 1dfc8dfb17 Replace useless FRAME, FRAME_ADDR types with struct frame_info *
and CORE_ADDR, respectively.
	* frame.h (FRAME, FRAME_INFO_ID, FRAME_ADDR): Remove.
	* blockframe.c (get_frame_info): Remove.
	* a29k-tdep.c, alpha-tdep.c, blockframe.c, breakpoint.c,
	breakpoint.h, energize.c, findvar.c, gdbtk.c, gould-pinsn.c,
	h8300-tdep.c, h8500-tdep.c, hppa-tdep.c, i386-tdep.c, i960-tdep.c,
	infcmd.c, inferior.h, infrun.c, m68k-tdep.c, m88k-tdep.c,
	mips-tdep.c, nindy-tdep.c, printcmd.c, pyr-tdep.c, rs6000-tdep.c,
	sh-tdep.c, sparc-tdep.c, stack.c, valops.c, z8k-tdep.c,
	config/a29k/tm-a29k.h, config/alpha/tm-alpha.h,
	config/gould/tm-pn.h, config/h8300/tm-h8300.h,
	config/h8500/tm-h8500.h, config/mips/tm-mips.h,
	config/ns32k/tm-merlin.h, config/ns32k/tm-umax.h,
	config/pyr/tm-pyr.h, config/sparc/tm-sparc.h): Replace FRAME with
	struct frame_info * everywhere, replace FRAME_ADDR with CORE_ADDR,
	rename variables consistently (using `frame' or `fi'), remove
	calls to get_frame_info and FRAME_INFO_ID, remove comments about
	FRAME and FRAME_ADDR cruftiness.
1994-11-04 01:32:34 +00:00
Stu Grossman 6c27841f3b * corelow.c, exec.c, inftarg.c, m3-nat.c, op50-rom.c, procfs.c,
remote-adapt.c, remote-e7000.c, remote-eb.c, remote-es.c,
	remote-hms.c, remote-mips.c, remote-mm.c, remote-mon.c,
	remote-nindy.c, remote-os9k.c, remote-pa.c, remote-sim.c,
	remote-st.c, remote-udi.c, remote-vx.c, remote-z8k.c, remote.c,
	w89k-rom.c, target.c, target.h:  Add support for target_stop().
	* gdbtk.c (gdb_stop):  Switch to target_stop().
1994-11-03 22:41:12 +00:00
Stu Grossman cd2df226a7 * 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 (makes shebs
	happy).
1994-11-02 00:50:12 +00:00
Stu Grossman c51975113d * defs.h, gdbtk.c, main.c, top.c: Change sense and name of
no_windows variable.  Now called use_windows, and defaults to off
	(for compatibility).
1994-10-26 22:45:13 +00:00
Stu Grossman 479f0f18d4 * defs.h, infrun.c (wait_for_inferior), top.c: Call
target_wait_hook to allow GUI to handle blocking for inferior.  Call
	call_command_hook in execute_command to provide means for wrapping
	commands with GUI state change updates.
	* 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 it's contents.
	* Add stop button.
	* Cleanup some code around command window bindings.

	* infrun.c (wait_for_inferior):  Make sure
	through_sigtramp_breakpoint is non-null before deleting.
1994-10-21 00:59:20 +00:00
Stu Grossman 637b166117 * defs.h (QUIT): Call interactive_hook to allow GUI to interrupt.
Also, add decl for symtab_to_filename.
	* 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.
	* source.c (symtab_to_filename):  New.  Returns the file
	associated with a symtab.
	* top.c:  Define interactive_hook.  Called during QUIT to animate
	the GUI.
1994-09-16 22:57:37 +00:00
Stu Grossman 8532893d17 * 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.
1994-09-13 16:24:01 +00:00
Stu Grossman 754e5da26e * Makefile.in (INSTALLED_LIBS, CLIBS, DEPFILES): Add support for
--enable-xxx configure option by adding ENABLE_{CLIBS DEPFILES}
	where appropriate.

	* General hackery to support alternate user-interface.
	* breakpoint.c (mention, delete_breakpoint, enable_breakpoint,
	disable_breakpoint):  Call hooks for alternate user-interface.
	* defs.h:  Add declarations for alternate user-interface hooks.
	* main.c (main):  Add --nw (and --nowindows) options to disable
	the GUI.
	* (near call to command_loop):  Call command_loop_hook if set.
	* (fputs_unfiltered):  Call fputs_unfiltered_hook if set.
	* stack.c:  Call print_frame_info_listing_hook if set.
	* top.c (gdb_init):  Initialize targets.c and utils.c prior to
	other files to make sure that calls to error and warning will
	work.  Call init_ui_hook after everything else.
	* utils.c (query):  Call query_hook if set.
	* (gdb_flush):  Call flush_hook if set.
	* Change _initialize_utils to initialize_utils cuz we don't use
	automatic initialization of utils.c anymore.

	* 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.

	* remote.c:  Get rid of #ifdef DONT_USE_REMOTE.  It's no longer
	necessary.
1994-07-28 22:07:02 +00:00