dwarf2read.c:read_partial_die question
Bob Rossi
bob@brasko.net
Wed Jun 9 15:42:00 GMT 2004
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
More information about the Gdb
mailing list