Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
From: Andrew Cagney <cagney@gnu.org>
To: Joel Brobecker <brobecker@gnat.com>
Cc: gdb-patches@sources.redhat.com
Subject: Re: [RFA] OSF/1 - "next" over prologueless function call
Date: Thu, 04 Dec 2003 01:49:00 -0000	[thread overview]
Message-ID: <3FCE92A1.6010007@gnu.org> (raw)
In-Reply-To: <20031204005521.GD716@gnat.com>

>> 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



  reply	other threads:[~2003-12-04  1:49 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-12-02  4:26 Joel Brobecker
2003-12-02  4:30 ` Daniel Jacobowitz
2003-12-02  6:06   ` Joel Brobecker
2003-12-02  6:35 ` Richard Henderson
2003-12-02  7:21   ` Joel Brobecker
2003-12-02 15:14     ` Daniel Jacobowitz
2003-12-03  1:54       ` Joel Brobecker
2003-12-02 13:55   ` Daniel Jacobowitz
2003-12-03  4:19 ` Andrew Cagney
2003-12-04  0:55   ` Joel Brobecker
2003-12-04  1:49     ` Andrew Cagney [this message]
2003-12-04 23:24       ` Joel Brobecker
2003-12-04 23:28         ` Daniel Jacobowitz
2003-12-05 20:19         ` Andrew Cagney
2003-12-08 23:25           ` Joel Brobecker
2003-12-09 23:10             ` Andrew Cagney
2003-12-02  5:49 Michael Elizabeth Chastain
2003-12-02  7:53 Michael Elizabeth Chastain

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=3FCE92A1.6010007@gnu.org \
    --to=cagney@gnu.org \
    --cc=brobecker@gnat.com \
    --cc=gdb-patches@sources.redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox