This is the mail archive of the
gdb@sources.redhat.com
mailing list for the GDB project.
Re: dwarf2read.c:read_partial_die question
- From: Daniel Jacobowitz <drow at false dot org>
- To: gdb at sources dot redhat dot com
- Date: Wed, 9 Jun 2004 11:45:44 -0400
- Subject: Re: dwarf2read.c:read_partial_die question
- References: <20040609154226.GC11156@white>
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