public inbox for gdb@sourceware.org
 help / color / mirror / Atom feed
From: David Daney <ddaney@avtrex.com>
To: Matt Mackall <mpm@selenic.com>
Cc: linuxppc-embedded@ozlabs.org, gdb@sourceware.org
Subject: Re: Apparent kernel bug with GDB on ppc405
Date: Wed, 24 Oct 2007 20:34:00 -0000	[thread overview]
Message-ID: <471FAC48.1070008@avtrex.com> (raw)
In-Reply-To: <20071024194640.GB19691@waste.org>

Matt Mackall wrote:
> I'm trying to debug a trivial statically-linked hello world program on
> a Xilinx PPC 405 and I'm seeing the following behavior:
> 
> With direct gdb on target, I can set a breakpoint at main, run, and
> the breakpoint is triggered.
> 
> With gdbserver and gdb with "target remote localhost:1234", the above
> still works.
> 
> With gdb on target redirected to a PC and tunneled back
> to the target, everything still works.
> 
> With gdb on a PC, execution continues past the breakpoint. Comparing
> the gdb protocol streams here and and on the previous (working) case
> are identical up to the point of hitting the breakpoint (which never
> happens in the latter case).
> 
> Raising the load on the PC to 4 and running gdb under nice -n 19 makes
> things work again. So this begins to look like a kernel cache or
> timing bug rather than a problem with the PC tool. It appears that the
> breakpoint written to the executable at continue time is not visible
> to the CPU at execute time.
> 
> My first suspicion was a dcache/icache coherency issue in
> copy_to_user_page, so I added flush_dcache_icache_page(page) here to
> no avail. On closer inspection, it looks like both icache and dcache
> are already being flushed by flush_icache_user_range().
> 

First of all I have never used a similar configuration so this may be 
totally off base.  But...

If the icache is virtually indexed, then I think there are only two ways 
to invalidate it.  The first is from the context of the debugged process 
where the page is mapped at the location the target program will see it. 
   If you try to invalidate from the context of the debugger, the page 
will most likely not be mapped at the virtual address of the target 
program so you might have to invalidate the *entire* icache.

David Daney



  parent reply	other threads:[~2007-10-24 20:34 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-10-24 19:46 Matt Mackall
2007-10-24 20:28 ` Grant Likely
2007-10-24 20:42   ` Matt Mackall
2007-10-24 20:46     ` Grant Likely
2007-10-24 21:54     ` Matt Mackall
2007-10-24 22:28       ` Grant Likely
2007-10-24 22:33         ` Matt Mackall
2007-10-24 22:39           ` Grant Likely
2007-10-24 22:40             ` Grant Likely
2007-10-26  1:51               ` Benjamin Herrenschmidt
2007-10-24 22:41           ` Daniel Jacobowitz
2007-10-26  1:51             ` Benjamin Herrenschmidt
2007-10-26 20:41               ` Josh Boyer
2007-10-27  1:36                 ` Benjamin Herrenschmidt
2007-10-27  1:40                   ` Josh Boyer
2007-10-24 20:34 ` David Daney [this message]
2007-10-26  1:52   ` Benjamin Herrenschmidt
2007-10-26  1:47 ` Benjamin Herrenschmidt
2007-10-26  2:45   ` Grant Likely
2007-10-26  3:23     ` Benjamin Herrenschmidt
2007-10-26 14:42       ` Matt Mackall
2007-10-27  1:31         ` Benjamin Herrenschmidt
     [not found]           ` <1193470322.18243.63.camel@pasglop>
     [not found]             ` <20071029070824.72854629@weaponx.rchland.ibm.com>
     [not found]               ` <20071029151546.5af0e843@weaponx.rchland.ibm.com>
     [not found]                 ` <1193690106.9928.32.camel@pasglop>
2007-10-29 21:19                   ` [PATCH/RFC] powerpc: Pass PID argument to _tlbie (WAS: Apparent kernel bug with GDB on ppc405) Matt Mackall

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=471FAC48.1070008@avtrex.com \
    --to=ddaney@avtrex.com \
    --cc=gdb@sourceware.org \
    --cc=linuxppc-embedded@ozlabs.org \
    --cc=mpm@selenic.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).