aboutsummaryrefslogtreecommitdiff
path: root/gdb/tracepoint.c
AgeCommit message (Collapse)AuthorFilesLines
1998-12-23 * Makefile.in (READLINE_CFLAGS): Search $(READLINE_SRC)/.. ratherPer Bothner1-2/+2
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-22Tue Dec 22 10:51:33 1998 Elena Zannoni <ezannoni@kwikemart.cygnus.com>Elena Zannoni1-1/+1
* top.c: specify directory name for including readline.h * tracepoint.c: ditto. * utils.c: ditto.
1998-12-10CARP:Andrew Cagney1-5/+5
Rename REGISTER_NAMES{} -> REGISTER_NAME().
1998-12-02Wed Dec 2 15:11:38 1998 Michael Snyder <msnyder@cleaver.cygnus.com>Michael Snyder1-17/+5
* tracepoint.c: Move default definition of TARGET_VIRTUAL_FRAME_POINTER from here to target.h. * target.h: Add default definition of TARGET_VIRTUAL_FRAME_POINTER. * ax-gdb.c (gen_frame_args_address, gen_frame_locals_address): use TARGET_VIRTUAL_FRAME_POINTER to determine frame pointer. (gen_trace_for_expr): new argument, address of tracepoint, gets passed to new_agent_expr and added to struct agent_expr. (is_nontrivial_conversion): call to new_agent_expr now requires a dummy argument. (agent_command): use get_current_frame() to get current PC scope; pass it to gen_trace_for_expr. * ax-general.c (new_agent_expr): new argument, address of tracepoint; store it in new field of struct agent_expr. * ax.h (struct agent_expr): add new field for tracepoint address. * ax-gdb.h: change prototypes to match above changes.
1998-11-24Tue Nov 24 15:46:33 1998 Michael Snyder <msnyder@cleaver.cygnus.com>Michael Snyder1-11/+42
* config/mn10300/tm-mn10300.h (TARGET_VIRTUAL_FRAME_POINTER): new target macro. * mn10300-tdep.c (mn10300_virtual_frame_pointer): new function. * tracepoint.c (encode_actions): Use the new target macro to determine the virtual frame pointer, for collecting locals/args. (add_local_symbols, collect_symbol): add a register/offset pair of arguments so that the virtual frame pointer can be passed in.
1998-11-13Thu Nov 12 15:20:15 1998 Jim Ingham <jingham@cygnus.com>Jim Ingham1-0/+5
* console.tcl (complete): I added the ability to pass from_tty from gdb_cmd to the underlying commands. Pass 1 when the command is invoked from the console. * interface.tcl (gdbtk_tcl_tstart, gdbtk_tcl_tstop): Run the src window's do_tstop method rather than manipulating the widgets by hand. * src.tcl (build_win): Redo the packing so that the function combobox doesn't push all the other combo-boxes off the screen if it has a very long function name in it. * srcbar.tcl (do_tstop): Added a mode that just changes the GUI, which can be called from console hooks. * srctextwin.tcl: Fixed some bugs I introduced in setting breakpoints in the assembly & mixed mode windows. Dropped the notion of joint breakpoint images for lines that have breakpoints of two separate types. Too fragile. Also added the "dont_change_appearance" flag, used in the continue_to_here method to tell the GUI not to reflect the temporary disabling of all the breakpoints. * toolbar.tcl (insert_buttons): Added a little more error-checking. Thu Nov 12 15:20:15 1998 Jim Ingham <jingham@cygnus.com> * gdbtk-cmds.c (gdb_cmd): Added an optional second argument to the gdb_cmd, which is from_tty. This is passed to the gdb command parser. It is 0 by default, and the console window passes 1. * gdbtk-cmds.c: moved disassemble_from_exec from gdbtk.c to gdbtk-cmds.c with all the other link-var'ed variables * gdbtk-hooks.c (gdbtk_trace_find): Only run the hook functions if we are called from_tty. * gdbtk-hooks.c (gdbtk_trace_start_stop): Set the trace buttons from a trace_start_command callback rather than doing it as a special case in gdb_cmd. * tracepoint.c (tstart_command, tstop_command): Add call to trace_start_stop_hook here.
1998-11-05Merging the Tracepoint changes back into the Trunk:Jim Ingham1-0/+3
Wed Nov 4 12:41:42 1998 Jim Ingham <jingham@cygnus.com> * actiondlg.tcl: Get the stack collect string from an instance variable. Need to implement some way to get this from the target settings... * global_pref.tcl (toggle_tracing_mode): Add & remove hooks when you go in and out of tracing mode. Also reset the B1 behavior when you leave tracing mode * interface.tcl (gdbtk_tcl_trace_find_hook): Added the trace find hook, so you can switch the GUI state when the tfind command is used to enter & leave browse mode. * srcbar.tcl (constructor, destructor trace_find_hook): Added the trace_find_hook to the source toolbar, and added the necessary hooks to handle it. * srctextwin.tcl (trace_find_hook): Added a trace find hook to the sourcebar as well. * stack.tcl (update): protect against errors in gdb_stack. Just return "NO STACK" if we couldn't get it. * src_pref.tcl (constructor, cancel): Put all the saved prefs in an array, on cancel, see if any have changed and only rebuild the window if there have been changes. Mon Nov 2 13:24:10 1998 Jim Ingham <jingham@cygnus.com> * bp.tcl (update): The hook function was passing more arguments than this function expected. Mon Nov 2 11:16:10 1998 Jim Ingham <jingham@cygnus.com> * toolbar.tcl: Added Tdump image. Fri Oct 30 17:36:05 1998 Jim Ingham <jingham@cygnus.com> * src.tcl (set_execution_status): Changed status messages, tracing is not the same as async debugging... Fri Oct 30 17:06:31 1998 Jim Ingham <jingham@cygnus.com> * bp.tcl (bp_all): Only remove tracepoints in the tracepoint window, and breakpoints in the breakpoint window. Fri Oct 30 11:22:23 1998 Jim Ingham <jingham@cygnus.com> * actiondlg.tcl: Added special tag "Collect Stack". This still needs to get hooked into the target database to deal with targets that need to do something special to collect the stack. Also moved some repeated code into loops. * main.tcl (source_file): Source in a file of gdb commands. * srcbar.tcl (constructor): Added source file menu entry, and made stack buttons belong to both the Trace & Control classes. * srctextwin.tcl (constructor): One too many separators in the trace trace popup menu. * tclIndex: regenerated. * tfind_args.tcl: Added "tfind frame" * toolbar.tcl (create_button): Allow a button to belong to more than one class. * toolbar.tcl (enable_ui): Eliminate redundant code, and allow a button to belong to more than one class. * toolbar.tcl (create_trace_menu): Added save tracepoints & Tfind frame menu items. * tracedlg.tcl: Added deletion of actions, and fixed a the whiile-stepping combobox callback for the new combobox. * util.tcl (save_trace_commands): new proc. 1998-10-29 Michael Snyder <msnyder@demo-laptop2.cygnus.com> * target.tcl: add /dev/cua0 for Linux. Tue Oct 27 13:46:03 1998 Jim Ingham <jingham@cygnus.com> * Many little bug fixes all over in order to get tracing to work along with normal program control. * toolbar.tcl: Rewrote much of the code here to put commonly used code into functions, and clean up adding menus and buttons. Added the ability to disable particular menu items, not just whole menus. Added the ability to delete and insert buttons on the fly. * srcbar.tcl: Pushed the changes to toolbar.tcl into this file. * srctextwin.tcl: Changed the code dealing with breakpoints and tracepoints to use the text tags more consistently. Use only one set of menus for the whole widget, rather than having a separate set for the SRC+ASM case. Rewrote a lot of the code to separate out the tracing & program control functions. * interface.tcl (gdbtk_tcl_breakpoint): pass more information to the scrtextwin when a breakpoint changes state, so it can do the right thing without having to guess... * tracedlg.tcl (build_win): get the packing right so the window expands correctly. * main.tcl: do_tstop -> tstop, do_tstart -> tstart to avoid confusion with the methods in ScrBar.tcl. * prefs.tcl: Added two new preferences B1_Behavior to control whether B1 sets breakpoints or tracepoints. * src_prefs.tcl: Put in support for the B1_Behavior. * global_prefs.tcl: Put back tracing checkbox. * tdump.tcl: Fixed an incorrect (1 rather than 1.0) text widget line specification. * tfind_args.tcl (build_win): Bind return in the entry to the OK button. Clear the entry field if the Type has changed. * utils.tcl: Added comments for the debug commands. * watch.tcl (build_win): Flash the OK button before invoking it. Wed Nov 4 12:41:42 1998 Jim Ingham <jingham@cygnus.com> * gdbtk-cmds.c (gdb_set_bp_addr): Pass the type, enable & thread to gdbtk_tcl_breakpoint. * gdbtk-hooks.c (gdbtk_trace_find): Added this function. It is the hook function for tfind commands. * tracepoint.c (trace_find_command): Added the trace_find_hook, run when you do trace_find_command. * tracepoint.h: Define the trace_find_hook. Mon Nov 2 11:16:10 1998 Jim Ingham <jingham@cygnus.com> * gdbtk-cmds (gdb_get_tracepoint_info): Demangle C++ function names. Fri Oct 30 11:22:23 1998 Jim Ingham <jingham@cygnus.com> * gdbtk-cmds (gdb_get_tracepoint_info): Fixed typo. Wed Oct 28 10:14:33 1998 Jim Ingham <jingham@cygnus.com> * gdbtk-cmds.c: Made the bdtypes & bpdisp arrays shared so they could be used in gdbtk-hooks.c (breakpoint_notify). Also fixed a few error messages to actually print the bp number rather that #%d... * gdbtk-hooks.c (breakpoint_notify): pass more of the information about the breakpoint into the Tcl command, so it does not have to try and guess about information we have on the C side. * gdbtk.h: Export the bptypes & pbdisp arrays.
1998-10-29Thu Oct 29 10:04:20 1998 Michael Snyder <msnyder@cleaver.cygnus.com>Michael Snyder1-24/+5
[Support for trace debugging: registers that were not collected.] * remote.c (remote_fetch_registers): accept 'xxxx' in the register packet, with the meaning "register value is not available". Set register_valid to -1, which will connote "no value available". * findvar.c (read_relative_register_raw_bytes): return failure if register_valid == -1. (value_of_register): return failure if register_valid == -1. (read_var_value): return error if value_of_register fails for a register variable. (value_from_register): return failure if register_valid == -1. * eval.c (evaluate_subexp_standard): return error if value_of_register fails for a register used in an expression. * infcmd.c (do_registers_info): display "value not available" for registers for which register_valid == -1. * tracepoint.c (set_raw_tracepoint): just save the filename as is from the symbol table, rather than trying to prepend the dir name. Also save the bfd section. (tracepoints_info): use the section when looking up the function name. * tracepoint.h: add section field to tracepoint struct.
1998-10-141998-10-13 Jason Molenda (jsm@bugshack.cygnus.com)Jason Molenda1-6/+9
* 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-09-11Fri Sep 11 14:02:49 1998 Michael Snyder <msnyder@cleaver.cygnus.com>Michael Snyder1-9/+4
* tracepoint.c: clean up several unused variables and such.
1998-08-25Mon Aug 24 18:29:03 1998 Michael Snyder <msnyder@cleaver.cygnus.com>Michael Snyder1-0/+5
* tracepoint.c (collect_symbol): Handle register doubles that are stored in two registers.
1998-07-27Mon Jul 27 16:11:42 1998 Michael Snyder <msnyder@cleaver.cygnus.com>Michael Snyder1-1/+45
* tracepoint.c (remote_set_transparent_ranges): new function. Send the start and end addresses of all loadable read-only sections down to the trace target, so that it can treat them as "transparent" (ie. don't care if they were collected or not).
1998-07-24Fri Jul 24 14:41:19 1998 Michael Snyder <msnyder@cleaver.cygnus.com>Michael Snyder1-33/+55
* tracepoint.c (encode_actions): Treat register names and simple variable names as special cases and don't convert them to byte- codes: these things can be collected far more efficiently without invoking the bytecode interpreter.
1998-07-24Thu Jul 23 17:01:17 1998 Michael Snyder <msnyder@cleaver.cygnus.com>Michael Snyder1-6/+18
* tracepoint.c (collect_symbol): handle LOC_ARG case.
1998-07-15Cope with setting trace points on symbols which do not have an associated ↵Nick Clifton1-12/+20
directory.
1998-06-03merged from EMC branch into devoMichael Snyder1-321/+404
1998-04-29 * tracepoint.c (memrange_cmp): Another typo fix; `memrbnge' ->Tom Tromey1-1/+1
`memrange'.
1998-04-29 * tracepoint.c (memrange_cmp): Fixed typo in function intro.Tom Tromey1-1/+1
1998-04-29Tue Apr 28 17:41:20 1998 Philippe De Muyter <phdm@macqel.be>Jason Molenda1-2/+7
* symfile.c (overlay_auto_command): Add forgotten parameter definitions. (overlay_manual_command, overlay_off_command): Likewise. (overlay_load_command): Likewise. * tracepoint.c (memrange_cmp): Parameters have type void *, not struct memrange *.
1998-04-23Thu Apr 23 12:27:43 1998 Philippe De Muyter <phdm@macqel.be>Jason Molenda1-6/+6
* symfile.c (simple_overlay_update_1): Do not prefix array address by `&'. * bcache.h (BCACHE_DATA_ALIGNMENT): Ditto. * tracepoint.c (encode_actions): Ditto. * language.c, complaints.c, utils.c (varargs.h): Do not include that file here, it is already included indirectly by defs.h. * dbxread.c (dbx_symfile_init, process_one_symbol): Cast xmalloc return value to the appropriate pointer type. * utils.c (floatformat_from_doublest): Ditto. * tracepoint.c (read_actions, _initialize_tracepoint): Ditto. (add_memrange): Likewise with xrealloc return value. * stabsread.c (ref_add): Ditto. * coffread.c (coff_symfile_init): Likewise for xmmalloc return value. * elfread.c (elf_symfile_read): Ditto. * os9kread.c (os9k_symfile_init): Ditto.
1998-03-29 * tracepoint.c (trace_start_command): Set trace_running_p.Keith Seitz1-0/+2
(trace_stop_command): Clear trace_running_p.
1998-03-27Thu Mar 26 22:29:28 1998 Elena Zannoni <ezannoni@kwikemart.cygnus.com>Elena Zannoni1-2/+11
* gdbtk.c: (gdb_trace_status) new function. (gdbtk_init) added command "gdb_is_tracing". (tracepoint_notify) added passcount information. * tracepoint.c (trace_status_command): Recognize a boolean return value from the stub to indicate whether trace experiment is running. Export this value as a global state variable (trace_running_p) for use by the GUI. (from Michael Snyder) (trace_pass_command) added call to modify_tracepoint_hook. * tracepoint.h export trace_running_p
1998-03-13Fri Mar 13 15:37:02 1998 Peter Schauer (pes@regent.e-technik.tu-muenchen.de)Jason Molenda1-6/+5
* config/m68k/xm-sun3os4.h: Remove malloc declarations, they are handled via autoconf now. * remote.c (remote_ops, extended_remote_ops): Replace static forward declaration by moving the static definition to the top of the file, for old K&R compilers. * tracepoint.c (collect_symbol, trace_start_command): Replace ANSI string concatenation with K&R compatible simple string.
1998-02-11 * tracepoint.c (tracepoint_operation): Call the modify_tracepoint_hookKeith Seitz1-3/+5
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-05Thu Feb 5 11:57:06 1998 Michael Snyder (msnyder@cleaver.cygnus.com)Michael Snyder1-76/+60
* tracepoint.c (tracepoint_operation): call free_actions instead of free. (free_actions): eliminate some memory leaks for actions. (validate_actionline): pass string arg by reference, so we can change the pointer. Change all memrange collection arguments to canonical form (literal address and size), to enforce early evaluation. Accept UNOP_MEMVAL (assembly variables) for trace collection. (parse_and_eval_memrange): accept expressions for the address and size fields of a memrange (and evaluate them immediately). (several places): use -1 instead of zero to distinguish an absolute memrange from a register-relative one. (encode_actions): add handling for UNOP_MEMVAL (assembly variable).
1998-01-02Fri Jan 2 17:06:05 1998 Michael Snyder (msnyder@cleaver.cygnus.com)Michael Snyder1-5/+21
* tracepoint.c (finish_tfind_command): improved algorithm for deciding when we've "stepped" into a new stack frame. (map_args_over_tracepoints): loop over tracepoint list "safely", since list elements may be deleted during loop. (read_actions): add actions to history list.
1997-12-17Wed Dec 17 10:47:05 1997 Michael Snyder (msnyder@cleaver.cygnus.com)Michael Snyder1-8/+12
* tracepoint.c (set_raw_tracepoint): initialize addr_string to NULL; (trace_actions_command): call readline_begin_hook only if from_tty is true.
1997-12-11Thu Dec 11 14:28:01 1997 Michael Snyder (msnyder@cleaver.cygnus.com)Michael Snyder1-6/+2
* tracepoint.c (trace_find_command): don't error if going backwards thru the trace buffer in a loop. * (struct tracepoint): delete unused field.
1997-12-08Mon Dec 8 14:28:49 1997 Michael Snyder (msnyder@cleaver.cygnus.com)Michael Snyder1-8/+28
* tracepoint.c (memrange_sortmerge): allow for memranges that overlap. (collect_pseudocommand etc.) cleanup decls.
1997-12-03 * tracepoint.c: add declaration for x_commandKeith Seitz1-0/+1
* printcmd.c (x_command): remove static declaration
1997-12-03Wed Dec 3 12:00:42 1997 Michael Snyder (msnyder@cleaver.cygnus.com)Michael Snyder1-21/+55
* tracepoint.c (finish_tfind_command): call do_display so that auto-displays are updated by tfind. Also, keep track of frame and current-function so that tfind behaves like stepping (only show the stack frame if we step into a new function or return).
1997-12-02Tue Dec 2 14:53:09 1997 Michael Snyder (msnyder@cleaver.cygnus.com)Michael Snyder1-6/+23
* tracepoint.c: make "tdump" command handle literal memranges.
1997-12-02Tue Dec 2 11:34:48 1997 Michael Snyder (msnyder@cleaver.cygnus.com)Michael Snyder1-29/+54
* tracepoint.c: use "lookup_cmd" to parse actions commands (thus allowing unambiguous prefixes and aliases).
1997-12-02Tue Dec 2 10:14:15 1997 Michael Snyder (msnyder@cleaver.cygnus.com)Michael Snyder1-1/+3
* tracepoint.c: move prototype of validate_actionline(), and make it consistent with the function declaration.
1997-12-02Mon Dec 1 17:13:53 1997 Michael Snyder (msnyder@cleaver.cygnus.com)Michael Snyder1-170/+252
* tracepoint.c: modify error behavior of the tfind commands. Add some comments.
1997-11-26 * gdbtk.c (gdb_loc): symtab_to_filename can return NULLKeith Seitz1-6/+24
(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 * tracepoint.c (set_raw_tracepoint): make sure there's a trailing ↵Keith Seitz1-1/+7
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-24A ton of my most recent changes, mostly to add post-mortem data analysis,Michael Snyder1-341/+852
plus some better error checking and reporting. Still not publically visible (not mentioned in the makefile or changelog).
1997-11-24Some early changes by Keith Seitz to support the Tcl/Tk GUI.Michael Snyder1-19/+22
Note: these files are still not publically visible; just keeping their history at this point.
1997-11-24Create CVS files tracepoint.c and tracepoint.h. This is new work,Michael Snyder1-0/+1864
not yet ready for public release, so no changelog entry yet (and I'm sanitizing the files out). Just want to get them into the repository for now, so I can begin keeping their history. Not checking in the Makefile change that would cause them to be built and linked.