This is the mail archive of the
gdb@sources.redhat.com
mailing list for the GDB project.
dwarf2read.c:read_partial_die question
- From: Bob Rossi <bob at brasko dot net>
- To: gdb at sources dot redhat dot com
- Date: Wed, 9 Jun 2004 11:42:26 -0400
- Subject: dwarf2read.c:read_partial_die question
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?
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.
This is what the dwarf2 spec says,
A DW_AT_comp_dir attribute whose value is a null-terminated string
containing the current
working directory of the compilation command that produced this
compilation unit in
whatever form makes sense for the host system.
The suggested form for the value of the DW_AT_comp_dir attribute on
UNIX systems is
hostname:pathname. If no hostname is available, the suggested form is
:pathname.
Basically, it doens't say anything about it being NULL.
So, what I want to know is, is it valid that the value of part_die->dirname is
NULL and that the value of part_die->name is NULL?
Thanks,
Bob Rossi