Commit graph

100 commits

Author SHA1 Message Date
Andrew Cagney
8bdec905f1 Fix warnings from calls to catch_errors() and make_cleanup(). 1999-01-18 00:46:13 +00:00
Andrew Cagney
6e45c399c1 catch_errors() takes PTR argument/func instead of char* argument/func.
Update breakpoint.c.
Fix (?) cover_target_enable_exception_callback().  Wasn't returning a
value.
1999-01-17 23:23:42 +00:00
David Taylor
65b07ddca8 all remaining *.c *.h files from hp merge. 1998-12-31 21:58:30 +00:00
Per Bothner
0bf2ba41ef * Makefile.in (READLINE_CFLAGS): Search $(READLINE_SRC)/.. rather
than $(READLINE_SRC) so #include <readline/readline.h> will work.
	* top.c:  #include <readline/history.h> instead of "history.h".
	* tracepoint.c:  Likewise.
	* mac-xdep.c:  Likewise.
1998-12-23 23:06:11 +00:00
Elena Zannoni
57ac5cfff1 Tue Dec 22 10:51:33 1998 Elena Zannoni <ezannoni@kwikemart.cygnus.com>
* top.c: specify directory name for including readline.h

	* tracepoint.c: ditto.

	* utils.c: ditto.
1998-12-22 22:06:48 +00:00
Andrew Cagney
f7e85b1bc1 CARP:
Consolidate the semi-dynamic target system dependant GDB parameters
moving them all into a new file.
1998-12-14 02:37:16 +00:00
Andrew Cagney
aaa3c096db CARP:
Re-do TARGET_PRINT_INSN_INFO, TARGET_PRINT_INSN, TARGET_ARCHITECTURE,
TARGET_ARCHITECTURE_AUTO, TARGET_BYTE_ORDER_SELECTABLE_P,
TARGET_BYTE_ORDER so that they can all be overriden.

Document.

Convert mn10300 and PPC targets.
1998-12-13 23:28:46 +00:00
Geoffrey Noer
d836385e11 Fri Nov 13 00:15:08 1998 Geoffrey Noer <noer@cygnus.com>
Changes to account for name change from cygwin32 to cygwin and
        clean up Win32-related ifdefs.

        * configure.tgt: check for cygwin* instead of cygwin32.
        New cygwin gdb_target variable loses the "32".
        * configure.host: check for cygwin* instead of cygwin32.
        New cygwin gdb_host variable loses the "32".
        * configure.in: test __CYGWIN__ instead of __CYGWIN32__,
        rename gdb_cv_os_cygwin32 variable to drop the "32".  Call
        AM_EXEEXT instead of AC_EXEEXT since that isn't in a released
        autoconf yet.
        * configure: regenerate.

        * main.c: drop "32" from cygwin_ funcs, include sys/cygwin.h
          where
        cygwin path conv protos live, instead of adding a proto here
          for
        them here.
        * {main.c, ser-tcp.c, ser-unix.c, top.c}: check __CYGWIN__
        instead of __CYGWIN32__.
        * source.c: thoughout, check _WIN32 instead of WIN32.

        * config/i386/cygwin32.mh: delete.
        * config/i386/cygwin.mh: new file, was cygwin32.mh.
        * config/i386/cygwin32.mt: delete.
        * config/i386/cygwin.mt: new file, was cygwin32.mt.
        * config/i386/tm-cygwin32.h: delete.
        * config/i386/tm-cygwin.h: new file, was tm-cygwin32.h.
        * config/i386/xm-cygwin32.h: delete.
        * config/i386/xm-cygwin.h: new file, was xm-cygwin32.h.
        * config/i386/xm-windows.h: #include xm-cygwin.h now.
        * config/powerpc/cygwin32.mh: delete.
        * config/powerpc/cygwin.mh: new file, was cygwin32.mh.
        * config/powerpc/cygwin32.mt: delete.
        * config/powerpc/cygwin.mt: new file, was cygwin32.mt.
        * config/powerpc/tm-cygwin32.h: delete.
        * config/powerpc/tm-cygwin.h: new file, was tm-cygwin32.h.
        * config/powerpc/xm-cygwin32.h: delete.
        * config/powerpc/xm-cygwin.h: new file, was xm-cygwin32.h.

        * rdi-share/aclocal.m4: regenerate with aclocal.
        * rdi-share/configure: regenerate with autoconf.
        * rdi-share/{host.h, hostchan.c, hostchan.h, serdrv.c,
        * serpardr.c,
        unixcomm.c}: check __CYGWIN__ instead of __CYGWIN32__.
