aboutsummaryrefslogtreecommitdiff
path: root/gdb/breakpoint.c
AgeCommit message (Collapse)AuthorFilesLines
1996-07-26See gdb ChangeLog entry with header:Fred Fish1-5/+50
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-17Changes from the FSF for Hurd thread support.Stu Grossman1-1/+12
1996-05-20 * defs.h (read_command_lines, query_hook): Update prototypes.Fred Fish1-4/+3
(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-09 * Makefile.in, breakpoint.c, corelow.c, fork-child.c, inflow.c,Stu Grossman1-1/+1
infrun.c, mac-nat.c, procfs.c, remote.c, sol-thread.c, thread.c, win32-nat.c, config/nm-lynx.h: Rename thread.h to gdbthread.h to avoid conflict with Solaris /usr/include/thread.h.
1996-05-08 * breakpoint.c (clear_momentary_breakpoints): Remove dead codeFred Fish1-170/+57
that is referenced nowhere else. (set_breakpoint): Ditto. (do_enable_breakpoint): Created from enable_once_breakpoint with a couple of changes. (enable_breakpoint): Call do_enable_breakpoint with an appropriate bpdisp enum value to set disposition of breakpoint. (enable_once_breakpoint): Ditto. (enable_delete_breakpoint): Ditto. * breakpoint.h (clear_momentary_breakpoints): Remove prototype. * symtab.c (find_pc_line): Improve comments. * gdbtk.c: Fix a couple of misspellings. * xcoffread.c: Ditto.
1996-05-02 * From Peter Schauer:Jeff Law1-24/+60
* breakpoint.h (enum bpdisp): Add del_at_next_stop. * breakpoint.c (insert_breakpoints, watchpoint_check, bpstat_stop_status): Avoid bad references to memory freed via delete_breakpoint on watchpoints going out of scope. Do not delete these watchpoints, disable them and change their disposition to del_at_next_stop instead. (breakpoint_auto_delete): Delete all breakpoints whose disposition is del_at_next_stop. (breakpoint_init_inferior): Use switch to avoid reference to already deleted breakpoint. Fixes dangling pointer problems with watchpoints.
1996-04-28 * breakpoint.c (delete_breakpoint): Fix bpt->val, bpt->expPeter Schauer1-0/+14
storage leaks. (breakpoint_re_set_one): Fix b->exp, b->val, b->cond storage leaks. * infcmd.c (run_command), solib.c (locate_base): Check for target_has_execution in addition to inferior_pid, a core file from a threaded program is yielding a non-zero inferior_pid. * sparc-tdep.c (get_saved_register): Handle window registers in a dummy frame correctly.
1996-03-27 * From Peter Schauer.Jeff Law1-19/+56
* breakpoint.c (breakpoint_re_set_one): Keep temporary breakpoints bp_until, bp_finish, bp_watchpoint_cope, bp_call_dummy and bp_step_resume in case breakpoint_re_set_one is called due to a step over a dlopen call. * infrun.c (wait_for_inferior): Always remove breakpoints from inferior in BPSTAT_WHAT_CHECK_SHLIBS case.
1996-03-06 * From Peter Schauer:Jeff Law1-28/+73
* breakpoint.c (internal_breakpoint_number): Move to file scope. (create_solib_event_breakpoint): Use an internal breakpoint number.
1996-01-05Update copyrights. Add copyright notice to configure.in.Stu Grossman1-1/+1
1996-01-05 * breakpoint.c (remove_breakpoint): Change error to warning soStu Grossman1-3/+3
that hardware watchpoint removal problems won't leave breakpoint traps in the target. * configure configure.in: Make --enable-gdbtk be the default. * remote-e7000.c (e7000_insert_breakpoint, e7000_remove_breakpoint): Use e7000 based breakpoints, not memory breakpoints. * (e7000_wait): Adjust PC back by two when we see a breakpoint to compensate for e7000 maladjustment. * sparcl-tdep.c (sparclite_check_watch_resources): Fix logic bug which prevented hardware watchpoints from working.
1995-10-27 * breakpoint.c (breakpoint_re_set): #ifdef GET_LONGJMP_TARGETStu Grossman1-8/+9
around calls to create_longjmp_breakpoint. Why install the breakpoints if we can't find the longjmp target? * infrun.c (wait_for_inferior): Cleanup comments near call test. * remote-mips.c: Fixed a bunch of prototypes to avoid char/int complaint from picky compilers. Add comment to mips_expect. Replace all instances of sr_get_debug with remote_debug. * (mips_readchar): Don't jam init string to monitor. mips_initialize() handles that. * (mips_receive_header): Print better message when we get too much garbage. * (mips_request): Allow caller to pass in buff to allow them to analyze the returned message. * (mips_initialize): Re-do initialization to try sending a BREAK, a ^C, and then a download escape sequence. Cleanup protocol startup. Eliminate sleeps. Clear breakpoints (if using monitor breakpoints). Re-init frame. * (mips_detach): Close down target. start-sanitize-gm * (mips_resume): Pass signal down to target. * (mips_create_inferior): Start target with TARGET_SIGNAL_PWR. end-sanitize-gm * (mips_wait): Handle return status with registers, or breakpoint stuff. * (mips_kill): Add ^C handling. * (mips_insert_breakpoint mips_remove_breakpoint): Call new breakpoint stuff if enabled. * (calculate_mask remote_mips_set_watchpoint remote_mips_remove_watchpoint remote_mips_stopped_by_watchpoint): Hardware watchpoint/breakpoint stuff. * (common_breakpoint): Common code for new monitor breakpoint commands. * (mips_load): Don't use `prompt'. It's a global variable. * top.c (dont_repeat_command): New command for use in user-defined commands to suppress auto-repeat (by hittin return key). start-sanitize-gm * utils.c (request_quit): Call target_kill here. Good idea. Needs a better implementation. end-sanitize-gm * valops.c: Add start of auto function-call abandonment capability. start-sanitize-gm * c-exp.y: Add code (currently disabled) to handle GM dynamic structures (it conflicts with @!). * eval.c (evaluate_subexp_standard): ditto. * expprint.c (print_subexp dump_expression): ditto. * expression.h (enum exp_opcode): ditto. * parse.c (length_of_subexp): ditto. * configure, configure.in: Add mip*-*-magic* target. * magic.c magic.h: Special routines to handle GM stuff (like stepping through dispatcher). end-sanitize-gm
1995-08-01* configure.in: Check for working mmap, ansi headers, string.h,J.T. Conklin1-39/+10
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-05-22 * breakpoint.c, target.h: Move defaults of watchpoint relatedJim Kingdon1-74/+69
macros back to breakpoint.c. Required to get GDB compiling on Solaris again.
1994-12-30 * Allow up to 10 whitespace separated arguments to user definedJeff Law1-5/+3
commands. * top.c (struct user_args): Structure for holding arguments to user defined commands. (print_command_line): Delete unused "tmp_chain" variable. Clean up flow control by having cases exit in the same manner. Before executing a command or evaluating an expression, substitute the current $arg0..$arg9 values if the command/expression uses them. (arg_cleanup): New function. (setup_user_args, locate_arg, insert_args): Likewise. (execute_user_command): Allow arguments to user defined commands. * Allow if/while commands to be used within a breakpoint command list. * breakpoint.c (bpstat_do_actions): Call execute_control_command rather than execute_command (passes entire command structure rather than just the command line text). (breakpoint_1): Use "print_command_line" to print a breakpoint command line (including control structures). * gdbcmd.h (execute_control_command): Provide extern decl. (print_command_line): Likewise. * top.c (execute_control_command): No longer static. (print_command_line): New function to recursively print a command line, including control structures.
1994-12-27 * breakpoint.c (watchpoint_check): Don't bother restoring theJeff Law1-60/+62
"selected" frame anymore, it's not necessary. Initialize the frame cache before trying to find the current frame in the frame chain.
1994-10-08 The point of these changes is to avoid reading the frame pointerJim Kingdon1-5/+5
and stack pointer during stepping, to speed things up. A. Changes to not select a frame until we need a selected frame: * blockframe.c (flush_cached_frames): Call select_frame (NULL, -1). * infrun.c (wait_for_inferior): Move call to select_frame back to normal_stop. This reverts a change of 13 Apr 94 (it says Jeff Law, but the change was my idea); the only reason for that change was so we could save and restore the selected frame in wait_for_inferior, and now that flush_cached frames clears the selected frame, that should work OK now. B. Changes to not create a current_frame until we need one: * blockframe.c (get_current_frame): If current_frame is NULL, try to create an innermost frame. * sparc-tdep.c (sparc_pop_frame), infcmd.c (run-stack_dummy), infrun.c (wait_for_inferior), thread.c (thread_switch), convex-tdep.c (set_thread_command), a29k-tdep.c (pop_frame), alpha-tdep.c (alpha_pop_frame), convex-xdep.c (core_file_command), h8300-tdep.c (h8300_pop_frame), h8500-tdep.c (h8300_pop_frame), hppa-tdep.c (hppa_pop_frame), i386-tdep.c (i386_pop_frame), i960-tdep.c (pop_frame), m68k-tdep.c (m68k_pop_frame), mips-tdep.c (mips_pop_frame), rs6000-tdep.c (push_dummy_frame, pop_dummy_frame, pop_frame), sh-tdep.c (pop_frame), config/arm/tm-arm.h (POP_FRAME), config/convex/tm-convex.h (POP_FRAME), config/gould/tm-pn.h (POP_FRAME), config/ns32k/tm-merlin.h (POP_FRAME), config/ns32k/tm-umax.h (POP_FRAME), config/tahoe/tm-tahoe.h (POP_FRAME), config/vax/tm-vax.h (POP_FRAME): Don't call create_new_frame. * corelow.c (core_open), altos-xdep.c (core_file_command), arm-xdep.c (core_file_command), gould-xdep.c (core_file_command), m3-nat.c (select_thread), sun386-nat.c (core_file_command), umax-xdep.c (core_file_command): Don't call create_new_frame; do call flush_cached_frames. * blockframe.c (reinit_frame_cache): Don't call create_new_frame or select_frame. C. Changes to get rid of stop_frame_address and instead only fetch the frame pointer when we need it. * breakpoint.c (bpstat_stop_status): Remove argument frame_address; use FRAME_FP (get_current_frame ()). * infrun.c (wait_for_inferior): Don't pass frame pointer to bpstat_stop_status. * infrun.c (wait_for_inferior): Use FRAME_FP (get_current_frame ()) instead of stop_frame_address. * infrun.c (save_inferior_status, restore_inferior_status), inferior.h (struct inferior_status): Don't save and restore stop_frame_address. * inferior.h, infcmd.c, thread.c (thread_switch), m3-nat.c (select_thread): Remove stop_frame_address and uses thereof. D. Same thing for the stack pointer. * infrun.c (wait_for_inferior): Remove stop_sp and replace uses thereof with read_sp (). E. Change to eliminate one nasty little spot where we were wanting to know the frame pointer from before the current step (idea from GDB 3.5, which saved my ass, because my other ideas of how to fix it were very baroque). * infrun.c: Remove prev_frame_address. * infrun.c (wait_for_inferior, step_over_function): Use step_frame_address instead of prev_frame_address. F. Same basic idea for the stack pointer. * inferior.h, infcmd.c: New variable step_sp. * infcmd.c (step_1, until_next_command): Set it. * infrun.c: Remove prev_sp and replace uses by step_sp. * infrun.c (wait_for_inferior): If we get out of the step range, then set step_sp to the current stack pointer before we start going again.
1994-08-02 * breakpoint.c (mention), main.c (fputs_unfiltered): Add comments.Jean Marie Diaz1-5/+5
* breakpoint.c (delete_breakpoint, enable_breakpoint, disable_breakpoint): Don't call breakpoints_changed; it is now called via the *_breakpoint_hook functions. * annotate.c (_initialize_annotate, breakpoint_changed): New functions.
1994-07-28 * Makefile.in (INSTALLED_LIBS, CLIBS, DEPFILES): Add support forStu Grossman1-0/+12
--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-23 * breakpoint.c (ignore, condition): Move usage note into body ofStan Shebs1-19/+23
help text, so first line can be one-line summary.
1994-07-14 Breakpoint hit counts, from Bob Rusk (rrusk@mail.csd.harris.com).Stan Shebs1-14/+49
* breakpoint.h (hit_count): New breakpoint field. * breakpoint.c (show_breakpoint_hit_counts): New variable. (clear_breakpoint_hit_counts): New function. (bpstat_stop_status): Increment the hit count. (breakpoint_1): Display the hit count. * infcmd.c (run_command): Reset breakpoint hit counts. * target.c (generic_mourn_inferior): Don't clear ignore counts if displaying hit counts.
1994-06-14Modified Files:Kung Hsu1-48/+38
breakpoint.c ChangeLog * breakpoint.c: annotate changes lost at merge, put back in.
1994-06-11Modified Files:Kung Hsu1-100/+530
breakpoint.c ChangeLog * breakpoint.c: fix a syntax error native cc does not like.
1994-05-18 * breakpoint.c (breakpoint_1): Fix typo.Jim Kingdon1-0/+2
* annotate.c (annotate_field_end): Fix typo. * Makefile.in: Move annotate.o from COMMON_OBS to OBS. * Makefile.in (TSSTART): Remove; no longer used.
1994-05-13 gcc -Wall lint:Jim Kingdon1-56/+24
* breakpoint.c (watchpoint_check): Remove unused variable b. * stack.c (print_frame_info): Move sp and buf inside #if. * eval.c (evaluate_subexp): Remove unused variables pp, mangle_ptr, ptr, and mangle_tstr. * valarith.c (value_x_binop): Remove unused variables mangle_tstr and mangle_ptr. * symtab.c (lookup_symtab): Put variable copy inside #if. (decode_line_1): Put variable q1 inside #if 0. * target.h: Declare target_link. * infrun.c (wait_for_inferior): Remove unused variables signame. * remote.c (remote_resume): Remove unused variable name. * c-exp.y (parse_number): Parenthesize operand of shift. * dbxread.c (record_minimal_symbol): Parenthesize operand of && (this is a semantic change, the warning seems to have detected a bug). * dbxread.c (end_psymtab): Move variable p1 inside #if. * coffread.c: Move variable temptype inside #if. * ch-typeprint.c (chill_type_print_base): Remove unused variable name. * ch-valprint.c: #include typeprint.h and ch-lang.h. (chill_val_print): Remove unused variable in_range. (chill_val_print): Remove statement "length > TYPE_LENGTH (type);". (chill_val_print): Add default case for switch. * stabsread.h: Declare stabsect_build_psymtabs. * os9kread.c (read_minimal_symbols): Make this return void. (os9k_symfile_read): Remove unused variables stb_exist and val. (os9k_symfile_init): Remove unused variable val. (fill_sym): Remove unused variable id. (read_os9k_psymtab): Put variable back_to inside #if 0. Remove unused variable nsl. Remove unused variable symfile_bfd. #if 0 unused variables lbrac_unmatched_complaint and lbrac_mismatch_complaint. Remove declaration for non-existent function os9k_next_symbol_text. * annotate.c, annotate.h: New files, containing a function for each annotation which outputs it. * Move breakpoints_changed from breakpoint.c to annotate.c. * breakpoint.c, blockframe.c, infrun.c, cp-valprint.c, main.c, printcmd.c, source.c, stack.c, utils.c, valprint.c: Use annotate.c functions to output annotations. * Makefile.in (OBS): Add annotate.o.
1994-05-04 * valprint.c (print_longest): Clarify comment about use_local.Jim Kingdon1-3/+3
* printcmd.c, defs.h (print_address_numeric), callers in symmisc.c, symfile.c, stack.c, source.c, remote.c, infcmd.c, cp-valprint.c, core.c, ch-valprint.c, c-valprint.c, breakpoint.c, exec.c: New argument use_local. * source.c (identify_source_line): Use filtered output. Use print_address_numeric.
1994-04-30 * breakpoint.c (breakpoint_1): Annotate each field of the headers.Jim Kingdon1-17/+91
Explicitly annotate each record.
1994-04-21 * breakpoint.c (watch_command): Use (CORE_ADDR)0, not NULL, forJim Kingdon1-1/+1
target null pointer. * blockframe.c (find_frame_addr_in_frame_chain): Likewise. * printcmd.c (output_command): Annotate things we print here too. * Move declaration of print_value_flags from defs.h to value.h. * main.c (command_line_input): Call wrap_here as well as gdb_flush.
1994-04-20 * main.c (main): Accept --annotate=N option and make --fullnameJim Kingdon1-9/+24
the same as --annotate=1. (command_line_input): Print annotatation before and after prompt. * blockframe.c (flush_cached_frames): Print annotation. * Rename frame_file_full_name to annotation_level and move it from symtab.h to defs.h. * source.c (identify_source_line): If annotation_level > 1, change output format. * breakpoint.c: Print annotation whenever a breakpoint changes. * main.c: New variable server_command. (command_line_input): Parse "server " and set server_command. (dont_repeat): Check server_command.
1994-04-15Fri Apr 15 11:53:46 1994 Stan Shebs (shebs@andros.cygnus.com)Stan Shebs1-1/+1
* source.c (DIRNAME_SEPARATOR): New macro, replaces all references to : in search path processing. * defs.h (qsort): Rename argument in prototype. * symtab.h (SAYMBOL_VALUE): Rename value field, avoids bugs in some compilers. * breakpoint.c, exec.c, mdebugread.c, mipsread.c, xcoffexec.c (false): Eliminate usages.
1994-04-13 * breakpoint.h (enum bptype): Add bp_hardware_watchpoint andJeff Law1-147/+333
bp_watchpoint_scope breakpoints. (struct breakpoint): Add val_chain and related_breakpoint fields for use by watchpoints. * breakpoint.c (within_scope): Delete. No longer used. (TARGET_CAN_USE_HARDWARE_WATCHPOINT): Provide default definition. (target_{remove,insert}_watchpoint): Likewise. (can_use_hardware_watchpoint): New function. (remove_breakpoint): New function to remove a single breakpoint or hardware watchpoint. (insert_breakpoints): Handle insertion of hardware watchpoints. Store a copy of the value chain derived from the watchpoint expression. (remove_breakpoints): Simplify by using remove_breakpoint. (delete_breakpoint): Likewise. (watchpoint_check): Delete the watchpoint and watchpoint scope breakpoints when the watchpoint goes out of scope. Save & restore the current frame after checking watchpoints. (breakpoint_init_inferior): Likewise (restarting the program makes all local watchpoints go out of scope). (bpstat_stop_status): Handle hardware watchpoints much like normal watchpoints. Delete the watchpoint and watchpoint scope breakpoint when the watchpoint goes out of scope. Remove and reinsert all breakpoints before returning if we stopped when a hardware watchpoint fired. (watch_command): Use a hardware watchpoint when possible. If watching a local expression, build a scope breakpoint too. (map_breakpoint_numbers): Also call given function for any related breakpoints. (disable_breakpoint): Never disable a scope breakpoint. (enable_breakpoint): Handle hardware breakpoints much like normal breakpoints, but recompute the watchpoint_scope breakpoint's frame and address (if we have an associated scope breakpoint). (read_memory_nobpt): Handle hardware watchpoints like normal watchpoints. When necessary handle watchpoint_scope breakpoints. (print_it_normal, bpstat_what, breakpoint_1, mention): Likewise. (clear_command, breakpoint_re_set_one, enable_command): Likewise. (disable_command): Likewise. * blockframe.c (find_frame_addr_in_frame_chain): New function. Extern prototype added to frame.h * infrun.c (wait_for_inferior): Set current_frame and select a frame before checking if we stopped due to a hardare watchpoint firing. Handle stepping over hardware watchpoints. (normal_stop): Remove unnecessary call to select_frame. * value.h (value_release_to_mark): Declare. * values.c (value_release_to_mark): New function. * procfs.c (procfs_wait): Add cases for hardware watchpoints. (procfs_set_watchpoint, procfs_stopped_by_watchpoint): New functions. * hppab-nat.c (hppa_set_watchpoint): New function. * config/pa/nm-hppab.h (STOPPED_BY_WATCHPOINT): Define. (HAVE_STEPPABLE_WATCHPOINT): Define. (TARGET_CAN_USE_HARDWARE_WATCHPOINT): Define. (target_{insert,delete}_watchpoint): Define.
1994-03-30 * breakpoint.c (print_it_normal): Allow GDB to notify the userJeff Law1-5/+4
about more than one watchpoint being triggered.
1994-03-11 * breakpoint.c (_initialize_breakpoint): Update docstring forJim Kingdon1-3/+3
tbreak to match what the code actually does.
1994-03-03 * breakpoint.c, breakpoint.h, c-valprint.c, ch-valprint.c,Jim Kingdon1-3/+3
cp-valprint.c, eval.c, expprint.c, findvar.c, language.c, objfiles.h, infcmd.c, printcmd.c, stack.c, typeprint.c, valarith.c, valops.c, valprint.c, value.h, values.c: Replace value with value_ptr. This is for the ptx compiler. * objfiles.h, target.h: Don't declare a "sec_ptr" field using a "sec_ptr" typedef. * symm-nat.c: Add a bunch of stuff for symmetry's ptrace stuff. #if 0 i386_float_info. * symm-tdep.c (round): Remove. Also remove sgttyb. * symm-tdep.c: Remove lots of stuff which duplicates stuff from i386-tdep.c. Remove register_addr and ptx_coff_regno_to_gdb. * i386-tdep.c (i386_frame_find_saved_regs): Put in I386_REGNO_TO_SYMMETRY check in case it is needed for Dynix someday. * config/i386/nm-symmetry.h: Change KERNEL_U_ADDR. Move stuff from PTRACE_READ_REGS, PTRACE_WRITE_REGS macros to symm-nat.c. Define CHILD_WAIT and declare child_wait(). * config/i386/tm-symmetry.h: Remove call function stuff; stuff in tm-i386v.h is apparently OK. * config/i386/xm-symmetry.h [_SEQUENT_]: Define HAVE_TERMIOS not HAVE_TERMIO. Define MEM_FNS_DECLARED, NEED_POSIX_SETPGID, and USE_O_NOCTTY.
1994-02-25 * breakpoint.h (enum bptype): New type bp_through_sigtramp.Jim Kingdon1-20/+27
(bpstat_what_main_action): New code BPSTAT_WHAT_THROUGH_SIGTRAMP. * breakpoint.c (bpstat_what): Return BPSTAT_WHAT_THROUGH_SIGTRAMP if we hit a bp_through_sigtramp breakpoint. Remove kludge which ignored bs->stop for a bp_step_resume breakpoint. * infrun.c (wait_for_inferior): Make a through_sigtramp_breakpoint which performs one (the check_sigtramp2 one) of the functions which had been handled by the step_resume_breakpoint. For each use of the step_resume_breakpoint, make it still use the step_resume_breakpoint, use the through_sigtramp_breakpoint, or operate on both. Deal with BPSTAT_WHAT_THROUGH_SIGTRAMP return from bpstat_what. When setting the frame address of the step resume breakpoint, set it to the address for frame *before* the call instruction is executed, not after.
1994-01-27 Fix many sins which will come up in 32 bit x 64 bit GDB, andJim Kingdon1-24/+17
various miscellaneous things discovered in the process: * printcmd.c, defs.h (print_address_numeric): New function. * c-valprint.c (c_val_print), ch-valprint.c (chill_val_print) breakpoint.c (describe_other_breakpoints, breakpoint_1, mention), cp-valprint.c (cplus_print_value), infcmd.c (jump_command), printcmd.c, stack.c, symfile.c, symmisc.c, valprint.c: Use it. * utils.c, defs.h (gdb_print_address): New function. * expprint (dump_expression), gdbtypes.h: Use it. * breakpoint.c (describe_other_breakpoints), symmisc.c (dump_symtab, print_symbol): Use filtered not unfiltered I/O. (remove_breakpoints): Remove BREAKPOINT_DEBUG code. Might as well just run gdb under a debugger for this (and it had problems with printing addresses, how to print b->shadow, etc.). * buildsym.c (make_blockvector), core.c (memory_error), exec.c (print_section_info), maint.c (print_section_table), mdebugread.c (parse_procedure), solib.c, source.c, symfile.c, symmisc.c, symtab.c, valops.c, valprint.c, xcoffexec.c: Add comments saying code is broken. Marked with "FIXME-32x64". * dbxread.c (process_one_symbol), partial-stab.h (default), remote-vx.c (vx_run_files_info): Don't cast int being passed to local_hex_string. * symmisc.c (print_symbol): Don't cast long being passed to %lx. * symtab.h (general_symbol_info): Add comment about SYMBOL_VALUE only being a long. * symmisc.c (print_symbol): Print "offset" in message for LOC_ARG and LOC_LOCAL. * printcmd.c (print_address): Remove #if 0 code with ADDR_BITS_REMOVE. * source.c: Include <sys/types.h> regardless of USG.
1994-01-19 * infrun.c (wait_for_inferior): Don't set frame forJim Kingdon1-20/+35
step_resume_breakpoint for IN_SIGTRAMP cases. * infrun.c (wait_for_inferior), breakpoint.h (struct bpstat_what), breakpoint.c (bpstat_what): Move step_resume from its own field of the struct bpstat_what into the main_action. Make it override other breakpoints. This is a conservative change in the sense that before the step resume breakpoint was a breakpoint.c breakpoint, hitting the step resume breakpoint overrode even calling bpstat_stop_status.
1993-12-30 * breakpoint.c (breakpoint_chain): Make static.Jim Kingdon1-3/+34
* breakpoint.c, breakpoint.h (frame_in_dummy): New function. * stack.c (print_frame_info): Use it.
1993-11-01Change the stream argument to _filtered to GDB_FILE *.Thomas Lord1-44/+98
Change all references to stdout/stderr to gdb_stdout/gdb_stderr. Replace all calls to stdio output functions with calls to corresponding _unfiltered functions (`fprintf_unfiltered') Replaced calls to fopen for output to gdb_fopen. Added sufficient goo to utils.c and defs.h to make the above work. The net effect is that stdio output functions are only directly used in utils.c. Elsewhere, the _unfiltered and _filtered functions and GDB_FILE type are used. In the near future, GDB_FILE will stop being equivalant to FILE. The semantics of some commands has changed in a very subtle way: called in the right context, they may cause new occurences of prompt_for_continue() behavior. The testsuite doesn't notice anything like this, though. Please respect this change by not reintroducing stdio output dependencies in the main body of gdb code. All output from commands should go to a GDB_FILE. Target-specific code can still use stdio directly to communicate with targets.
1993-10-07 * breakpoint.c, breakpoint.h (breakpoint_init_inferior): New functionJim Kingdon1-2/+22
that clears the `inserted' flag for all breakpoints and deletes any breakpoints which should go away between runs of programs. * inflow.c (generic_mourn_inferior), infrun.c (init_wait_for_inferior), remote-es.c (es1800_load), comments in exec.c and corelow.c: Use it instead of mark_breakpoints_out. * breakpoint.c (mark_breakpoints_out): Update comment, tm-rs6000.h uses it in a completely different context. * breakpoint.c (breakpoint_re_set_one): Add bp_call_dummy case.
1993-10-06* breakpoint.c (delete_breakpoint): Don't insert a disabled breakpoint.Jim Kingdon1-1/+3
1993-10-05 Changes to support alpha OSF/1 in native mode.Peter Schauer1-10/+13
* alpha-nat.c, alpha-tdep.c, config/alpha/alpha-osf1.mt, config/alpha/nm-alpha.h, config/alpha/tm-alpha.h, osfsolib.c: New files. * Makefile.in: Add new files and dependencies. * configure.in: Add alpha target. * config/alpha/alpha-osf1.mh (NATDEPFILES): Add osfsolib.o * config/alpha/alpha-osf1.mh (MH_CFLAGS): Remove, we can handle shared libraries now. * config/alpha/xm-alpha.h: Cleanup, get MAKEVA_* defines right. * defs.h (CORE_ADDR): Make its type overridable via CORE_ADDR_TYPE, provide `unsigned int' default. * breakpoint.c (breakpoint_auto_delete): Delete only if we really stopped for the breakpoint. * stabsread.c, stabsread.h (define_symbol): Change valu parameter to a CORE_ADDR. * stabsread.c (read_range_type): Handle the case where the lower bound overflows and the upper doesn't and the range is legal. * infrun.c (resume): Do not step a breakpoint instruction if CANNOT_STEP_BREAKPOINT is defined. * inferior.h (CALL_DUMMY_LOCATION): New variant AT_ENTRY_POINT. Now that we have the bp_call_dummy breakpoint the call dummy code is no longer needed. PUSH_DUMMY_FRAME, PUSH_ARGUMENTS and FIX_CALL_DUMMY can be used to set up everything for the dummy. The breakpoint for the dummy is set at the entry point and thats it. * blockframe.c (inside_entry_file, inside_entry_func): Do not stop backtraces if pc is in the call dummy at the entry point. * infcmd.c (run_stack_dummy): Handle AT_ENTRY_POINT case. Use the expected breakpoint pc when setting up the frame for set_momentary_breakpoint. * symfile.c (entry_point_address): New function for AT_ENTRY_POINT support. * valops.c (call_function_by_hand): Handle AT_ENTRY_POINT case.
1993-09-22 * breakpoint.h, breakpoint.c (bpstat_stop_status): Add new argumentJim Kingdon1-5/+12
not_a_breakpoint. * infrun.c (wait_for_inferior): Pass it. Also consolidate the test of whether we are stepping into a CURRENTLY_STEPPING macro.
1993-09-22 * breakpoint.c (bpstat_stop_status),K. Richard Pixley1-9/+1
infcmd.c (step_1), infrun.c (wait_for_inferior): collapse SHIFT_INST_REGS ifdef and insert macro. * m88k-tdep.c: include ieee-float.h. new global target_is_m88110. new const struct ext_format_m88110 for float format. (pic_prologue_code): add braces. (next_insn): remove unused variable buf. (frame_find_saved_regs): remove unused variables next_addr, saved_regs, regnum. (frame_locals_address): remove unused variables frame, ap. (frame_args_address): remove unused variables frame, ap. (push_parameters): add some breaks and a default case. * remote-bug.c: remove redundant includes of value.h, target.h, serial.h. (bug_open): corrected typo, sr_multi_scan -> gr_multi_scan. (bug_fetch_register): special case sfip register for m88110. remove flag bit masking of pc registers. This should be handled by the ADDR_BITS_* macros. (bug_store_register): special case sfip register for m88110. Corrected sprint format for extended registers.
1993-09-21* breakpoint.c (breakpoint_1): Support bp_call_dummy.Jim Kingdon1-1/+4
1993-09-18 * defs.h (make_cleanup): Change PTR to void * when inside PARAMS.Jim Kingdon1-11/+18
Some of the following is in #ifdef CALL_DUMMY_BREAKPOINT_OFFSET. * breakpoint.h (enum bptype): Add bp_call_dummy. (struct bpstat_what): Add call_dummy field. * infrun.c (wait_for_inferior): Deal with it. * breakpoint.c (bpstat_what): Deal with call dummy breakpoint. * infcmd.c (run_stack_dummy): Set the call dummy breakpoint. * config/sparc/tm-sparc.h: Define CALL_DUMMY_BREAKPOINT_OFFSET.
1993-09-08gcc lintK. Richard Pixley1-25/+37
1993-07-26 * breakpoint.{c,h} (struct breakpoint): Replace symtab field withJim Kingdon1-34/+77
source_file field.
1993-07-14Tue Jul 13 14:03:48 1993 Jim Kingdon (kingdon@lioth.cygnus.com)Jim Kingdon1-1/+5
* stabsread.c (define_symbol): Make the caddr_t hack apply to `function returning foo' as well as `pointer to foo'. * remote.c [REMOTE_BREAKPOINT]: Use for breakpoint insn if defined. * config/m68k/tm-m68k.h: Define it. * mem-break.c, breakpoint.c: Improve comments. Tue Jul 13 13:35:31 1993 Frederic Pierresteguy (F.Pierresteguy@frcl.bull.fr) * config/m68k/tm-dpx2.h: Replace "tm-68k.h" with "m68k/tm-m68k.h". * config/m68k/xm-dpx2.h: Define HAVE_TERMIOS not HAVE_TERMIO.
1993-07-12 * symtab.c (decode_line_1): Use end of block to figure out whetherJim Kingdon1-1/+1
val.end is in the same function, not minimal symbols. * source.c (line_info): Add a few more wrap_here's. * i386-tdep.c (i386_follow_jump): Do byteswapping where needed and don't make assumptions about sizes of host data types. * blockframe.c, symtab.h (find_pc_partial_function): New arg endaddr. * infrun.c, breakpoint.c, printcmd.c: Change callers. * printcmd.c (containing_function_bounds): Remove. * printcmd.c (disassemble_command): Use find_pc_partial_function, not containing_function_bounds. * infcmd.c (step_1): Use find_pc_partial_function rather than trying to roll our own. Move check for a pc between SIGTRAMP_START and SIGTRAMP_END in find_pc_partial_function, not step_1.