Commit Graph

262 Commits

Author SHA1 Message Date
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
Ian Lance Taylor 688427fb38 whoops 1994-10-07 16:33:35 +00:00
Ian Lance Taylor b83ed01952 * top.c (target_byte_order_auto): New static variable.
(set_endian): Mention that ``auto'' is permitted.
	(set_endian_auto): New static function.
	(show_endian): Change message based on target_byte_order_auto.
	(set_endian_from_file): New function.
	(init_main): Add command ``auto'' to endianlist.
	* exec.c (exec_file_command): Call set_endian_from_file.
	* defs.h (set_endian_from_file): Declare.
1994-10-07 16:20:21 +00:00
Ian Lance Taylor b8176214a5 * defs.h: If TARGET_BYTE_ORDER_SELECTABLE is defined by tm.h,
define TARGET_BYTE_ORDER as target_byte_order, and declare
	target_byte_order as an extern int, and define BITS_BIG_ENDIAN as
	a test of TARGET_BYTE_ORDER.
	* top.c: Several additions if TARGET_BYTE_ORDER_SELECTABLE is
	defined:
	(endianlist, target_byte_order): New variables.
	(set_endian, set_endian_big, set_endian_little): New functions.
	(show_endian): New function.
	(init_cmd_lists): Initialize endianlist.
	(init_main): Add commands ``set endian big'', ``set endian
	little'', and ``show endian''.
	* a29k-pinsn.c: Rewrite uses of TARGET_BYTE_ORDER and
	BITS_BIG_ENDIAN to switch at run time rather than at compile time.
	* coffread.c, dwarfread.c, findvar.c, mips-tdep.c: Likewise.
	* remote-os9k.c, stabsread.c, valarith.c, valprint.c: Likewise.
	* values.c: Likewise.
	* mips-tdep.c: Rewrite uses of GDB_TARGET_IS_MIPS64 to switch at
	run time rather than at compile time.
1994-10-06 16:47:32 +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
Jeff Law e52bfe0cc4 * defs.h (enum misc_command_type, command_control_type): Enums
for describing the command and control types.
	(struct command_line): Add new fields to keep track of the command
	type and body associated with the command.
	* top.c: Include value.h.  Delete whitespace at the end of lines.
	(build_command_line, get_command_line): New functions.
	(execute_control_command, while_command, if_command): Likewise.
	(realloc_body_list, read_next_line): Likewise.
	(recurse_read_control_structure): Likewise.
	(execute_user_command): Call execute_control_command.
	(read_command_lines): Simplify by calling read_next_line, call
	read_control_structure for "if" and "while" commands.
	(free_command_lines): Free new fields in the command structure.
	(define_command): Reset control_level to zero.
	(init_main): Install command handlers for "if" and "while" commands.
1994-09-08 05:32:34 +00:00
Stu Grossman 8164ec2eb5 * defs.h, top.c: Use `extern' in declarations of GUI hooks, and
define them in top.c.  Add comments to the hooks.
1994-08-10 23:16:40 +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
Jim Kingdon 018d94f53c * infrun.c (wait_for_inferior): Print "Program exited normally"
regardless of batch_mode.
	* defs.h, top.c (batch_mode): Removed.
1994-06-30 21:24:57 +00:00
Fred Fish b7ec5b8da5 * energize-patches, main.c (main), top.c (gdb_init, pwd_command),
top.h: Change all occurances of dirbuf to gdb_dirbuf.  Collides
	with global variable of same name in libnsl.so on UnixWare.
1994-06-23 00:08:09 +00:00
Thomas Lord f36b58b10c Init current_directory. 1994-06-15 08:04:44 +00:00
Jim Kingdon 172559ec33 * main.c: Move entire file except for #ifndef MAIN_OVERRIDE code
to new file top.c.  Make things extern instead of static and
	similar rearrangements to deal with this.
	* top.h: New file.
	* utils.c: Move fputs_unfiltered to main.c.  Remove
	FPUTS_UNFILTERED_OVERRIDE ifndef.
	* Makefile.in: Change so that gdb uses main.c, utils.c, and top.c,
	and libgdb uses utils.c and top.c.
1994-06-03 17:25:08 +00:00