1998-11-13 08:16:08 +00:00
Christopher Faylor
3cee93ac7a * top.c (gdb_readline): Allow CRLF line termination on systems
which define CRLF_SOURCE_FILES.
* win32-nat.c: 1) Add thread support, 2) fix ability to attach to
a running process, and 3) implement limited support for cygwin
signals.
(thread_rec): New function.
(child_add_thread): Ditto.
(child_init_thread_list): Ditto.
(child_delete_thread): Ditto.
(do_child_fetch_inferior_registers): Ditto.
(do_child_store_inferior_registers): Ditto.
(handle_output_debug_string): Ditto.
(child_fetch_inferior_registers): Use do_* function to perform
operation.
(child_store_inferior_registers): Ditto.
(child_continue): Ditto.
(child_thread_alive): Ditto.
(cygwin_pid_to_str): Ditto.
(handle_load_dll): Reorganize, add first attempt at reading
dll names from attached processes.  Change info messages to provide
more information when dll is already loaded.
(handle_exception): Changes mandated by new thread-aware structures.
(child_wait): Track thread creation/destruction.  Handle cygwin
signals.
(child_create_inferior): Ditto.
(child_resume): Ditto.
(child_kill_inferior): Ditto.  Close child process handle to avoid a
handle leak.
(child_ops): Fill out child_ops fields that deal with threads.
* config/i386/tm-cygwin32.h: Declare function and macro needed
for converting a cygwin "pid" to a string.
* config/i386/xm-cygwin32.h: define HAVE_SIGSETMASK as 0 since
sigsetmask is not defined in cygwin.
1998-11-05 14:08:48 +00:00
Jason Molenda
ad3b8c4a1a 1998-10-13 Jason Molenda (jsm@bugshack.cygnus.com)
* blockframe.c (find_pc_sect_partial_function): Add braces to avoid
        possible nested-if confusion.
        * breakpoint.c (breakpoint_here_p): Ditto.
        (breakpoint_inserted_here_p): Ditto.
        (breakpoint_thread_match): Ditto.

        * gnu-regex.c: Define _REGEX_RE_COMP only if it isn't already defined.
        * gnu-regex.h: Define _REGEX_RE_COMP to pick up old compatability
        prototypes.

        * symtab.h: Add prototype for _initialize_source.
        * value.h: Add prototype for _initialize_value.

        * defs.h: Include sys/types.h or stddef.h to get size_t.
        (make_cleanup): Add make_cleanup_func typedef and switch to using
        a prototype for this function.
        (mfree): Add prototypes for mmalloc, mrealloc, mfree if we aren't
        using mmalloc.

        * ax-gdb.c breakpoint.c coffread.c corelow.c dbxread.c dwarf2read.c
        dwarfread.c elfread.c eval.c exec.c gdbtk-cmds.c gdbtk.c infcmd.c
        infrun.c mipsread.c nlmread.c os9kread.c parse.c printcmd.c symfile.c
        symmisc.c symtab.c thread.c top.c tracepoint.c typeprint.c valops.c:
        Cast parameters passed to make_cleanup to use the new
        make_cleanup_func typedef.


More warning cleanups.  There are still a bunch of places where the first
argument to make_cleanup is not cast to (make_cleanup_func); these are
either due to the function fitting the make_cleanup_func specification
already (e.g. free()) or they are in files that weren't compiled when
I did my make on a Linux native system.  Bwahahaha.  You can see them
like this:

grep make_cleanup\  * | grep -v make_cleanup_func

I'll surely go back and clean up the remaining suspicious calls in
GDB one of these days. :-)
1998-10-14 01:15:00 +00:00
Tom Tromey
d5adad6aa2 * top.c (context_hook): Define.
* gdbtk-hooks.c (context_hook): Don't define.
1998-08-31 22:43:21 +00:00
Keith Seitz
21b3bc779c * ser-unix.c (wait_for): Do not reset timeout_remaining for cygwin32 so
that
        we can use this member to track real timeouts.
        (hardwire_readchar): Modify for cygwin32 so that we only ever use a real
        system timeout of one second. Track the "real" timeout as a series of th
ese
        one second timeouts.
        Call ui_loop_hook to keep the gui alive.

        * top.c: Define new hook for cygwin32, "ui_loop_hook".

        * gdbtk.c (gdbtk_init): Add ui_loop_hook for CygWin32 to work around
        update problems.
1998-05-24 21:05:12 +00:00
Elena Zannoni
e6e9507d63 Mon Apr 13 16:28:07 1998 Elena Zannoni <ezannoni@kwikemart.cygnus.com>
* utils.c: (warning) added call to warning_hook

        * source.c: (find_source_lines) modified to call warning in case
        of source vs. executable time stamp mismatch. Simplified object
        file check. Initialized mtime to 0.

        * defs.h: added warning_hook prototype

        * top.c: added warning_hook prototype.

        * 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 <sys/stat.h>
