--- binutils.orig/gas/dwarf2dbg.c 2021-01-18 15:02:20.322260068 +0000 +++ binutils-2.35.1/gas/dwarf2dbg.c 2021-01-18 15:04:20.078481127 +0000 @@ -537,7 +537,11 @@ dwarf2_gen_line_info (addressT ofs, stru if (loc->line == 0) return; if (loc->filenum == 0 && DWARF2_LINE_VERSION < 5) - return; + { + dwarf_level = 5; + if (DWARF2_LINE_VERSION < 5) + return; + } /* Don't emit sequences of line symbols for the same line when the symbols apply to assembler code. It is necessary to emit @@ -1030,9 +1034,13 @@ dwarf2_directive_filename (void) if ((offsetT) num < 1 && DWARF2_LINE_VERSION < 5) { - as_bad (_("file number less than one")); - ignore_rest_of_line (); - return NULL; + dwarf_level = 5; + if (DWARF2_LINE_VERSION < 5) + { + as_bad (_("file number less than one")); + ignore_rest_of_line (); + return NULL; + } } /* FIXME: Should we allow ".file \n" as an expression meaning @@ -1129,8 +1137,12 @@ dwarf2_directive_loc (int dummy ATTRIBUT { if (filenum != 0 || DWARF2_LINE_VERSION < 5) { - as_bad (_("file number less than one")); - return; + dwarf_level = 5; + if (DWARF2_LINE_VERSION < 5) + { + as_bad (_("file number less than one")); + return; + } } }