From: Daniel Berlin <dan@dberlin.org>
To: Andrew Cagney <ac131313@cygnus.com>
Cc: gdb@sources.redhat.com
Subject: Re: think-o: dwarf2 CFA != frame->frame (x86-64)
Date: Tue, 09 Apr 2002 11:00:00 -0000 [thread overview]
Message-ID: <Pine.LNX.4.44.0204091358180.11863-100000@dberlin.org> (raw)
In-Reply-To: <3CB32BB1.2010007@cygnus.com>
On Tue, 9 Apr 2002, Andrew Cagney wrote:
> > On Tue, 9 Apr 2002, Andrew Cagney wrote:
> >
> >
> >> >
> >> > It might just be misnamed.
> >
> >>
> >> No. DW_OP_fbreg refers explicitly to DW_AT_frame_base. CFA is a
> >> concept local to the CFI. They would typically evaluate to the same
> >> value though.
> >
> > DW_AT_frame_base is part of the .debug_info section.
> > This is symbolic debug info, none of which is required to be present in an
> > executable
> > On the other hand, the CFA info is required to be present on x86-64,
> > specifically for the purposes of unwinding the stack.
>
>
> > So you can't say that it should use DW_AT_frame_base. It can't.
> > DW_AT_frame_base is a completely different concept. It is not intended to
> > have anything to do with unwinding the stack. It also has nothing
> > necessarily to do with a real frame base. See 3.3.5. This is why it's in
> > quotes. Most compiler use it in way 1 described in that section, to
> > simplify location descriptions.
>
> (Didn't I point you at 3.3.5? :-).
>
> Location expressions use DW_OP_fbreg when they need to refer to the
> stack. DW_OP_fpreg is defined in terms of DW_AT_frame_base. Can you
> please point me to the section where a location expression OP directly
> (not indirectly as in a register) refers to the CFA?
No, why would I need to?
For all intents and purposes, you could severe the CFA sections of the
dwarf2 spec, and place them into something called "the CFA spec".
It doesn't change the fact that frame->base with CFA info can't use
DW_AT_frame_base.
You claimed it should.
It can't.
> > For all intents and purposes, the CFA is the frame base when using dwarf2
> > cfi info.
>
> If you read my original e-mail, you'll notice that I observed that the
> two most likely end up having the same value.
>
> Andrew
>
>
next prev parent reply other threads:[~2002-04-09 18:00 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2002-04-08 22:45 Andrew Cagney
2002-04-08 23:43 ` Daniel Berlin
2002-04-09 9:12 ` Andrew Cagney
2002-04-09 10:03 ` Daniel Berlin
2002-04-09 10:32 ` Andrew Cagney
2002-04-09 10:58 ` Daniel Berlin
2002-04-09 12:17 ` Andrew Cagney
2002-04-09 12:42 ` Daniel Berlin
2002-04-09 10:58 ` Andrew Cagney
2002-04-09 11:00 ` Daniel Berlin [this message]
2002-04-09 11:52 ` Andrew Cagney
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=Pine.LNX.4.44.0204091358180.11863-100000@dberlin.org \
--to=dan@dberlin.org \
--cc=ac131313@cygnus.com \
--cc=gdb@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