Hi Roland,

Thanks for the update.  I gave it a try.  It doesn't quite work.

I think that you need to add the line:

off = noff;

prior to the continue statement.  This prevents the while loop from going
into an infinite loop.  So the block at line #91 in dwarf_getsrc_file.c
would look like this:

  if (INTUSE(dwarf_getsrclines) (cudie, &lines, &nlines) != 0)
    {
      /* Ignore a CU that just has no DW_AT_stmt_list at all.  */
      int error = INTUSE(dwarf_errno) ();
      if (error == 0)
        {
          off = noff;
          continue;
        }
      __libdw_seterrno (error);
      return -1;
    }

With that change, everything looks like it works great.

Thanks for all your help!
--Mike

-----Original Message-----
From: Roland McGrath [mailto:[email protected]] 
Sent: Monday, July 20, 2009 1:27 AM
To: Mike Lindahl
Cc: [email protected]
Subject: RE: dwarf_getsrc_file Question

Oops, my change didn't do what I'd intended.  
Can you try the current version of the branch (60b34a0)?


Thanks,
Roland

_______________________________________________
elfutils-devel mailing list
[email protected]
https://fedorahosted.org/mailman/listinfo/elfutils-devel

Reply via email to