From: "Theodore A. Roth" <troth@verinet.com>
To: Daniel Jacobowitz <drow@mvista.com>
Cc: gdb@sources.redhat.com
Subject: Re: gdb support for Atmel AVR
Date: Fri, 08 Feb 2002 14:19:00 -0000 [thread overview]
Message-ID: <Pine.LNX.4.44.0202081432540.30447-100000@bozoland.mynet> (raw)
In-Reply-To: <20020208142022.A27446@nevyn.them.org>
On Fri, 8 Feb 2002, Daniel Jacobowitz wrote:
:)I really do not think that TARGET_REMOTE_ADDR_BIT should be
:)necessary... in what way was TARGET_ADDR_BIT/TARGET_POINTER_BIT
:)inadequate? Do you have different sized code and data pointers?
Code and data pointers are both 16-bit. The problem is we use some of the
bits 31-16 to flag whether gdb is asking for code (flash) or data (sram)
space. Using "remote_address_size = TARGET_ADDR_BIT;" in remote.c causes
gdb to mask off the upper 16 bits thus removing the flag. Without the
flag, the target will always think it is accessing code space.
Basically, I've tricked gdb into storing ptrs and addresses into 32 bit
numbers while it still thinks that they are both 16 bits. I need all 32
bits sent to the target, but when gdb issues an 'm' packet for say a
struct, it must request the right number of bytes from the remote target.
I got burned by this when I set remoteaddresssize to 32. Gdb would ask for
4 bytes at some address and then dereference the return value thinking the
value was a ptr. Needless to say, the 32 ptr pointed to the wrong data.
:)
:)Oh, reading further down the patch I see that AVR is a Harvard
:)architecture. There is support for this in GDB, with
:)CODE_SPACE/DATA_SPACE that were recently introduced (for the d10v, I
:)think). You may have some problems if they are of different size, I
:)suppose.
I modeled some of my work on the d10v-tdep.c file in gdb-5.1. Looking at
the d10v from cvs, I see the use of TYPE_CODE_SPACE in the
d10v_pointer_to_address function. This may help with some other things in
my code, but I don't think it stops the problem described above.
:)Also, I think (.avrgdbinit aside...) that you should not have a
:)tm-avr.h at all. You can set multi-arch from configure.tgt.
Easy enough to change. Done.
Is there any other way to set GDBINIT_FILENAME? Shouldn't that be part of
multi-arch? If it could be set via multi-arch, I wouldn't need tm-avr.h.
Since avr-gdb is always going to be a cross tool, I think I should be
using .avrgdbinit to allow native gdb to use .gdbinit, right?
I'd also like a critic on my changes to
eval.c/printcmd.c/value.h/values.c which where necessary to get the
disassemble command to function properly.
Ted Roth
next prev parent reply other threads:[~2002-02-08 22:19 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2002-02-07 11:53 Theodore A. Roth
2002-02-08 8:33 ` Andrew Cagney
2002-02-08 9:53 ` Theodore A. Roth
2002-02-08 11:20 ` Daniel Jacobowitz
2002-02-08 14:19 ` Theodore A. Roth [this message]
2002-02-08 14:29 ` Daniel Jacobowitz
2002-02-08 14:56 ` Andrew Cagney
2002-02-08 15:10 ` Theodore A. Roth
2002-02-10 10:27 ` Theodore A. Roth
2002-02-10 10:38 ` Andrew Cagney
2002-02-08 12:49 ` Andrew Cagney
2002-02-11 14:18 ` Theodore A. Roth
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.0202081432540.30447-100000@bozoland.mynet \
--to=troth@verinet.com \
--cc=drow@mvista.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