From: Michael Snyder <msnyder@cygnus.com>
To: Andrew Cagney <ac131313@cygnus.com>
Cc: Jim Blandy <jimb@cygnus.com>, gdb-patches@sources.redhat.com
Subject: Re: [RFC/RFA] gdb extension for Harvard architectures
Date: Tue, 02 Oct 2001 17:31:00 -0000 [thread overview]
Message-ID: <3BBA5C26.3058B1F@cygnus.com> (raw)
In-Reply-To: <3BBA58BC.5060108@cygnus.com>
Andrew Cagney wrote:
>
> >> Any way, consider the intent of someone entering a sequence like:
> >>
> >> (gdb) x/w foo
> >> 0x0
> >> (gdb) x/i foo
> >> nop
> >> (gdb) print/x *(int*)foo
> >> 0xdeadbeef
> >>
> >> vs
> >> (gdb) print/x *(int*)foo
> >> 0x0
> >>
> >> and where should this go:
> >>
> >> (gdb) set *(int*)foo = 0xdeadbeef
> >>
> >> This mysterious address switching strikes me as wierd.
> >
> >
> > It *is* weird, but I think it's an intrinsic weirdness of Harvard
> > architectures that it would be a disservice to conceal.
> >
> > Seriously, you can't protect the user from the oddities of the chip
> > they're working on. And I think we shouldn't: GDB's job is to help
> > people observe the behavior of the program, and tools for observation
> > must be careful not to edit reality too much. It's perfectly okay to
> > tell someone, "You don't understand your architecture; do it this
> > way." (Rather, the manual should say this, and we should point them
> > at it.)
>
> We're also expected to make GDB user friendly.
>
> In the above, if the user wanted to convert the function pointer into a
> data pointer then they would enter:
>
> (@data int *)foo
>
> and who knows what the result would be.
The result would be a data address corresponding to the
code address 'foo'. For example, if code addresses have their
32nd bit set and data addresses do not, then the address of foo
might be 0x80001234, and (@data int *) foo would be 0x1234.
BTW, (int *) foo would also be 0x1234, because an int pointer
is by default located in data space.
next prev parent reply other threads:[~2001-10-02 17:31 UTC|newest]
Thread overview: 60+ messages / expand[flat|nested] mbox.gz Atom feed top
2001-09-28 13:07 Michael Snyder
2001-09-28 13:50 ` Andrew Cagney
2001-10-03 10:41 ` Michael Snyder
2001-10-03 11:06 ` Daniel Jacobowitz
2001-10-03 11:12 ` Michael Snyder
2001-10-03 11:19 ` Andrew Cagney
2001-10-03 11:49 ` Michael Snyder
2001-10-03 14:38 ` Andrew Cagney
2001-10-03 14:14 ` Jim Blandy
2001-10-03 14:31 ` Andrew Cagney
2001-10-03 16:14 ` Jim Blandy
2001-10-04 11:44 ` Michael Snyder
2001-10-04 16:28 ` Jim Blandy
2001-09-28 17:15 ` Andrew Cagney
2001-09-28 17:44 ` Andrew Cagney
2001-10-02 12:59 ` Jim Blandy
2001-10-02 14:13 ` Andrew Cagney
2001-10-02 15:09 ` Michael Snyder
2001-10-02 16:58 ` Andrew Cagney
2001-10-03 10:10 ` Jim Blandy
2001-10-03 12:22 ` Andrew Cagney
2001-10-03 15:08 ` Jim Blandy
2001-10-10 0:56 ` Andrew Cagney
2001-10-09 23:34 ` Andrew Cagney
2001-10-10 10:53 ` Jim Blandy
2001-10-10 11:17 ` Andrew Cagney
2001-10-10 12:15 ` Jim Blandy
2001-10-10 12:31 ` Andrew Cagney
2001-10-10 0:16 ` Andrew Cagney
2001-10-03 11:11 ` Michael Snyder
2001-10-04 12:08 ` Michael Snyder
2001-10-04 13:13 ` Andrew Cagney
2001-10-08 10:36 ` Michael Snyder
2001-10-10 1:25 ` Andrew Cagney
2001-11-05 11:34 ` Michael Snyder
2001-10-02 16:14 ` Jim Blandy
2001-10-02 17:16 ` Andrew Cagney
2001-10-02 17:31 ` Michael Snyder [this message]
2001-10-02 19:09 ` Andrew Cagney
2001-10-03 12:41 ` Jim Blandy
2001-10-03 12:52 ` Andrew Cagney
2001-10-03 16:13 ` Jim Blandy
2001-10-03 16:51 ` Frank Ch. Eigler
2001-10-03 10:55 ` Michael Snyder
2001-10-03 11:06 ` Andrew Cagney
2001-10-03 11:51 ` Michael Snyder
2001-10-03 12:17 ` Andrew Cagney
2001-10-03 16:54 ` Michael Snyder
2001-10-03 14:33 ` Jim Blandy
2001-10-03 14:44 ` Andrew Cagney
2001-10-03 16:17 ` Jim Blandy
2001-10-04 13:16 ` Andrew Cagney
2001-10-10 0:45 ` Andrew Cagney
2001-10-10 10:56 ` Jim Blandy
2001-10-03 14:48 ` Andrew Cagney
2001-10-04 11:49 ` Michael Snyder
2001-10-03 10:49 ` Michael Snyder
2001-09-29 2:29 ` Eli Zaretskii
2001-10-02 19:27 ` Andrew Cagney
2001-10-03 14:04 ` Jim Blandy
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=3BBA5C26.3058B1F@cygnus.com \
--to=msnyder@cygnus.com \
--cc=ac131313@cygnus.com \
--cc=gdb-patches@sources.redhat.com \
--cc=jimb@cygnus.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