From: Daniel Jacobowitz <drow@false.org>
To: Greg Law <glaw@undo-software.com>
Cc: gdb@sourceware.org
Subject: Re: bfinish writes to random addresses.
Date: Tue, 25 Jul 2006 16:20:00 -0000 [thread overview]
Message-ID: <20060725160914.GA14110@nevyn.them.org> (raw)
In-Reply-To: <44C6405A.50502@undo-software.com>
On Tue, Jul 25, 2006 at 05:01:30PM +0100, Greg Law wrote:
> I guess one option would be to use a hardware breakpoint when setting
> breakpoints based on such "derived" addresses. At least that way it's
> non-destructive if gdb gets it wrong.
Every address where GDB sets any breakpoint is "derived" in that sense.
And there aren't very many hardware breakpoints, if any.
> Having gdb check the return address looks like a sensible code address
> might also be worthwhile. Of course this will not fix all cases,
> especially if the calculated return address happens to point into the
> middle of an instruction. But hopefully in reality most things that
> look like pointers to code will actually be pointers to code, and so
> properly aligned, and the breakpoint will just go to the wrong place,
> rather than clobbering random data.
... Properly aligned? You're talking about %ebp so I assume you're
talking about x86, and instructions have no alignment on this
architecture.
Warning when returning from something with a symbol to something
without a symbol is an interesting suggestion. Does anyone else have
comments? Should this warn?
(gdb) bt
#0 foo()
#1 0x4000000 in ???
(gdb) finish
--
Daniel Jacobowitz
CodeSourcery
next prev parent reply other threads:[~2006-07-25 16:09 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-07-25 15:41 Greg Law
2006-07-25 15:42 ` Daniel Jacobowitz
2006-07-25 16:09 ` Greg Law
2006-07-25 16:20 ` Daniel Jacobowitz [this message]
2006-07-25 16:27 ` Greg Law
2006-07-25 16:53 ` Daniel Jacobowitz
2006-07-25 18:40 ` Mark Kettenis
2006-07-26 1:21 ` 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=20060725160914.GA14110@nevyn.them.org \
--to=drow@false.org \
--cc=gdb@sourceware.org \
--cc=glaw@undo-software.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