Commit graph

2644 commits

Author SHA1 Message Date
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
Peter Schauer
6cb4e9e036 * sparc-tdep.c (sparc_pop_frame): Remove erroneous extra argument
to write_register.
1994-12-18 19:55:28 +00:00
Jim Kingdon
ee7b9e92f6 * tm-sparc.c (EXTRA_FRAME_INFO): New field sp_offset.
* sparc-tdep.c (sparc_init_extra_frame_info): Set it.
	(examine_prologue, sparc_init_extra_frame_info): Use ->frame plus
	->sp_offset to compute the address something is saved at, not
	->bottom.

	* sparc-tdep.c (get_saved_register): New function.
	* tm-sparc.h: Define GET_SAVED_REGISTER; don't define
	FRAME_FIND_SAVED_REGS, HAVE_REGISTER_WINDOWS or REGISTER_IN_WINDOW_P.
	* stack.c (frame_info): Add comment about what to do if
	FRAME_FIND_SAVED_REGS is not defined.

	* sparc-tdep.c (sparc_init_extra_frame_info): Set ->frame field
	here.  Get it right for flat frames.
	* sparc-tdep.c (sparc_frame_chain): Instead of returning
	meaningful value for ->frame field, just return dummy value.
	This change is needed because the old code didn't deal with mixed
	flat and non-flat frames.

	* sparc-tdep.c (sparc_pop_frame): Write SP_REGNUM from
	frame->frame, don't go through saved regs for this.

	* sparc-tdep.c: Move guts of skip_prologue to new function
	examine_prologue.  Check for flat prologue and set is_flat.
	Provide the caller with the information about what is saved where
	if desired.
	(skip_prologue, sparc_frame_find_saved_regs): Call examine_prologue.

	* sparc-tdep.c: Replace union sparc_insn_layout and anonymous
	union in isannulled, which won't work on a little-endian host,
	with X_* macros.

	* sparc-tdep.c (sparc_frame_saved_pc): If addr == 0, the saved PC
	is still in %o7.

	* config/sparc/tm-sparc.h: Define INIT_FRAME_PC and
	INIT_FRAME_PC_FIRST.
	* blockframe.c (get_prev_frame_info): Modify comments regarding
	INIT_FRAME_PC_FIRST and the sparc.

	* sparc-tdep.c (single_step): Use 4 not sizeof (long) for size of
	instruction.
