public inbox for gdb@sourceware.org
 help / color / mirror / Atom feed
From: Vladimir Prus <ghost@cs.msu.su>
To: gdb@sources.redhat.com
Subject: Re: warning: (Internal error: pc 0xd00 in read in psymtab, but not in symtab.)
Date: Tue, 15 Nov 2005 06:50:00 -0000	[thread overview]
Message-ID: <dlc0b4$ic3$1@sea.gmane.org> (raw)
In-Reply-To: <20051115010716.GA14640@Power-Mac-G5.local>

Ron McCall wrote:

> By the way, I did try a newer snapshot but still got the same result, as
> you suspected.  I ran the cross gdb under a native gdb to try to see
> what was happening.  With a breakpoint on find_pc_sect_symtab() in
> symtab.c and a single command input of "disas 0xd00 0xd04" there are
> several calls to this function.  I can re-run the test to get specific
> input values if that would help.  If I remember correctly, the call that
> resulted in the warning message being printed had inputs of pc=0 and
> section=0.

pc=0? Hmm, does your application start at address zero?
I distinctly remember I had to patch my local gdb version because it did not
like sections starting at address zero.

Below is the patch I use. But I'm not sure it's the problem in your case:
the patch fixes the "pc = 0" problem both for partial symbol table
(psymtab), and complete symbol table (symtab). Without this patch I get
error even earlier.

- Volodya

Index: gdb/dwarf2read.c
===================================================================
--- gdb/dwarf2read.c    (revision 1679)
+++ gdb/dwarf2read.c    (revision 1680)
@@ -3164,8 +3203,13 @@
      labels are not in the output, so the relocs get a value of 0.
      If this is a discarded function, mark the pc bounds as invalid,
      so that GDB will ignore it.  */
+  /* VP: commented out of the same reason as in read_partial_die.
+     Damn the code duplication.
+     */
+  #if 0
   if (low == 0 && (bfd_get_file_flags (obfd) & HAS_RELOC) == 0)
     return 0;
+  #endif
 
   *lowpc = low;
   *highpc = high;
@@ -5423,10 +5467,15 @@
      labels are not in the output, so the relocs get a value of 0.
      If this is a discarded function, mark the pc bounds as invalid,
      so that GDB will ignore it.  */
+  /* VP: 2005/04/20: On NM, text segment starts at address 0, so disable 
+     the check for zero. */
   if (has_low_pc_attr && has_high_pc_attr
       && part_die->lowpc < part_die->highpc
+#if 0
       && (part_die->lowpc != 0
-         || (bfd_get_file_flags (abfd) & HAS_RELOC)))
+         || (bfd_get_file_flags (abfd) & HAS_RELOC))
+#endif
+      )
     part_die->has_pc_info = 1;
   return info_ptr;
 }



  parent reply	other threads:[~2005-11-15  6:50 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-11-08 15:07 Ron McCall
2005-11-13 17:39 ` Daniel Jacobowitz
2005-11-15  1:07   ` Ron McCall
2005-11-15  2:09     ` Daniel Jacobowitz
2005-11-16  3:28       ` Ron McCall
2005-11-15  6:50     ` Vladimir Prus [this message]
2005-11-15 20:46       ` Ron McCall
2005-11-15 23:10         ` Jim Blandy
2005-11-15 23:25           ` Daniel Jacobowitz
2005-11-16  0:12             ` Jim Blandy
2005-11-16  0:38               ` Daniel Jacobowitz
2005-11-16  1:33                 ` Jim Blandy
2005-11-16  2:53                   ` Daniel Jacobowitz
     [not found]                   ` <20051116025218.GA27921@nevyn.them.org>
2005-11-16  2:54                     ` Jim Blandy
2005-11-16  2:56                       ` 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='dlc0b4$ic3$1@sea.gmane.org' \
    --to=ghost@cs.msu.su \
    --cc=gdb@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;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).