1998-04-13 21:54:22 +00:00
Jason Molenda
bf9084c0a5 Wed Apr 8 19:21:42 1998 Jason Molenda (crash@bugshack.cygnus.com)
* top.c (print_gdb_version): Print 1998 now.
1998-04-09 02:22:27 +00:00
Elena Zannoni
929db6e5e2 Sat Mar 21 19:34:49 1998 Elena Zannoni <ezannoni@kwikemart.cygnus.com>
merged changes from Foundry (list follows by file/author):

        - Tom Tromey  <tromey@cygnus.com>
        * 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.

        * ser-unix.c
        - Keith Seitz  <keiths@onions.cygnus.com>
        (wait_for): Don't reset the timeout_remaining for CYGWIN32,
        since we now effectively poll the serial port.
        Don't reset the current_timeout, either, since this member is used
        by hardwire_readchar to track the timeout and call the ui_loop_hook.
        (hardwire_readchar): Poll the serial port for Cygwin32. We timeout every
        second, update the UI, and loop around doing this until we have hit the real
        timeout or we get data or an error. This will allow the UI to stay active
        while gdb is "blocked" talking to the target.
        - Martin M. Hunt  <hunt@cygnus.com>
        (wait_for): Do reset current_timeout
        because it is only used to keep track of what the
        current timeout for the scb is.

        * top.c
        - Martin M. Hunt  <hunt@cygnus.com>
        (quit_confirm): Change exit message again
        for GUI.
        (pc_changed_hook): Add prototype.
        - Tom Tromey  <tromey@cygnus.com>
        (quit_confirm): Added missing `else'.
        (quit_confirm): Special-case message if init_ui_hook is
        set.

        * symtab.c
        - Martin M. Hunt  <hunt@cygnus.com>
        (find_pc_sect_line): If no symbol information
        is found, return correct pc anyway.
        (find_methods): Comment out an apparently
        bogus error message because it messes up Foundry.

        * serial.c
        - Martin M. Hunt  <hunt@cygnus.com>
        (_initialize_serial): Add a description of
        "set remotelogbase".

        * findvar.c
        - Martin M. Hunt  <hunt@cygnus.com>
        (write_register_gen): Add call to
        pc_changed_hook if the PC is being changed.

        * defs.h
        - Martin M. Hunt  <hunt@cygnus.com>
        (pc_changed_hook): Define.

        * command.c
        -  Martin M. Hunt  <hunt@cygnus.com>
        (do_setshow_command): If no arguments are supplied,
        don't dump core, instead print out an error message.

        * breakpoint.c
        - Martin M. Hunt  <hunt@cygnus.com>
        Make set_raw_breakpoint, set_breakpoint_count,
        and breakpoint_count non-static so they are accessible from
        gdbtk.c.
        (enable_breakpoint): Enable breakpoint
        with same disposition instead of changing all breakpoints
        to donttouch.

        * annotate.h
	- Keith Seitz  <keiths@onions.cygnus.com>
        Add declarations for annotation hooks.

        * annotate.c
	- Keith Seitz  <keiths@onions.cygnus.com>
        Add hooks: annotate_starting_hook, annotate_stopped_hook,
        annotate_signalled_hook, annotate_exited_hook.
        (annotate_starting): If hook exists, call it instead.
        (annotate_stopped): If hook exists, call it instead.
        (annotate_exited): If hook exists, call it instead.
        (annotate_signalled): If hook exists, call it instead.

Sat Mar 21 19:34:49 1998  Elena Zannoni  <ezannoni@kwikemart.cygnus.com>

	Merged changes from Foundry: list follows by author:

	- Tom Tromey  <tromey@cygnus.com>

	* 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  <hunt@cygnus.com>

	* 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  <keiths@onions.cygnus.com>

	* 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  <ian@cygnus.com>

	* 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.
1998-03-22 23:02:10 +00:00
Jason Molenda
8d743926f4 * top.c (do_nothing): Remove signal handler after signal is caught.
Helpful for SYSV systems where two ^-\s will cause problems.  Should have
no effect on BSD systems.
1998-02-06 01:22:01 +00:00
Stan Shebs
59ae1b0fa9 * top.c (print_gdb_version): Restore to original message. 1998-01-19 22:31:03 +00:00
Felix Lee
23f38c9ef9 * top.c (print_gdb_version): delete stutter. 1998-01-16 20:26:57 +00:00
David Taylor
4b65fd3879 fix gdb/13620 -- control-c to interrupt gdb command only works once.
if HAVE_SIGSETJMP is not defined, nothing is changed; if it is defined
(as it now is for sysv4 based systems), then the fix is enabled.
1998-01-05 15:36:49 +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
Andrew Cagney
ee36741e63 Allow backends to set the architecture using bfd_architecture enum
instead of some magic name.
1997-09-03 07:31:55 +00:00
Andrew Cagney
cd2c720ae2 Add `set processor'' - an alias to `set architecture''. 1997-09-01 03:43:08 +00:00
Andrew Cagney
d0aba53f38 New commands `set architecture'', show architecture'' and `info
architecture''.  Update SH target to use new target_architecture_hook.
1997-08-28 10:20:21 +00:00
Andrew Cagney
750b794296 Only pass endianess to simulator when explicitly set by user with set
endian.
Prepend endian argument so that it can be overriden with target sim -ARGS.
1997-08-27 07:45:50 +00:00
Jeff Law
5959df8e16 * top.c (execute_command): Force cleanup of alloca areas.
* findvar.c (registers_changed): Likewise.
Fixes memory "leak" reported by HP.  Call from execute_command is for general
alloca cleanup; call from registers_changed is to fix hp's specific problem.
1997-07-25 22:47:17 +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
Andrew Cagney
95edd7c167 Don't restrict the endian commands to BI-ENDIAN gdb. 1997-05-23 09:25:01 +00:00
Michael Snyder
6a85a617df Mon Apr 28 17:27:40 1997 Michael Snyder <msnyder@cleaver.cygnus.com>
* top.c: change "to enable to enable" to "to enable" in a couple
        of help strings.
1997-04-29 00:32:03 +00:00
Stu Grossman
4ce7ba5188 * Makefile.in (SUBDIRS): Add mswin so that make cleanup cleans up
that directory.
	* defs.h utils.c (error warning):  Make message be const.
	* main.c (fputs_unfiltered):  Only send gdb_stdout and gdb_stderr
	to hook.  Otherwise send it to fputs.
	* monitor.c monitor.h (monitor_get_dev_name):  New function.  Does
	the obvious.
	* remote-e7000.c:  Remove debugify stuff.  Change printf, fprintf
	to _filtered forms to make output appear in GUIs.  Replace all
	uses of SERIAL_READCHAR with readchar, which has better error
	checking.
	* (e7000_parse_device):  Add prototype.
	* (readchar):  Improve doc.  Handle random serial errors.
	* (expect):  Disable notice_quit code.  It's busted.  Remove
	serial error handling (it's now handled in readchar).  Remove
	remote_debug echoing.  That's handled in readchar as well.
	* (e7000_parse_device):  Remove serial_flag arg.  It's not
	necessary.
	* (e7000_open):  Split into two pieces.  Second part is
	e7000_start_remote, and is error protected.  Now, when we connect
	to the target, we setup the initial frame and registers so that
	the user gets an immediate indication of where the target is.
	* (gch):  Remove debug output.  That's handled by readchar.
	* (e7000_read_inferior_memory):  Handle errors better.
	* (_initialize_remote_e7000):  Get rid of `<xxx>' things from
	command names.  They show up when doing completion and confuse
	things horribly.
	* ser-e7kpc.c:  Remove the last seven months of brain damage.  Get
	rid of the DLL's since we can access the device directly from Win32s
	and Win95.  Get rid of debugify crud.
	* serial.c:  Remove debugify cruft.
	* (serial_logchar serial_log_command serial_write serial_readchar
	serial_send_break serial_close):  Merge common functionality into
	serial_logchar.  Clean up rest of routines.
	* sparclet-rom.c:  Disembowel.  Leave only download routine.
	Download routine now switches to remote target automatically.
	* top.c (disconnect):  Only define if SIGHUP is defined.  Cleans
	up MSVC/Win32 problem.
	* utils.c (gdb_flush):  Don't call hook unless it's for gdb_stdout
	or gdb_stderr.
	* config/sh/tm-sh.h:  Define TARGET_SH for WinGDB.
	* config/sparc/tm-sparclet.h:  Remove override for prompt.
