Mirror of the gdb mailing list
 help / color / mirror / Atom feed
From: Tom Tromey <tromey@redhat.com>
To: Brian Heilig <bheilig@etinternational.com>
Cc: gdb <gdb@sourceware.org>
Subject: Re: Assertion Fail: FDE != NULL in Cyclops64
Date: Tue, 23 Nov 2010 21:13:00 -0000	[thread overview]
Message-ID: <m339qr3fs4.fsf@fleche.redhat.com> (raw)
In-Reply-To: <1290438965.1567.22.camel@random> (Brian Heilig's message of	"Mon, 22 Nov 2010 10:16:05 -0500")

>>>>> "Brian" == Brian Heilig <bheilig@etinternational.com> writes:

Brian> I am receiving an assertion violation, "fde != NULL" on my Cyclops64
Brian> system. This occurs in the function "dwarf2_frame" in "dwarf2_frame.c"
Brian> while attempting to single step through memmove.

Brian> I found that memmove (and other functions) were not compiled with debug
Brian> information. Since these were hand optimized routines in assembly it
Brian> would be very difficult to add debugging information.

Brian> On a plain Linux test I get "Single stepping until exit from function
Brian> foo, which has no line number information." That's what my Cyclops64
Brian> system should do.

Brian> When I perform a readelf on my Cyclops64 executable there are holes in
Brian> the .debug_frame section where memmove (and the others) should be. It
Brian> looks like gdb assumes there are no holes, so I'm guessing the problem
Brian> is somewhere in my tool chain. Can someone direct me to the right spot?

I am not overly familiar with this code, but I think the logic behind
this assert is that we should only end up in dwarf2_frame_cache if a
DWARF frame was detected, and the DWARF frame sniffers use
dwarf2_frame_find_fde to decide whether this happened.

In other words, if the assert trips then that means there is some kind
of bug in gdb -- because dwarf2_frame_find_fde returned different
results for the same PC.

I would probably start by putting a breakpoint in dwarf2_frame_sniffer
to see what happens there, or maybe by finding out where the frame comes
from in dwarf2_frame_cache.

Tom


  reply	other threads:[~2010-11-23 21:13 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-11-22 15:16 Brian Heilig
2010-11-23 21:13 ` Tom Tromey [this message]
2010-11-23 21:17 ` Petr Hluzín

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=m339qr3fs4.fsf@fleche.redhat.com \
    --to=tromey@redhat.com \
    --cc=bheilig@etinternational.com \
    --cc=gdb@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