1994-12-18 06:59:12 +00:00
Peter Schauer
84bdfea6aa * c-typeprint.c (c_type_print_base): Use `show' of -1 to print
the return type of methods to avoid infinite loops with anonymous
	types.
	* valops.c (search_struct_field):  Handle anonymous unions.

	* sparc-tdep.c (sunos4_skip_trampoline_code):  New function
	to correctly handle steps into -g compiled PIC objects in the
	main executable.
	* config/sparc/tm-sun4os4.h (SKIP_TRAMPOLINE_CODE):
	Redefine to use sunos4_skip_trampoline_code.

	* dwarfread.c (DWARF_REG_TO_REGNUM):  Provide a default mapping
	from DWARF to GDB register numbering.
	* dwarfread.c (locval):  Use DWARF_REG_TO_REGNUM to map the
	register value.
	* config/mips/tm-mipsv4.h (DWARF_REG_TO_REGNUM):  Define.
1994-12-17 10:46:32 +00:00
Stan Shebs
9138469984 * defs.h: Include progress.h.
(QUIT): Call PROGRESS.
	* main.c (main): Call START_PROGRESS and END_PROGRESS, break
	usage message into shorter strings.
	* source.c:  Change long command help strings into concats of
	shorter ones, for picky ANSI compilers.

(ChangeLog.mpw)
	* main.c, source.c: Remove hacks that replace long strings
	with shorter ones, now solved portably.
1994-12-16 01:58:43 +00:00
Stan Shebs
83ebf43970 * top.c (command_loop): For space usage display, show both
absolute size and the change from before command execution.
1994-12-16 01:19:40 +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
Stan Shebs
b8b78f950d * breakpoint.c, infrun.c, printcmd.c: Change long command help
strings into concats of shorter ones, for picky ANSI compilers.
1994-12-13 23:36:31 +00:00
Stan Shebs
eb8910888d Sparc flat register window support.
* sparc-tdep.c (sparc_insn_layout): New union, defines layout of
        instructions symbolically (used to be local to skip_prologue).
	(sparc_init_extra_frame_info): New function.
	(sparc_frame_chain): Add flat cases throughout.
	(skip_prologue): Add recognition of flat prologues.
	(sparc_frame_find_saved_regs): Add flat cases.
	(sparc_pop_frame): Ditto.
	* config/sparc/tm-sparc.h (EXTRA_FRAME_INFO): New slots.
	(INIT_EXTRA_FRAME_INFO): Call sparc_init_extra_frame_info.
	(PRINT_EXTRA_FRAME_INFO): Define.
1994-12-13 01:11:49 +00:00
Stu Grossman
cb3313c147 * 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.
1994-12-13 01:04:38 +00:00
Jim Kingdon
c676d8274d * f-lang.c: Remove duplicate declaration of
builtin_type_f_integer, and only include it in the f_builtin_types
	once.

	* somread.c (som_symfile_read): Just assign to objfile->obj_private,
	not OBJ_UNWIND_INFO.  Assigning to a cast is a GCC-ism which
	the HP compiler doesn't like.
1994-12-12 21:21:10 +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
Stan Shebs
0dd47264fd * remote.c (remote_wait): Pass string instead of char to strcpy. 1994-12-09 23:54:02 +00:00
Jim Kingdon
2eafd7ae71 * gdbserver/low-lynx.c (mywait): Remove debugging printf. 1994-12-09 12:46:42 +00:00
Jim Kingdon
613a9e5fe3 * frame.h: Restore pre-Nov 3 comments about FRAME_FP with minor
changes.  They are correct, unlike the post-Nov 3 comment
	(FRAME_FP doesn't have any machine-independent relationship with
	FP_REGNUM or any other such notion of a "frame pointer").
1994-12-08 23:20:11 +00:00
Jim Kingdon
4cc1b3f79d * gdbserver/remote-utils.c (write_ok): Write "OK", not "Ok", to
match stubs and protocol spec.
	* gdbserver/remote-utils.c (remote_open): Cast to struct sockaddr
	when passing to function which expects that.

	The following changes aren't quite enough to make things work with
	LynxOS (apprently kernel problems).
	* infrun.c (wait_for_inferior): When resuming new thread, pass pid
	not -1 for remote case.
	* thread.c (info_threads_command): Give error if !target_has_stack.
	* infrun.c (start_remote): Call init_thread_list.
	* thread.c (info_threads_command): Don't call kill for remote
	debugging target.
	* target.c (normal_pid_to_str): Print "thread" not "process" for
	remote.
	* remote.c, gdbserver/*: Add 'H', 'S', and 'C' requests, 'X'
	response, and `thread' part of 'T' response.
	* gdbserver/*: If program exits, send packet to GDB before
	exiting.  Handle termination with a signal the same as exiting
	with an exitstatus.
	* remote.c: Don't try to kill program after getting an 'X'
	response.
	* infrun.c (wait_for_inferior): Add comment about kill versus mourn.
1994-12-08 22:54:33 +00:00
Rob Savoye
d8c139e122 * config/pa/tm-pro.h tm-hppap.h, hppapro.mt: Rename tm-hppap.h to
tm-pro.h.
1994-12-08 19:49:13 +00:00
Stan Shebs
85ae1317ad * source.c: Various cosmetic changes.
(forward_search_command): Handle very long source lines correctly.
1994-12-08 02:27:47 +00:00
Rob Savoye
bd2b724a0c * hppa-tdep.c: Use GDB_TARGET_IS_PA_ELF so SOM target support will
stop being linked in.
	* config/pa/tm-hppap.h: New file. Set GDB_TARGET_IS_PA_ELF,
	otherwise it looks like BSD-ELF.
1994-12-07 21:26:22 +00:00
Stu Grossman
13334cc2de * inftarg.c: include <sys/types.h> to get def of pid_t. 1994-12-06 05:45:31 +00:00
Stan Shebs
99eceb9a73 * solib.c (auto_solib_add_at_startup): New global.
(solib_create_inferior_hook): Call solib_add only if
	auto_solib_add_at_startup is nonzero.
	(_initialize_solib): New command "set auto-solib-add".
1994-12-03 00:19:03 +00:00
Jeff Law
b1bbe38b3d * somsolib.c (som_solib_get_got_by_pc): New function.
* somsolib.h (som_solib_get_got_by_pc): Add extern decl.
	* hppa-tdep.c (hppa_fix_call_dummy): Handle case where FUN is the
	function's export stub or real address in a shared library.
1994-12-01 05:34:30 +00:00
J.T. Conklin
151d7f0a7e * config/i386/nbsd.mh (REGEX, REGEX1): No longer define.
* configure.in (i[345]86-*-freebsd*): New configuration.
* config/i386/{fbsd.mh,fbsd.mt,nm-fbsd.h}: New files.
1994-11-29 21:47:48 +00:00
Stan Shebs
e04f89015d * top.c (read_next_line): Pass annotation suffix "commands"
instead of "command", matches documentation.
1994-11-29 20:45:13 +00:00
Stan Shebs
cf989e500f * config/a29k/tm-a29k.h (setup_arbitrary_frame): Replace
FRAME_ADDR with CORE_ADDR in prototype.
1994-11-29 03:11:38 +00:00
Stan Shebs
dfb14bc8f4 * top.c (command_line_input): If annotation suffix is NULL,
replace it with an empty string.
	(read_next_line): Pass "command" as annotation suffix to
	command_line_input.
1994-11-28 23:26:58 +00:00
J.T. Conklin
8bab380825 * config/rs6000/tm-rs6000.h (setpgrp): move defn from here...
* config/rs6000/xm-rs6000.h: ...to here.
1994-11-28 19:14:29 +00:00
Stu Grossman
04576ab6cc * gdbtk.tcl (build_framework): Fix bug with setting window titles. 1994-11-28 18:20:21 +00:00
Stu Grossman
c981300c38 * gdbtk.tcl (build_framework): Add "Report bug" to help menu. 1994-11-28 18:01:31 +00:00
Stu Grossman
006e71e956 * gdbtk.tcl: Re-arrange windows using new, consistent layout. Clean
up lots of code and centralize framework initialization.
1994-11-28 17:23:13 +00:00
Jeff Law
54576db325 * tm-hppa.h (skip_trampoline_code): Add extern decl.
* hppa-tdep.c (hppa_pop_frame): Silently restart the inferior and
	allow it to execute any return path trampoline code.  Stop the
	inferior and give the user control when the trampoline has
	finished executing.
	(in_solib_call_trampoline): Handle export stubs which also perform
	parameter relocations.
	(in_solib_return_trampoline): Likewise.
1994-11-26 04:39:07 +00:00
Peter Schauer
e8abe489a0 * coffread.c, symfile.h (coff_getfilename): Make it static again.
* xcoffread.c (coff_getfilename):  Use a static copy from
	coffread.c, modified for accessing the static xcoff strtbl.
1994-11-25 21:46:52 +00:00
Jeff Law
a76c22401c * hppa-tdep.c (in_solib_call_trampoline): Recognize calls through
_sr4export and $$dyncall as trampolines.  Likewise for long-call
	stubs and parameter relocation stubs.
	(in_solib_return_trampoline): Recognize a return trampoline for
	return value relocation stubs.
1994-11-25 09:21:49 +00:00
Jeff Law
2848f79344 * hpread.c: Include hp-symtab.h instead of hpux-symtab.h.
Various name changes to match those used by hp-symtab.h.

No longer sanitize away hpread changes.  Merge ChangeLog.hpread into
ChangeLog and ChangeLog-93.
1994-11-25 08:06:49 +00:00
Jeff Law
481faa25ac * blockframe.c (find_pc_partial_function): Inhibit mst_trampoline
symbol special handling when INHIBIT_SUNSOLIB_TRANSFER_TABLE_HACK
	is defined.
	* infrun.c (IN_SOLIB_CALL_TRAMPOLINE): Renamed from
	IN_SOLIB_TRAMPOLINE.  All callers changed.
	(IN_SOLIB_RETURN_TRAMPOLINE): Provide default definition.
	(wait_for_inferior): Handle single stepping through trampolines on
	return paths from shared libraries.
	* config/pa/tm-hppa.h (IN_SOLIB_CALL_TRAMPOLINE): Use
	in_solib_call_trampoline.
	(IN_SOLIB_RETURN_TRAMPOLINE): Use in_solib_return_trampoline.
	(INHIBIT_SUNSOLIB_TRANSFER_TABLE_HACK): Define.
	* hppa-tdep.c (in_solib_call_trampoline): New function.
	(in_solib_return_trampoline): New function.
1994-11-24 08:02:01 +00:00
Steve Chamberlain
b5a37058d4 * tm-h8300.h (REMOTE_BREAKPOINT): Define.
* h8300-tdep.c (h8300_pop_frame): Remove redundant call.
1994-11-24 07:07:21 +00:00
Steve Chamberlain
5f2f280941 * remote-e7000.c (HARD_BREAKPOINTS): Reenable.
(BC_BREAKPOINTS): Disable.
	* sh-tdep.c (print_insn): Cope with big and little endian machines.
	* sh/sh.mt: Use libsim.a
	* sh/tm-sh.h (TARGET_BYTE_ORDER_SELECTABLE): New
	(BREAKPOINT): Changed to be byteorder independent.
1994-11-24 05:59:34 +00:00
Stan Shebs
43ab4ba582 Maintenance commands to report time and space usage.
* main.c (display_time, display_space): New globals.
	(main): Add argument --statistics to enable reporting, display
	time and space after startup is done.
	* maint.c (maintenance_time_display, maintenance_space_display):
	New commands.
	* top.c (command_loop): Display time and space after command
	execution.

	* top.c (pre_init_ui_hook): New global.
	(gdb_init): If pre_init_ui_hook set, call before all other init.
1994-11-23 03:27:40 +00:00
Kung Hsu
48855ed5ce * a29k-tdep.c (examine_tag): Fix a bug in stack frame size. 1994-11-22 18:31:18 +00:00
Peter Schauer
8fb1d1893e * symfile.c (deduce_language_from_filename): Treat .c++ as a
C++ extension.

	* valops.c (destructor_name_p):  Do not compare the template
	part for template classes.
1994-11-19 11:22:30 +00:00
Stan Shebs
ae55bdbcba * defs.h, infcmd.c (reg_names): Don't declare as constant.
* remote-mips.c (mips_open): Read and set the processor type.
	* mips-tdep.c (mips_set_processor_type): Always return an int.
1994-11-18 23:03:29 +00:00
J.T. Conklin
48e776232c * nlm/alpha.c (strtol): Removed, it is provided by NetWare C library.
* nlm/gdbserve.def (strtol): Added to import list.
* nlm/fake_aio.c: Removed file, no longer used.
1994-11-18 21:57:22 +00:00
J.T. Conklin
2ec604df97 * Makefile.in (LD_FOR_TARGET, NLMCONV_FOR_TARGET): Removed.
* nlm/Makefile.in (gdbserve.O): Link with ${CC_FOR_TARGET}.
  (LD_FOR_TARGET): Removed.
1994-11-18 18:49:56 +00:00
Stan Shebs
9f9f94aa09 Support for different MIPS IDT processor models.
* mips-tdep.c (mips_processor_type, tmp_mips_processor_type,
	mips_generic_reg_names, mips_r3041_reg_names,
	mips_r3051_reg_names, mips_r3081_reg_names,
	mips_processor_type_table): New	globals.
	(mips_do_registers_info): Don't display register if name is empty.
	(mips_set_processor_type_command): New command.
	(mips_show_processor_type_command): New command.
	(mips_set_processor_type): New function.
	(mips_read_processor_type): New function.
	* config/mips/tm-idt.h (DEFAULT_MIPS_TYPE): New macro.
	* config/mips/tm-mips.h (DEFAULT_MIPS_TYPE): New macro.
	(NUM_REGS): Increase to account for all CP0 registers.
	(REGISTER_NAMES): Add empty names for CP0 registers.
	(FIRST_EMBED_REGNUM, LAST_EMBED_REGNUM): Adjust.
	(PRID_REGNUM): New macro.
1994-11-18 02:18:09 +00:00
Stan Shebs
82b6e3d5a6 * README: Add warning about termcap in Ultrix and OSF/1. 1994-11-17 00:50:40 +00:00
Rob Savoye
e1e6ecf21e * Makefile.in: Fix the test for installing gdbtk. 1994-11-17 00:22:24 +00:00
Rob Savoye
0eac27b928 * hppa-tdep.c: Remove including sys/dir.h from a target file. 1994-11-16 23:31:41 +00:00
J.T. Conklin
9db29b1747 * config/powerpc/gdbserve.mt (TDEPFILES): Removed fake_aio.o
* nlm/gdbserve.c: Include <nwtypes.h> before other NetWare headers.
* nlm/alpha.c: Likewise.
* nlm/ppc.c: Likewise.

* nlm/ppc.c (strtol): Removed, it is provided by NetWare C Library.
  (StopBell): New function (stubbed out).
1994-11-16 19:11:53 +00:00
Jeff Law
f32fc5f979 * hppa-tdep.c (skip_trampoline_code): Handle shared library import
trampolines.
1994-11-16 07:21:06 +00:00
Kung Hsu
e38e7f47a8 * c-exp.y (yylex): Fix a bug in template scanning. 1994-11-16 00:21:16 +00:00