Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
From: Kevin Buettner <kevinb@redhat.com>
To: gdb-patches@sources.redhat.com
Subject: [rfc] Set a breakpoint's type before adjusting its address
Date: Fri, 27 Apr 2007 22:25:00 -0000	[thread overview]
Message-ID: <20070427151559.0394bfa0@ironwood.lan> (raw)

At the moment, running GDB on an FR-V target will generate lots of
"reading through apparently deleted breakpoint" warnings.  This is due
to the fact that (due to architectural constraints) FR-V needs to
adjust breakpoint addresses.  When it does so, it reads through
read_memory_nobpt(), triggering the warning due to the fact that the
breakpoint's type hasn't been set yet.  The patch below moves the type
assignment prior to the adjustment thus avoiding this situation.

Comments?

	* breakpoint.c (set_raw_breakpoint): Set breakpoint type before
	attempting to adjust its address.

Index: gdb/breakpoint.c
===================================================================
RCS file: /cvs/src/src/gdb/breakpoint.c,v
retrieving revision 1.244
diff -u -p -r1.244 breakpoint.c
--- gdb/breakpoint.c	10 Apr 2007 14:53:46 -0000	1.244
+++ gdb/breakpoint.c	27 Apr 2007 22:06:44 -0000
@@ -4213,6 +4213,14 @@ set_raw_breakpoint (struct symtab_and_li
 
   b = (struct breakpoint *) xmalloc (sizeof (struct breakpoint));
   memset (b, 0, sizeof (*b));
+
+  /* Set type before performing breakpoint adjustment.  If the breakpoint
+     needs to be adjusted, it's possible that this raw breakpoint will be
+     read by read_memory_nobpt().  If the type is unset (zero), the
+     "reading through apparently deleted breakpoint" warning will be
+     triggered.  */
+  b->type = bptype;
+
   b->loc = allocate_bp_location (b, bptype);
   b->loc->requested_address = sal.pc;
   b->loc->address = adjust_breakpoint_address (b->loc->requested_address,
@@ -4223,7 +4231,6 @@ set_raw_breakpoint (struct symtab_and_li
     b->source_file = savestring (sal.symtab->filename,
 				 strlen (sal.symtab->filename));
   b->loc->section = sal.section;
-  b->type = bptype;
   b->language = current_language->la_language;
   b->input_radix = input_radix;
   b->thread = -1;


             reply	other threads:[~2007-04-27 22:16 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-04-27 22:25 Kevin Buettner [this message]
2007-04-28 21:54 ` Daniel Jacobowitz
2007-05-03  0:15   ` Kevin Buettner
2007-05-03  2:38     ` Daniel Jacobowitz
2007-05-03 17:44       ` Kevin Buettner

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=20070427151559.0394bfa0@ironwood.lan \
    --to=kevinb@redhat.com \
    --cc=gdb-patches@sources.redhat.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