This is the mail archive of the
gdb@sources.redhat.com
mailing list for the GDB project.
Re: DWARF-2 and address sizes
- From: Daniel Berlin <dberlin at dberlin dot org>
- To: Daniel Jacobowitz <drow at mvista dot com>
- Cc: Andrew Cagney <ac131313 at redhat dot com>,gdb at sources dot redhat dot com,Jim Blandy <jimb at redhat dot com>,Kevin Buettner <kevinb at redhat dot com>
- Date: Sat, 1 Feb 2003 01:20:17 -0500
- Subject: Re: DWARF-2 and address sizes
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.