public inbox for archer@sourceware.org
 help / color / mirror / Atom feed
From: Kevin Buettner <kevinb@redhat.com>
To: archer@sourceware.org
Subject: Re: gdbstub initial code, v9
Date: Mon, 13 Sep 2010 05:54:00 -0000	[thread overview]
Message-ID: <20100912225350.6d5ccc12@mesquite.lan> (raw)
In-Reply-To: <20100909152937.GA21586@redhat.com>

On Thu, 9 Sep 2010 17:29:37 +0200
Oleg Nesterov <oleg@redhat.com> wrote:

> Currently ugdb only supports non-stop

Could someone explain to me why non-stop (rather than all-stop) is
being focused upon first?


I skimmed the v9 code.  It's good to see that support has been added
for the 'm', 'M', and 'g' commands.  It appears to me that 'G' and 's'
are still missing though.  As discussed by Jan, x86 will need G (or P,
but G is required by the spec whereas P is not), due to the need to
adjust the PC backwards after a break.  (In gdb sources, this is
known as decr_pc_after_break.)

Something else that came to mind while reading this thread is the
issue of cache synchronization.  When writing either breakpoints or
original instructions to memory, it may be necessary to flush the data
cache to memory and invalidate some lines in the instruction cache so
as to not have the CPU execute the instruction that was there prior to
the modification - i.e. you want the CPU to execute the instruction
that was just written to memory, not necessarily whatever it has lying
about it it's cache.  It occurred to me that this could be one reason
for breakpoints not working after implementation of the 'M' command.
(If the kernel calls that you're using already automagically do this, then
ignore this comment...)

Kevin

  parent reply	other threads:[~2010-09-13  5:54 UTC|newest]

Thread overview: 28+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-09-08 19:22 Oleg Nesterov
2010-09-09 10:29 ` Jan Kratochvil
2010-09-09 15:06   ` Oleg Nesterov
2010-09-09 12:39 ` Frank Ch. Eigler
2010-09-09 15:33   ` Oleg Nesterov
2010-09-09 15:54     ` Oleg Nesterov
2010-09-09 16:07       ` Frank Ch. Eigler
2010-09-09 16:37         ` Oleg Nesterov
2010-09-09 16:11       ` Jan Kratochvil
2010-09-09 16:34         ` Oleg Nesterov
2010-09-09 16:36           ` Jan Kratochvil
2010-09-09 16:48             ` Oleg Nesterov
2010-09-09 16:50               ` Oleg Nesterov
2010-09-09 16:51               ` Tom Tromey
2010-09-10 10:12                 ` Roland McGrath
2010-09-10 18:14                   ` Oleg Nesterov
2010-09-10 19:43                     ` Tom Tromey
2010-09-10 19:49                       ` Oleg Nesterov
2010-09-13  5:54     ` Kevin Buettner [this message]
2010-09-14  2:20       ` Roland McGrath
2010-09-14 16:10         ` Oleg Nesterov
2010-09-14 16:30           ` Jan Kratochvil
2010-09-14 21:30             ` Tom Tromey
2010-09-15 19:43           ` Kevin Buettner
2010-09-10 22:03   ` ugdb && breakpoints Oleg Nesterov
2010-09-10 22:12     ` Tom Tromey
2010-09-14 19:38       ` Roland McGrath
2010-09-14 19:47         ` Oleg Nesterov

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=20100912225350.6d5ccc12@mesquite.lan \
    --to=kevinb@redhat.com \
    --cc=archer@sourceware.org \
    /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).