From: Michael Snyder <msnyder@redhat.com>
To: Daniel Jacobowitz <drow@false.org>
Cc: Mark Kettenis <mark.kettenis@xs4all.nl>,
jimb@red-bean.com, gdb-patches@sourceware.org
Subject: Re: [RFA/RFC] dwarf2-frame read_reg
Date: Thu, 20 Apr 2006 19:06:00 -0000 [thread overview]
Message-ID: <4447DBAB.4030202@redhat.com> (raw)
In-Reply-To: <20060420172112.GK11710@nevyn.them.org>
Daniel Jacobowitz wrote:
> On Wed, Apr 12, 2006 at 08:17:07PM +0200, Mark Kettenis wrote:
>
>>>Date: Tue, 11 Apr 2006 21:42:01 -0700
>>>From: "Jim Blandy" <jimb@red-bean.com>
>>>
>>>On 4/11/06, Michael Snyder <msnyder@redhat.com> wrote:
>>>
>>>>I want you guys to vett this change. I was getting wrong results
>>>>on a target where sizeof (SP) != sizeof (void *). The local func
>>>>read_reg was calling extract_unsigned_integer with the wrong size.
>>>
>>>Well, extract_typed_address requires the type of the register to be
>>>some sort of pointer. read_reg is given as a callback to the Dwarf
>>>expression evaluator in dwarf2expr.c, so it could be handed any
>>>register at all.
>>>
>>>How about unpack_long (buf, register_type (gdbarch, regnum))?
>>>Definitely regression-test this on several platforms...
>>
>>This is likely to be wrong for platforms where addresses are signed.
>
>
> It shouldn't be.
>
> unpack_long (struct type *type, const gdb_byte *valaddr)
> {
> ...
> case TYPE_CODE_PTR:
> case TYPE_CODE_REF:
> /* Assume a CORE_ADDR can fit in a LONGEST (for now). Not sure
> whether we want this to be true eventually. */
> return extract_typed_address (valaddr, type);
>
> which calls POINTER_TO_ADDRESS. And that will be the signed unpack for
> MIPS, and the unsigned unpack for other targets.
>
> So I think unpack_long is a good choice.
>
> (I didn't realize that before. I think I have another pending patch
> that this would be useful for - maybe the psaddr_t one?)
May I release the patch into your care? I don't really think
I understand the problem domain well enough (wouldn't be able
to test it well), and I've made my own need for it go away by
other means.
next prev parent reply other threads:[~2006-04-20 19:06 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-04-12 3:34 Michael Snyder
2006-04-12 4:42 ` Jim Blandy
2006-04-12 18:18 ` Mark Kettenis
2006-04-12 19:15 ` Michael Snyder
2006-04-20 17:21 ` Daniel Jacobowitz
2006-04-20 19:06 ` Michael Snyder [this message]
2006-04-20 19:10 ` Mark Kettenis
2006-04-12 19:20 ` Michael Snyder
2006-05-05 19:44 ` Daniel Jacobowitz
2006-05-17 15:01 ` Daniel Jacobowitz
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=4447DBAB.4030202@redhat.com \
--to=msnyder@redhat.com \
--cc=drow@false.org \
--cc=gdb-patches@sourceware.org \
--cc=jimb@red-bean.com \
--cc=mark.kettenis@xs4all.nl \
/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