From: "Ulrich Weigand" <uweigand@de.ibm.com>
To: drow@false.org (Daniel Jacobowitz)
Cc: gdb-patches@sourceware.org
Subject: Re: [rfc] [4/4] SPU overlay support: Bugfix in remove_breakpoint
Date: Thu, 10 May 2007 22:05:00 -0000 [thread overview]
Message-ID: <200705102205.l4AM5j9e032747@d12av02.megacenter.de.ibm.com> (raw)
In-Reply-To: <20070510215148.GB3187@caradoc.them.org> from "Daniel Jacobowitz" at May 10, 2007 05:51:48 PM
Daniel Jacobowitz wrote:
> On Tue, May 08, 2007 at 12:27:05AM +0200, Ulrich Weigand wrote:
> > However, for *software* breakpoints this looks definitely
> > wrong to me. So the patch below restores the old behaviour
> > for those: the shadow contents are restored only if the
> > section is still mapped.
> >
> > Any comments? I plan on committing this after the rest of
> > the SPU overlay support patches.
>
> I think that there's two reasonable overlay manager behaviors,
> depending on the different sorts of systems that might want overlays.
> If the source of the overlay comes from ROM, or from some other
> read-only source, then your patch is clearly right. If it comes from
> RAM, then some systems may save the overlay (e.g. if it contained
> data) - and thus save the breakpoint. I can't see any way around this
> unless the overlay manager warns GDB before it unmaps the breakpoint.
Even in the case of read-write overlay sections that were saved by
the overlay manager, "restoring" a breakpoint at the *VMA* in a
non-present overlay would be wrong. At this memory location,
some *other* overlay section may already be swapped in, and
the restore would clobber unrelated code (and still leave the
breakpoint instruction in the swapped out backing store).
The way to handle read-write overlay managers is to arrange for
the LMA to point to the backing-store RAM address where the
overlay has been swapped to, and remove the swapped-out breakpoint
at the *LMA* address. The existing code already handles that
correctly (assuming overlay_events_enabled is false, as it should
be for read-write overlay managers).
Bye,
Ulrich
--
Dr. Ulrich Weigand
GNU Toolchain for Linux on System z and Cell BE
Ulrich.Weigand@de.ibm.com
next prev parent reply other threads:[~2007-05-10 22:05 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-05-07 22:27 Ulrich Weigand
2007-05-10 21:52 ` Daniel Jacobowitz
2007-05-10 22:05 ` Ulrich Weigand [this message]
2007-05-11 17:29 ` Daniel Jacobowitz
2007-05-11 18:55 ` Ulrich Weigand
2007-05-11 19:00 ` Daniel Jacobowitz
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=200705102205.l4AM5j9e032747@d12av02.megacenter.de.ibm.com \
--to=uweigand@de.ibm.com \
--cc=drow@false.org \
--cc=gdb-patches@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