Re: [RFA] OSF/1 - "next" over prologueless function call

Joel Brobecker
2003-12-04T00:55:22Z

> See my recent comments further down in that file. I think GDB should be
> using:
>
> frame_id_unwind(current_frame) == frame_id_from_before_stepi
>
> to determine if it did a step into a function. What happens if that is
> used?

Sounds like a good idea, almost obvious actually :-). I tried the
following change on osf1 and x86-linux without any regression, and it
does solve the problem on osf1.

However, I tried it on sparc-solaris with the gdb-6.0 sources because
I knew this target hasn't transitioned to the new frame framework.
It doesn't look like GDB is liking this change there (I've got a lot of
timeouts in call-ar-st). I am currently retrying on the head right now,
hoping the testsuite completes in a reasonable amount of time.

--- infrun.c 25 Nov 2003 16:01:36 -0000 1.122
+++ infrun.c 3 Dec 2003 19:24:07 -0000
@@ -2473,6 +2473,8 @@ process_event_stop_test:
}

if (((stop_pc == ecs->stop_func_start /* Quick test */
+ || frame_id_eq (get_frame_id (get_prev_frame (get_current_frame ())),
+ step_frame_id)
|| in_prologue (stop_pc, ecs->stop_func_start))
&& !IN_SOLIB_RETURN_TRAMPOLINE (stop_pc, ecs->stop_func_name))
|| IN_SOLIB_CALL_TRAMPOLINE (stop_pc, ecs->stop_func_name)

Stay tuned.

--
Joel