This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
Re: [RFA] Stop infrun from tracking breakpoint insertion status.
- From: "Ulrich Weigand" <uweigand at de dot ibm dot com>
- To: vladimir at codesourcery dot com (Vladimir Prus)
- Cc: gdb-patches at sources dot redhat dot com
- Date: Wed, 28 Nov 2007 23:24:37 +0100 (CET)
- Subject: Re: [RFA] Stop infrun from tracking breakpoint insertion status.
Vladimir Prus wrote:
> The second problem was that breakpoint_inserted_here_p checks for
> both ordinary breakpoints and single step breakpoints (which don't
> go on bp_location_chain). In most cases, it does not matter, but
> in one place the code tries to figure if we're stopped on a single
> step breakpoint or an ordinary one, and surely, breakpoint_inserted_here_p
> returning 1 for both cases was not good.
>
> The attached revision of the patch introduces a separate
> regular_breakpoint_inserted_here_p function. No regressions on
> either x86 or arm-linux. OK?
I've tested this on powerpc-ibm-aix5.3.0.0 as well, no regressions.
> * breakpoint.h (regular_breakpoint_inserted_here_p): New
> declaration.
> * breakpoint.c (regular_breakpoint_inserted_here_p): New.
> (breakpoint_inserted_here_p): Use
> regular_breakpoint_inserted_here_p.
> * infrun.c (breakpoints_inserted): Remove.
> (resume): Don't check for breakpoints_inserted before
> remove_hw_watchpoints. Use breakpoint_inserted_here_p.
> (proceed, init_wait_for_inferior): Don't set breakpoints_inserted.
> (handle_inferior_event): Don't use breakpoints_inserted.
> Use breakpoints_meant_to_be_inserted and
> breakpoints_inserted_here_p.
> (insert_step_resume_breakpoint_at_sal, keep_going): Use
> breakpoints_meant_to_be_inserted. Don't set breakpoints_inserted.
> (normal_stop): Don't check for breakpoints_inserted. Don't
> set breakpoints_inserted.
> (keep_going): Don't check for breakpoints_inserted.
> (insert_step_resume_breakpoint_at_sal): Don't insert
> breakpoints
This is OK.
> /* Remove breakpoints, SOLIB_ADD might adjust
> breakpoint addresses via breakpoint_re_set. */
> - breakpoints_were_inserted = breakpoints_inserted;
"breakpoints_were_inserted" is now unused, could you please remove
the variable definition as well?
Bye,
Ulrich
--
Dr. Ulrich Weigand
GNU Toolchain for Linux on System z and Cell BE
Ulrich.Weigand@de.ibm.com