From: Jim Blandy <jimb@redhat.com>
To: Daniel Jacobowitz <drow@mvista.com>
Cc: Daniel Berlin <dberlin@dberlin.org>,
Andrew Cagney <ac131313@redhat.com>,
gdb@sources.redhat.com, Kevin Buettner <kevinb@redhat.com>
Subject: Re: DWARF-2 and address sizes
Date: Tue, 04 Feb 2003 02:26:00 -0000 [thread overview]
Message-ID: <vt2r8ao23kk.fsf@zenia.red-bean.com> (raw)
In-Reply-To: <20030201170152.GA29662@nevyn.them.org>
Daniel Jacobowitz <drow@mvista.com> writes:
> On Sat, Feb 01, 2003 at 01:20:17AM -0500, Daniel Berlin wrote:
> >
> > On Friday, January 31, 2003, at 05:36 PM, Daniel Jacobowitz wrote:
> >
> > >On Fri, Jan 31, 2003 at 04:59:56PM -0500, Andrew Cagney wrote:
> > >>>[Kevin, I noticed you doing some work in this area re S/390, maybe
> > >>>you've
> > >>>got a comment? Anyone else? I'm grasping at straws.]
> > >>>
> > >>>I'm trying to figure out how to handle addresses in the DWARF
> > >>>expression
> > >>>evaluator. First consider DW_OP_deref: the following data is "the
> > >>>size of
> > >>>an address on the target machine", which I would personally take to
> > >>>mean
> > >>>cu_header->addr_size. Is this ever different from
> > >>>TARGET_ADDRESS_BIT /
> > >>>TARGET_CHAR_BIT, which is what Daniel was originally using?
> > >>
> > >>I can imagine architectures wack-o enough for cu_header->addr_size !=
> > >>TARGET_ADDRESS_BIT / TARGET_CHAR_BIT. Someone doing a 16 bit port
> > >>using
> > >>32 bit elf.
> > ...
> >
> > >I'm willing to document this as an assertion, store the dwarf2 address
> > >size and signedness somewhere global, and bail if I detect a violation.
> > >But I'll skip that for now; it can be a later cleanup. I've already
> > >got too many pieces in this patch.
> > >
> >
> > IIRC, I did it some *other* way, and Jim told me to do it with the way
> > there now.
> > Or is that the other way around (He told me to do it some other way,
> > rather than what's there now, and i never got to it).
> > I believe I used to use one of the length of one of builtin types, and
> > he told me to use TARGET_ADDRESS_BIT / TARGET_CHAR_BIT.
> > The archives should say.
>
> Hmm, I didn't see it in the archives, so maybe I need to look further
> back. I'll check again.
>
> Jim, I don't suppose you remember?
I'm pretty sure that I saw the code simply using the whole CORE_ADDR
to do the dereferencing, and that I said it should be changed to use
the target's address size, since, in a gdbarch world, CORE_ADDR could
be larger than a target address. I don't think I specified whether
one should use cu->addr_size or TARGET_ADDRESS_BIT / TARGET_CHAR_BIT;
I doubt it occurred to me that they might be different.
Given the way cu_header->addr_size is used in the definition of
DW_FORM_addr (section 7.5.4, "Attribute Encodings"), I would expect it
to match the size of a linker symbol value --- since the point is to
provide something that can be relocated. But every ABI provides
relocs for smaller values, too, so it could be different.
I guess I don't really understand why this is a big deal. The baton
for the expression should record the addr_size and signed_addr_p from
the compilation unit it came from. Just use that many bits of
CORE_ADDR, sign-extended as directed. If this isn't right, we'll find
out eventually. We don't have any authority here to work from, so
that's the best we can do.
Or am I being too sloppy?
next prev parent reply other threads:[~2003-02-04 2:26 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2003-01-31 21:29 Daniel Jacobowitz
2003-01-31 22:00 ` Andrew Cagney
2003-01-31 22:36 ` Daniel Jacobowitz
2003-02-01 6:20 ` Daniel Berlin
2003-02-01 17:01 ` Daniel Jacobowitz
2003-02-04 2:26 ` Jim Blandy [this message]
2003-02-01 7:29 ` 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=vt2r8ao23kk.fsf@zenia.red-bean.com \
--to=jimb@redhat.com \
--cc=ac131313@redhat.com \
--cc=dberlin@dberlin.org \
--cc=drow@mvista.com \
--cc=gdb@sources.redhat.com \
--cc=kevinb@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