This is the mail archive of the gdb-patches@sourceware.cygnus.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]

Re: [RFA] Fix stepping over signal trampoline.


Mark Kettenis wrote:
> 
> The following patch makes doing a "next" from the last line in a
> signal handler work on Linux/i386.  What happens is that when we step
> out of a signal handler we will end up at the first line of the signal
> trampoline (which is only used in the return path).  GDB (mis)detects
> this as a subroutine call.  This isn't that bad since stepping over
> the signal handler isn't such a bad idea.  However to make this work
> we have to ignore step_frame_address.  If we don't do that, we'll
> typically run until the end of the program is reached.  Or if there is
> a breakpoint at the point where we return from the signal trampoline,
> the program might event segfault.
> 
> Mark
> 
> 2000-05-01  Mark Kettenis  <kettenis@gnu.org>
> 
>         * infrun.c (handle_inferior_event): When doing a "next", and
>         stepping out of a signal handler into its calling trampoline
>         ignore the value of step_frame_address.
>         (step_over_function): Only modify step_resume_breakpoint->frame if
>         the value of step_frame_address is non-zero.

I think this one is ok.

	Andrew

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