From: "Ulrich Weigand" <uweigand@de.ibm.com>
To: qiyaoltc@gmail.com (Yao Qi)
Cc: gdb-patches@sourceware.org
Subject: Re: [PATCH 1/3] Clear non-significant bits of address on memory access
Date: Tue, 19 Dec 2017 13:50:00 -0000 [thread overview]
Message-ID: <20171219135048.A25D9D85C63@oc3748833570.ibm.com> (raw)
In-Reply-To: <1512727471-30745-2-git-send-email-yao.qi@linaro.org> from "Yao Qi" at Dec 08, 2017 10:04:29 AM
Yao Qi wrote:
> diff --git a/gdb/target.c b/gdb/target.c
> index 3b8b8ea..767a2ad 100644
> --- a/gdb/target.c
> +++ b/gdb/target.c
> @@ -1214,6 +1214,8 @@ memory_xfer_partial (struct target_ops *ops, enum target_object object,
> if (len == 0)
> return TARGET_XFER_EOF;
>
> + memaddr = address_significant (target_gdbarch (), memaddr);
> +
> /* Fill in READBUF with breakpoint shadows, or WRITEBUF with
> breakpoint insns, thus hiding out from higher layers whether
> there are software breakpoints inserted in the code stream. */
It turns out this breaks SPU multi-architecture debugging. The problem is
that SPU memory addresses have 64 significant bits since we encode the
SPU ID in the upper 32 bits. This means that spu-tdep.c needs to call
set_gdbarch_significant_addr_bits -- which is fine.
However, this doesn't fix the problem, since "target_gdbarch ()" at this
point may well return a (32-bit) ppc architecture, and then the address
is still truncated incorrectly. In general, using target_gdbarch is
nearly never the right thing to do in generic code as long as we want
to support multi-architecture debugging.
Can this call not be pushed down further in the target stack, to below
the xfer_partial implementation in the spu-multiarch target?
Bye,
Ulrich
--
Dr. Ulrich Weigand
GNU/Linux compilers and toolchain
Ulrich.Weigand@de.ibm.com
next prev parent reply other threads:[~2017-12-19 13:50 UTC|newest]
Thread overview: 40+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-12-08 10:04 [PATCH 0/3 v3] [AArch64] Support tagged pointer Yao Qi
2017-12-08 10:04 ` [PATCH 3/3] Clear non-significant bits of address in watchpoint Yao Qi
2017-12-08 12:23 ` Pedro Alves
2017-12-08 10:04 ` [PATCH 2/3] Adjust breakpoint address by clearing non-significant bits Yao Qi
2017-12-08 12:22 ` Pedro Alves
2017-12-08 10:04 ` [PATCH 1/3] Clear non-significant bits of address on memory access Yao Qi
2017-12-08 12:22 ` Pedro Alves
2017-12-08 15:13 ` Ulrich Weigand
2017-12-08 15:36 ` Yao Qi
2017-12-19 13:50 ` Ulrich Weigand [this message]
2017-12-19 15:41 ` Yao Qi
2017-12-19 16:15 ` Ulrich Weigand
2017-12-20 9:57 ` Yao Qi
2017-12-20 13:03 ` [pushed] Fix Cell/B.E. regression (Re: [PATCH 1/3] Clear non-significant bits of address on memory access) Ulrich Weigand
2017-12-20 13:59 ` Yao Qi
2017-12-08 12:24 ` [PATCH 0/3 v3] [AArch64] Support tagged pointer Pedro Alves
2017-12-08 17:31 ` Yao Qi
2018-04-11 0:16 ` Omair Javaid
2018-04-11 0:37 ` Omair Javaid
2018-04-11 2:46 ` Simon Marchi
2018-04-11 10:14 ` Pedro Alves
2018-04-11 11:13 ` Omair Javaid
2018-04-11 11:19 ` Pedro Alves
2018-04-11 12:01 ` Omair Javaid
2018-04-11 18:27 ` Pedro Alves
2018-04-16 1:36 ` Omair Javaid
2018-04-16 22:57 ` Pedro Alves
2018-04-20 14:34 ` Omair Javaid
2018-04-20 16:13 ` Daniel Thompson
2018-04-23 7:50 ` Omair Javaid
2018-04-24 11:39 ` Pedro Alves
2018-04-24 15:44 ` Daniel Thompson
2018-04-24 11:48 ` Pedro Alves
2018-04-24 16:05 ` Daniel Thompson
2018-04-24 23:42 ` Omair Javaid
2018-04-25 0:09 ` Andrew Pinski
2018-04-25 8:04 ` Daniel Thompson
2018-04-26 8:11 ` Omair Javaid
2018-04-27 16:29 ` Daniel Thompson
2018-04-30 13:42 ` Omair Javaid
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=20171219135048.A25D9D85C63@oc3748833570.ibm.com \
--to=uweigand@de.ibm.com \
--cc=gdb-patches@sourceware.org \
--cc=qiyaoltc@gmail.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;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).