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] OSF/1 - "next" over prologueless function call


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.

(only took 15 years to realise how "obvious" it was :-)


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.

You can use legacy_frame_p for differentiating old and new code.


Hmm, is "stop_pc == ecs->stop_func_start" a valid test, what happens if the program is at 1: and there's a next?

	foo:
		...
	1:	goto foo

Hmm, is in_prologue() adding value when frame_id always works? Unless it's being used to handle stepping through a prologue?

Andrew



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