This is the mail archive of the gdb-patches@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Add a third mode to "breakpoints always-inserted", and make it the default


On Tue, Aug 12, 2008 at 09:07:19PM +0100, Pedro Alves wrote:
> > How about calling this state "auto"?
> 
> I like it.

Me, too.
> 
> > > In the latter mode, GDB will behave as "on", if
> > > we're in non-stop mode, and as "off" if we're in all-stop mode.
> >
> > I think _behave_ as "on" is not a good idea.  I suggest that it
> > actually _set_ the option "on".  That way, code elsewhere will need
> > only to look at a single option, and won't need to know that if the
> > value is follow-non-stop, it needs to check another flag.
> 
> All the common code already goes through this predicate:
> 
>  +int
>  +breakpoints_always_inserted_mode (void)
>  +{
>  +  return (always_inserted_mode == always_inserted_on
>  +         || (always_inserted_mode == always_inserted_follow_non_stop
>  +             && non_stop));
>  +}
>  -int breakpoints_always_inserted_mode (void)
>  -{
>  -  return always_inserted_mode;
>  -}
>  -
> 
> Note that I didn't have to touch any of infrun.c, or breakpoint
> management functions in breakpoint.c, where the predicate is checked.
> 
> If I kept it as an boolean, I'd have to instead change the "set non-stop"
> command implementation, which means I'd have to export a setter for the
> internal breakpoint.c variable.  Either way, one setting has to know
> about the other.  This way seemed more centralised.
> 
> In any case, I can't seem to come up with a sentence that
> describes the auto behaviour without using "behaves as".  If you can
> suggest any, I'd appreciate it.
> 
> > > +This is the default mode.  If gdb is controlling the inferior in
> > > +non-stop mode (@pxref{Non-Stop Mode}), gdb behaves as if
> > > +always-inserted mode is on.  If gdb is controlling the inferior in
> > > +all-stop mode, gdb behaves as if always-inserted mode is off.
> >
> > We don't use a literal "gdb" in the manual, we use "@value{GDBN}".
> 
> Ooops.  Fixed.
> 
> >
> > Also, it would be helpful to have an index entry here, something like
> >
> >   @cindex non-stop mode, and @code{breakpoint always-inserted}
> 
> Done, and done, I think.

No, you added:

> +@cindex non-stop mode

I'm sure that one doesn't go here :-)

> +  if (always_inserted_mode == always_inserted_auto)
> +    fprintf_filtered (file,
> +		      _("Always inserted breakpoint mode is %s (currently %s).\n"),
> +		      value, non_stop ? "on" : "off");

I suggest calling breakpoints_always_inserted_mode here instead of
checking non_stop.

Otherwise, the code looks fine - though I'd like to reach an agreement
with Vladimir about set non-stop first.

-- 
Daniel Jacobowitz
CodeSourcery


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]