This is the mail archive of the gdb-patches@sources.redhat.com 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: [RFA] breakpoint.c, scanning epilogue if frame chain is invalid


> Date: Wed, 3 Sep 2003 11:38:15 +0200
> From: Corinna Vinschen <vinschen@redhat.com>
> 
> -      if (within_current_scope && fr == get_current_frame ()
> +      if ((!within_current_scope || fr == get_current_frame ())
>            && gdbarch_in_function_epilogue_p (current_gdbarch, read_pc ()))
>  	return WP_VALUE_NOT_CHANGED;
>        if (within_current_scope)
> [...]
> The above patch is basically this:  If we couldn't find the watchpoint
> frame, at least try to find out if PC is just in an epilogue.  If so,
> it's probably the cause of failing to find the watchpoint frame so just
> leave the watchpoint alone until we're on firmer ground again.

I'm not sure I understand why did you change

    within_current_scope && fr == get_current_frame ()

into

    (!within_current_scope || fr == get_current_frame ())

It doesn't seem to follow from the verbal description of the decision
you'd like the code to make.  Perhaps I'm missing something, so could
you please elaborate how the verbal description translates into the
code?


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