Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
From: PAUL GILLIAM <pgilliam@us.ibm.com>
To: gdb-patches@sources.redhat.com
Subject: [RFA] "fix" a problem where a breakpoint would be associated with 	the wrong source
Date: Thu, 02 Feb 2006 01:25:00 -0000	[thread overview]
Message-ID: <1138843590.1423.106.camel@dufur.beaverton.ibm.com> (raw)

I ran across a problem where a breakpoint would be associated with the
wrong source.  Not every breakpoint, just some breakpoints.  And
changing the order of .o files on the link line would change which
breakpoints where affected.

A 'bad' breakpoint would give the wrong source file and line number when
it was set.  When the program was run and a bad breakpoint hit, the
wrong source would be shown by the break and by list.  But the break
would, in fact, be at the right place.

In debugging gdb, I narrowed it down (not the cause, just the failure)
to find_function_start_sal().  The call to find_pc_sect_line() was
finding the wrong sal.  I noticed that the right sal was being found
earlier during the processing done by SKIP_PROLOGUE().  There,
find_pc_sect_line() was being called with a null section argument.

This patch seems to "fix" the problem.  But I don't feel comfortable
with it.

Comments?

Index: symtab.c
===================================================================
RCS file: /cvs/src/src/gdb/symtab.c,v
retrieving revision 1.146
diff -a -u -r1.146 symtab.c
--- symtab.c    17 Dec 2005 22:34:03 -0000      1.146
+++ symtab.c    2 Feb 2006 00:57:52 -0000
@@ -2457,7 +2457,7 @@
       /* For overlays, map pc back into its mapped VMA range */
       pc = overlay_mapped_address (pc, section);
     }
-  sal = find_pc_sect_line (pc, SYMBOL_BFD_SECTION (sym), 0);
+  sal = find_pc_sect_line (pc, 0, 0);

   /* Check if SKIP_PROLOGUE left us in mid-line, and the next
      line is still part of the same function.  */
~


             reply	other threads:[~2006-02-02  1:25 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-02-02  1:25 PAUL GILLIAM [this message]
2006-02-02  1:27 ` Daniel Jacobowitz
2006-02-10  2:12   ` PAUL GILLIAM
2006-02-10  5:33     ` Daniel Jacobowitz
2006-02-14  3:25       ` PAUL GILLIAM
2006-02-14 14:03         ` 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=1138843590.1423.106.camel@dufur.beaverton.ibm.com \
    --to=pgilliam@us.ibm.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