dwarf2read.c:read_partial_die question

Daniel Jacobowitz drow@false.org
Wed Jun 9 15:45:00 GMT 2004


On Wed, Jun 09, 2004 at 11:42:26AM -0400, Bob Rossi wrote:
> Hi,
> 
> I modified read_partial_die with my -file-list-exec-source-files patch.
> 
> I have this,
>    4875  case DW_AT_name:
>    4876
>    4877    /* Prefer DW_AT_MIPS_linkage_name over DW_AT_name.  */
>    4878    if (part_die->name == NULL)
>    4879      part_die->name = DW_STRING (&attr);
>    4880    break;
>    4881  case DW_AT_comp_dir:
>    4882    if (part_die->dirname == NULL)
>    4883      part_die->dirname = DW_STRING (&attr);
>    4884    break;
> 
> So, the question is, part_die->name is NULL and part_die->dirname is
> NULL. Is this OK? Why would the name or the dirname of the file be NULL?

Trivial answer: Because the compiler did not emit DW_AT_comp_dir or
DW_AT_name for the compilation unit.

> This is the comment in the testcase (twice.exp) that is producing this
> behavior
>        # Test that GDB can still detect whether we have line numbers
>        # even if we're executing code in an include file.

Check what GCC is emiting (readelf -wi); do you have a compilation unit
missing these attributes, or have we lost track of them somehow?

-- 
Daniel Jacobowitz



More information about the Gdb mailing list