From acc187f5075f71862f71fea9bcb6efa0d4ce8751 Mon Sep 17 00:00:00 2001 From: Richard Henderson Date: Sat, 17 Mar 2001 10:18:12 -0800 Subject: [PATCH] dwarf2out.c (lookup_filename): Emit .file if the assembler is generating .debug_line. * dwarf2out.c (lookup_filename): Emit .file if the assembler is generating .debug_line. (dwarf2out_init): Add main_input_filename to the file table first. * configure.in (as_dwarf2_debug_line): Test with file number 1 instead of file number 0. From-SVN: r40578 --- gcc/ChangeLog | 8 ++++++++ gcc/configure | 4 ++-- gcc/configure.in | 4 ++-- gcc/dwarf2out.c | 10 +++++++++- 4 files changed, 21 insertions(+), 5 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 650510825cb..fadf0f202e6 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,11 @@ +2001-03-17 Richard Henderson + + * dwarf2out.c (lookup_filename): Emit .file if the assembler + is generating .debug_line. + (dwarf2out_init): Add main_input_filename to the file table first. + * configure.in (as_dwarf2_debug_line): Test with file number 1 + instead of file number 0. + Sat Mar 17 11:52:34 2001 Richard Kenner * combine.c (undobuf): Remove field previous_undos; all refs deleted. diff --git a/gcc/configure b/gcc/configure index 28b6041d664..87562fae71d 100755 --- a/gcc/configure +++ b/gcc/configure @@ -6752,8 +6752,8 @@ then gcc_cv_as_dwarf2_debug_line="yes" fi elif test x$gcc_cv_as != x -a x"$insn" != x ; then - echo ' .file 0 "conftest.s"' > conftest.s - echo ' .loc 0 3 0' >> conftest.s + echo ' .file 1 "conftest.s"' > conftest.s + echo ' .loc 1 3 0' >> conftest.s echo " $insn" >> conftest.s # ??? This fails with non-gnu grep. if $gcc_cv_as -o conftest.o conftest.s > /dev/null 2>&1 \ diff --git a/gcc/configure.in b/gcc/configure.in index 586ecf130ff..a53bd4d71e5 100644 --- a/gcc/configure.in +++ b/gcc/configure.in @@ -1491,8 +1491,8 @@ then gcc_cv_as_dwarf2_debug_line="yes" fi elif test x$gcc_cv_as != x -a x"$insn" != x ; then - echo ' .file 0 "conftest.s"' > conftest.s - echo ' .loc 0 3 0' >> conftest.s + echo ' .file 1 "conftest.s"' > conftest.s + echo ' .loc 1 3 0' >> conftest.s echo " $insn" >> conftest.s # ??? This fails with non-gnu grep. if $gcc_cv_as -o conftest.o conftest.s > /dev/null 2>&1 \ diff --git a/gcc/dwarf2out.c b/gcc/dwarf2out.c index b192aab47d9..72b1d4b6d53 100644 --- a/gcc/dwarf2out.c +++ b/gcc/dwarf2out.c @@ -10723,6 +10723,9 @@ lookup_filename (file_name) file_table.in_use = i + 1; file_table.last_lookup_index = i; + if (DWARF2_ASM_LINE_DEBUG_INFO) + fprintf (asm_out_file, "\t.file %u \"%s\"\n", i, file_name); + return i; } @@ -10885,10 +10888,15 @@ dwarf2out_init (asm_out_file, main_input_filename) register FILE *asm_out_file; register const char *main_input_filename; { + init_file_table (); + /* Remember the name of the primary input file. */ primary_filename = main_input_filename; - init_file_table (); + /* Add it to the file table first, under the assumption that we'll + be emitting line number data for it first, which avoids having + to add an initial DW_LNS_set_file. */ + lookup_filename (main_input_filename); /* Allocate the initial hunk of the decl_die_table. */ decl_die_table -- 2.30.2