diff options
-rw-r--r-- | gcc/ChangeLog | 8 | ||||
-rwxr-xr-x | gcc/configure | 4 | ||||
-rw-r--r-- | gcc/configure.in | 4 | ||||
-rw-r--r-- | gcc/dwarf2out.c | 10 |
4 files changed, 21 insertions, 5 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 6505108..fadf0f2 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,11 @@ +2001-03-17 Richard Henderson <rth@redhat.com> + + * 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 <kenner@vlsi1.ultra.nyu.edu> * combine.c (undobuf): Remove field previous_undos; all refs deleted. diff --git a/gcc/configure b/gcc/configure index 28b6041..87562fa 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 586ecf1..a53bd4d 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 b192aab..72b1d4b 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 |