diff options
-rw-r--r-- | gdb/ChangeLog | 5 | ||||
-rw-r--r-- | gdb/dwarf2read.c | 4 |
2 files changed, 8 insertions, 1 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 9039dfc1af3..8728ff45bec 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,8 @@ +2004-08-01 Joel Brobecker <brobecker@gnat.com> + + * dwarf2read.c (dwarf_decode_lines): Do not consider the current + file as included until we record the first line in the linetable. + 2004-08-01 Andrew Cagney <cagney@gnu.org> * frame.h (deprecated_pop_dummy_frame) diff --git a/gdb/dwarf2read.c b/gdb/dwarf2read.c index 7d1dafad00b..fa11475a691 100644 --- a/gdb/dwarf2read.c +++ b/gdb/dwarf2read.c @@ -5977,6 +5977,7 @@ dwarf_decode_lines (struct line_header *lh, char *comp_dir, bfd *abfd, address += (adj_opcode / lh->line_range) * lh->minimum_instruction_length; line += lh->line_base + (adj_opcode % lh->line_range); + lh->file_names[file - 1].included_p = 1; if (!decode_for_pst_p) { /* append row to matrix using current values */ @@ -5996,6 +5997,7 @@ dwarf_decode_lines (struct line_header *lh, char *comp_dir, bfd *abfd, { case DW_LNE_end_sequence: end_sequence = 1; + lh->file_names[file - 1].included_p = 1; if (!decode_for_pst_p) record_line (current_subfile, 0, address); break; @@ -6030,6 +6032,7 @@ dwarf_decode_lines (struct line_header *lh, char *comp_dir, bfd *abfd, } break; case DW_LNS_copy: + lh->file_names[file - 1].included_p = 1; if (!decode_for_pst_p) record_line (current_subfile, line, check_cu_functions (address, cu)); @@ -6054,7 +6057,6 @@ dwarf_decode_lines (struct line_header *lh, char *comp_dir, bfd *abfd, file = read_unsigned_leb128 (abfd, line_ptr, &bytes_read); line_ptr += bytes_read; fe = &lh->file_names[file - 1]; - fe->included_p = 1; if (fe->dir_index) dir = lh->include_dirs[fe->dir_index - 1]; else |