1997-04-19 01:42:34 +00:00
Peter Schauer
ac7a8760f5 * breakpoint.c (insert_breakpoints, watchpoint_check,
bpstat_stop_status):  Do not disable watchpoints going out of scope.
	(insert_breakpoints):  Make sure that the current frame is valid
	before calling find_frame_addr_in_frame_chain.

	* top.c (setup_user_args):  Handle quotes and backslashes.
	(print_gdb_version):  Update copyright year.
1997-03-15 08:53:41 +00:00
Dawn Perchik
16a43bf443 * defs.h: Fix cntl-C to read from the Windows message queue.
Add prototypes for make_final_cleanup (and the other cleanup
	routines.
	* remote-e7000.c: Fix sync code to timeout if unable to sync.
	Change sync code to report status while trying to sync-up
	with hardware.  Add debugging output and document.
	* ser-e7kpc.c: Swap order of len & offset to match implementation.
	Add debugging output and document.
	* serial.c: Add debugging output.
	* top.c: Add call to do_final_cleanups.
	Remove conditionals preventing Win32 from getting SIGQUIT.
	* utils.c: (*_cleanup): Modify cleanup routines to accept a cleanup
	chain as a parameter.  Extract this generic code from the cleanup
	routines into separate funtions (*_my_cleanup).  Keep old
	functionality by passing "cleanup_chain" to the new funtions.
	Define the cleanup chain "final_cleanup_chain" to be a cleanup
	chain which will be executed only when gdb exits.  Add functions
	(*_final_cleanup) to match the original (*_cleanup) functions.
	(pollquit, quit, notice_quit): Fix to read cntl-C from the
	Windows message queue.
1997-02-12 10:27:11 +00:00
Michael Snyder
62dd860e25 * top.c: Add new commands "set annotate" and "show annotate".
PR 8511
1996-10-21 21:11:31 +00:00
Jeff Law
e20c36baa7 * top.c (execute_control_command): Free values from while_control
and if_control conditions after evaluation to avoid storage leaks.
        From Peter Schauer.
Fixes 10442.
1996-09-30 17:16:35 +00:00
Fred Fish
50140ab2a7 * top.c (print_gdb_version): Rewrote to comply with new GNU coding
standards for the --version option.
	(print_gnu_advertisement): Remove, now part of print_gdb_version.
	(show_version): Remove call to print_gnu_advertisement.
	* top.h (print_gnu_advertisement): Remove prototype.
	* main.c (print_gdb_help): Move help to static function and
	add prototype.
	(main): Call print_gdb_help rather than inlining it.
	(main): Remove call to print_gnu_advertisement.
	* gdbtk.tcl (create_copyright_window): Increase timeout from
	15 seconds to 30 seconds.
1996-09-27 17:53:06 +00:00
Stu Grossman
d9951af428 * Makefile.in: Add mswin to SUBDIRS. Add rules for
mswin/libwingdb.a and remote-wiggler.o.
	* breakpoint.c (breakpoint_here_p):  Clean up bp enabled test.
	* (breakpoint_inserted_here_p):  New func, just like
	breakpoint_here_p, except it's honest.  Honestly.
	* breakpoint.h:  Proto for above.
start-sanitize-gdbtk
	* configure configure.in:  Add host *windows* to list of hosts
	that don't support GDBtk.
end-sanitize-gdbtk
	* configure configure.in:  Add mswin to configdirs if host is
	i[3456]86-*-windows.
	* core-aout.c (fetch_core_registers register_addr) gdbcore.h:
	Change all vars that can contain addresses to type CORE_ADDR.
	* findvar.c (supply_register):  Allow val to be NULL.  This means
	that regno is unsupported.
	* (read_pc read_pc_pid write_pc write_pc_pid):  Make non-pid forms
	just call pid forms with inferior_pid so that there's only once
	place to hack PC's and such.
	* infrun.c (proceed):  Don't skip breakpoints if user changed PC.
	* remote-wiggler.c:  New file.  Support for BDM interface from
	Macraigor Systems.
	* serial.c:  Enhance serial logging capability.  Add hex and octal
	output modes (set remotelogbase {hex|octal|ascii}.  Also log
	breaks, timeouts, errors, and eofs.
	* serial.h:  Redefine SERIAL_SEND_BREAK to go through a wrapper
	function so that we can log breaks.  Don't export serial_logfile
	or serial_logfp.
	* top.c (execute_command):  Don't test for serial_logfp here.
	Just call serial_log_comand, and let serial.c sort it out.
	* valops.c (value_of_variable):  Don't attempt to establish frames
	for static and global variables.  This makes things work a bit
	better if the stack or frame pointer is trashed.
	* config/m68k/monitor.mt (TDEPFILES):  Add remote-wiggler.o.
	* config/m68k/tm-m68k.h:  Define STACK_ALIGN.  CPU32 can't hack
	misaligned stacks during function calls.
1996-09-05 01:01:05 +00:00
Stu Grossman
9e77e83d30 * dwarf2read.c dwarfread.c exec.c infcmd.c infrun.c main.c
mdebugread.c os9kread.c source.c top.c utils.c:  Don't
	include param.h or sys/file.h (or unistd.h in some cases).
	* defs.h exec.c inflow.c remote-array.c remote-e7000.c
	sparcl-tdep.c terminal.h utils.c:  Replace all occurances of
	__WIN32__, WINGDB, WIN32, etc... with _WIN32.
	* main.c:  Remove #ifndef WINGDB around option processing.  Fix
	bug with passing argc==0 and argv==NULL to getopt.
	* (main) Remove calls to access() before source_command.  Let
	soure_command handle access errors.
	* maint.c (maintenance_dump_me):  #ifdef out for _WIN32.
	* symtab.c (operator_chars):  Make this global for wingdb.
	* top.c (disconnect):  #ifdef out for _WIN32.
	* (source_command):  If got an error and from_tty, then call print
	error, else just return quietly.
	* utils.c (fatal_dump_core):  Can't kill ourselves under windows.
	Just exit.
	* (pollquit notice_quit):  #ifdef out stuff that doesn't exist
	under windows.
1996-08-08 02:50:22 +00:00
Fred Fish
3f550b5940 * configure.in: Add test for "long long" support.
* configure: Regenerate with autoconf.
	* acconfig.h: Add CC_HAS_LONG_LONG
	* config.in: Regenerate with autoheader.
	* config/mips/tm-mips64.h (FORCE_LONG_LONG): Remove
	* config/sparc/tm-sp64.h (CC_HAS_LONG_LONG): Remove.
	* config/mips/tm-vr4300el.h (CC_HAS_LONG_LONG): Remove.
	* config/mips/tm-vr4300.h (CC_HAS_LONG_LONG): Remove.
	* config/mips/xm-irix5.h (CC_HAS_LONG_LONG): Remove
	(PRINTF_HAS_LONG_LONG): Remove.
	(FORCE_LONG_LONG): Remove.
	* config/powerpc/xm-aix.h (UINT_MAX): Undef and use gdb's version.
	* config/convex/xm-convex.h (CC_HAS_LONG_LONG): Remove
	(PRINTF_HAS_LONG_LONG): Remove.
	* config/xm-nbsd.h (CC_HAS_LONG_LONG): Remove.
	(PRINTF_HAS_LONG_LONG): Remove.
	* config/pa/tm-hppa.h (GET_FIELD): Put parens around
	subtraction inside shift.  Put parens around subtraction
	in operand of bitwise and.
	(struct frame_info): Forward declare
 	if __STDC__ defined.
	(frame_saved_regs): Ditto.
	(struct value): Ditto.
	(struct type): Ditto.
	(struct inferior_status): Ditto.
	(init_extra_frame_info): Add prototype.
	(skip_prologue): Ditto.
	(frameless_function_invocation): Ditto.
	(frame_chain): Ditto.
	(frame_chain_valid): Ditto.
	(saved_pc_after_call): Ditto.
	(hppa_fix_call_dummy): Ditto.
	(hppa_push_arguments): Ditto.
	(pa_do_registers_info): Ditto.
	(in_solib_call_trampoline): Ditto.
	(in_solib_return_trampoline): Ditto.
	(push_dummy_frame): Ditto.
	* convex-tdep.c (decout): Use print_longest rather than
	fprintf_filtered.
	* defs.h: Remove use of FORCE_LONG_LONG and __GNUC__ to set
	CC_HAS_LONG_LONG.
	(INT_MIN): Fix so it works correctly when assigned to a long long.
	* valprint.c (longest_to_int): Rewrite to remove dependence
	on INT_MIN and INT_MAX.
	(print_longest): Rewrite the code that falls back to synthesized
	hex output when LONGEST value is not representable as in a long and
 	printf doesn't support printing long longs.
	* ch-valprint.c (chill_val_print): Cast 2nd arg of
	chill_print_type_scalar to LONGEST.
	chill_print_type_scalar): Make static and add prototype.
	* hppa-tdep.c (get_field): Ifdef out unused function.
	(set_field): Ditto.
	(extract_3): Ditto.
	(extract_5_store): Ditto.
	(extract_11): Ditto.
	(extract_12): Ditto.
	(deposit_17): Ditto.
	(extract_14): Convert to static and add prototype.
	(deposit_14): Ditto.
	(extract_21): Ditto.
	(deposit_21): Ditto.
	(extract_17): Ditto.
	(extract_5r_store): Ditto.
	(extract_5R_store): Ditto.
	(extract_5_load): Ditto.
	(find_proc_framesize): Ditto.
	(find_dummy_frame_regs): Ditto.
	(sign_extend): Ditto.
	(find_unwind_entry): Add prototype.
	(find_return_regnum): Ditto.
	(unwind_command): Ditto.
	(find_dummy_frame_regs): Add parens around subtraction in operand
	of bitwise-and.
	(skip_prologue): Add parens around operands of logical-and inside
	operand of logical-or.
	(sign_extend): Add parens around operands of subtraction inside
	operand of shift.
	(low_sign_extend): Ditto.
	* top.c (filename_completer): Convert old style decl of
	filename_completion_function into prototype.
	* f-lang.c (patch_common_entries): Ifdef out unused function.
	* stabsread.c (read_cfront_baseclasses): Remove unused local
	variable "msg_noterm".
	(resolve_cfront_continuation): Remove unused local variable "fip".
	(read_type): Remove unused variable xtypenums.
	(read_cfront_static_fields): Remove unused variable "i".
	(read_cfront_static_fields): Remove unused variable "nfields".
	(read_cfront_member_functions): Add missing comment terminator.
	(read_cfront_static_fields): Return 1 rather than random value.
	(read_cfront_baseclasses): Ditto.
	(read_cfront_baseclasses): Ditto.
	(read_cfront_baseclasses): Ditto.
	* somsolib.c (som_solib_create_inferior_hook): Remove unused
	variable "u".
	(som_solib_create_inferior_hook): Remove unused variable
	shadow_contents.
	(language.h): Add for needed prototypes.
	(som_solib_sharedlibrary_command): Add prototype.
	* hpread.c: (hpread_read_array_type): Add prototype.
	* somread.c (hpread_build_pysmtabs): Add prototype.
	(hpread_symfile_finish): Ditto.
	(hpread_symfile_init): Ditto.
	* hppah-nat.c (fetch_register): Convert old style decl
	to prototype.
	(gdbcore.h): Include for needed prototypes.
	(fetch_register): Remove unused variable "mess".
	* remote-pa.c (get_offsets): Ifdef out unused function.
	(remote_start_remote): Remove unused variable "timeout".
	(boot_board): Add prototype.
	(reaad_frame): Add prototype.
	(getpkt): Remove unused variable "bp".
	(remote_kill): Add prototype.
	(remote_mourn): Add prototype.
	(remote_insert_breakpoint): Add prototype.
	(remote_remove_breakpoint): Add prototype.
	* valops.c (value_push): Only use if PUSH_ARGUMENTS is not defined.
	* infcmd.c (do_registers_info): Only need prototype if
	DO_REGISTERS_INFO is not defined.
	(breakpoint_auto_delete_contents): Only need if
	CALL_DUMMY_BREAKPOINT_OFFSET is defined.
1996-07-28 06:32:48 +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
Dawn Perchik
cb1709aeac * remote-e7000.c,remote.c,target.h,top.c:
Add set option "remote_timeout" for setting remote_timeout.
        Add set option "use_hard_breakpoints" for setting hardware
        .vs. memory breakpoints.
1996-06-28 12:27:08 +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
Jeff Law
ecebd69348 * top.c (read_next_line): Fix thinkos. From Don Seeley.
Net buglet.
1996-05-16 04:49:12 +00:00
Jeff Law
24ecc17a04 * top.c (execute_control_command, case while_control): Allow
a while command to be interrupted.
Fixes net bug.
1996-05-13 23:53:54 +00:00
Fred Fish
38d715a4c8 * README: Update for 4.16 release.
* configure.in (AC_CHECK_FUNCS): Also check for sbrk.
	* configure: Regenerate with autoconf.
	* config.in: Regenerate with autoheader.
	* main.c (main): Only use sbrk() when HAVE_SBRK is defined.
	* top.c (command_loop): Ditto.
1996-04-13 04:38:55 +00:00
Fred Fish
b52cac6b76 * core-aout.c (fetch_core_registers): Cast core_reg_size to int
before testing against reg_ptr.
	* eval.c (evaluate_subexp_standard): Cast type of
	TYPE_FN_FIELD_VOFFSET to int.
	* findvar.c (extract_signed_integer, extract_unsigned_integer,
	extract_long_unsigned_integer): Cast type of sizeof to int.
	* values.c (unpack_field_as_long, modify_field): Ditto.
	* valops.c (value_assign, call_function_by_hand): Ditto.
	* infcmd.c (do_registers_info): Ditto.
	* ser-tcp.c (tcp_open): Ditto
	* remote.c (putpkt): Ditto.
	* dcache.c (dcache_peek): Ditto.
	* dcache.c (dcache_poke): Ditto.
	* m2-exp.y (yylex): Ditto.
	* gnu-regex.c (re_match_2): Ditto.
	* f-lang.c (ADD_BF_SYMNUM, saved_bf_list_end, tmp_bf_ptr): Ifdef
	out unused macro definition and variables.
	* inftarg.c (proc_wait): Move from main.c to here, and make static.
	* valprint.c (val_print_string): Change bufsize from int to unsigned.
	* main.c (wait.h): Include
	* top.c (command_line_input): Remove unused variable "c".
	* f-typeprint.c (f_type_print_varspec_prefix): Add missing enum
	value TYPE_CODE_TYPEDEF to switch statement.
	(f_type_print_varspec_suffix): Add missing enum value
	TYPE_CODE_TYPEDEF to switch statement.
	* ch-exp.c (parse_primval): Add remaining enumeration values to
	switch statement, with no specific action.
	(ch_lex): Add LOC_UNRESOLVED in switch statement.
	(pushback_token): Ifdef out, since code using it is ifdef'd out.
	* stabsread.c (cleanup_undefined_types): Remove unused label
	"badtype".
	* objfiles.h (print_symbol_bcache_statistics): Add prototype.
	* maint.c (objfiles.h): Include.
	(maintenance_print_statistics): Remove unused variable "temp".
	* minsyms.c (lookup_minimal_symbol_solib_trampoline): Remove
	unused variable "found_file_symbol".
	* m2-exp.y (yylex): Add LOC_UNRESOLVED case to switch.
	* language.c (lang_bool_type): Use existing function local type
	variable rather than create block local variables.
	* solib.c (disable_break): Enclose in ifndef SVR4_SHARED_LIBS.
	* infptrace.c (wait.h, command.h): Include.
	* ser-tcp.c (gdb_string.h): Include
	* i386-tdep.c (codestream_seek): Change "place" to CORE_ADDR.
	(i386_get_frame_setup): Change "pc" from int to CORE_ADDR.
	* command.c (complete_on_enum): Make assignment used as truth value
	explictly check against NULL.
	(wait.h): Include.
	* infrun.c (wait_for_inferior): Ifdef out prologue_pc since code
	that uses it is ifdef'd out.
	* parser-defs.h: Add prototype for write_dollar_variable.
	* infrun.c: Add prototype for write_pc_pid.
	* breakpoint.h: Add prototype for re_enable_breakpoints_in_shlibs.
	* symmisc.c (bcache.h): Include.
	* bcache.h: Add prototype for print_bcache_statistics.
	* symfile.c: Include <time.h>.
	* printcmd.c (print_scalar_formatted): Change len to unsigned int.
	* valarith.c (value_equal): Cast result of TYPE_LENGTH to int.
	* valarith.c (value_binop): Change result_len, promoted_len1,
 	and promoted_len2 to unsigned int.
	* valarith.c (value_subscripted_rvalue): Change elt_offs and
 	elt_size to unsigned int.
	* valops.c (value_array): Change typelength to unsigned int.
	(destructor_name_p): Change len to unsigned int.
	* scm-lang.h (scm_parse): Add prototype for scm_unpack.
	* symfile.c (decrement_reading_symtab): Change return type to void.
	* valarith.c (value_subscript): Remove unused variable "word".
	(value_subscript): Remove unused variable "tint".
	* valops.c (auto_abandon): Ifdef out, since code using it is also
	ifdef'd out.
	* eval.c (init_array_element): Remove unused variable "val".
	* Makefile.in (values.o): Depends on scm-lang.h.
	(command.o): Depends upon wait_h.
	(ser-tcp.o): Depends upon gdb_string.h.
	(infptrace.o): Depends upon wait_h and command_h.
	(maint.o): Depends on objfiles.h and symfile.h.
	* values.c (allocate_repeat_value): Remove unused variable
	"element_type".
	(scm-lang.h): Include.
	* breakpoint.c (create_longjmp_breakpoint): Enclose in
	GET_LONGJMP_TARGET define, unused otherwise.
	* config/i386/nm-linux.h: Add prototypes for i386_insert_watchpoint,
	i386_remove_watchpoint and i386_stopped_by_watchpoint.
1996-03-30 05:45:10 +00:00
Stan Shebs
f935141e4c * top.c (print_gdb_version): Update copyright year. 1996-03-05 02:13:33 +00:00
Peter Schauer
255181a9ed * dwarfread.c (read_func_scope): Avoid GDB core dumps if
AT_name tag is missing.

	* procfs.c (procfs_stopped_by_watchpoint):  Fix logic when
	FLTWATCH and FLTKWATCH are defined.

	* remote.c (remote_read_bytes):  Advance memaddr for transfers,
	return number of bytes transferred for partial reads.

	* top.c (init_signals):  Reset SIGTRAP to SIG_DFL.
1996-02-03 11:32:34 +00:00
Fred Fish
e8f1ad9a8b * NEWS: Make note of new record and replay feature for
remote debug sessions.
	* serial.c (gdbcmd.h): Include.
	(serial_logfile, serial_logfp, serial_reading, serial_writing):
 	Define here, for remote debug session logging.
	(serial_log_command, serial_logchar, serial_write, serial_readchar):
	New functions for remote debug session logging.
	(serial_open): Open remote debug session log file when needed.
	(serial_close): Close remote debug session log file when needed.
	(_initialize_serial): Add set/show commands for name of remote
	debug session log file.
	* serial.h (serial_readchar): Declare
	(SERIAL_READCHAR): Call serial_readchar().
	(SERIAL_WRITE): Call serial_write().
	(serial_close): Declare as extern.
	(serial_logfile, serial_logfp): Declare.
	* top.c (execute_command): Declare serial_logfp.  Log user command
	in remote debug session log if log file is open.
	* remote-array.c (array_wait): #ifdef out echo to gdb_stdout.
	(array_read_inferior_memory): Rewrite to fix memory overwrite bug.
	* remote-array.c (SREC_SIZE): Remove, duplicates define in
	monitor.h.
	* remote-array.c (hexchars, hex2mem):  Remove, unused.
	* gdbserver/low-linux.c (store_inferior_registers): Remove
	unnecessary extern declaration of registers[].
	* gdbserver/Makefile.in (all): Add gdbreplay.
	* gdbserver/gdbreplay.c: New file.
	* gdbserver/README: Give example of recording a remote
	debug session with gdb and then replaying it with gdbreplay.
1996-01-24 21:30:37 +00:00
Ian Lance Taylor
3ecd62ca75 * top.c (set_endian_from_file): Use new bfd_big_endian macro. 1995-12-15 21:17:04 +00:00
Per Bothner
f2ed3a80bb * top.c (command_line_input): Only strip out an initial #-comment.
Looking for internal comments is language-specific (breaks Scheme).
1995-11-29 23:22:32 +00:00
Jeff Law
05ee0201d1 * top.c (recurse_read_control_structure): Don't make cleanups
here.  Callers handle that correctly.
Fixes 6794.
1995-11-24 23:21:38 +00:00