diff --git a/binutils-gas-auto-dwarf-5.patch b/binutils-gas-auto-dwarf-5.patch new file mode 100644 index 0000000..526b44f --- /dev/null +++ b/binutils-gas-auto-dwarf-5.patch @@ -0,0 +1,47 @@ +--- 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; ++ } + } + } + diff --git a/binutils.spec b/binutils.spec index be70bea..0a983a7 100644 --- a/binutils.spec +++ b/binutils.spec @@ -39,7 +39,7 @@ Summary: A GNU collection of binary utilities Name: binutils%{?name_cross}%{?_with_debug:-debug} Version: 2.35.1 -Release: 22%{?dist} +Release: 23%{?dist} License: GPLv3+ URL: https://sourceware.org/binutils @@ -307,6 +307,11 @@ Patch29: binutils-duplicate-sections.patch # Lifetime: Permanent. Patch30: binutils-use-long-long.patch +# Purpose: Have the assembler automatically detect the use of DWARF-5 +# file numbers, and enable DWARF-5 support. +# Lifetime: Fixed in 2.36. +Patch31: binutils-gas-auto-dwarf-5.patch + #---------------------------------------------------------------------------- Provides: bundled(libiberty) @@ -775,6 +780,8 @@ rm -rf %{buildroot}%{_infodir} #rm -rf {buildroot}{_prefix}/share/locale #rm -rf {buildroot}{_mandir} rm -rf %{buildroot}%{_libdir}/libiberty.a +# Remove libtool files, which reference the .so libs +rm -f %{buildroot}%{_libdir}/lib{bfd,opcodes}.la %endif # This one comes from gcc @@ -889,6 +896,9 @@ exit 0 #---------------------------------------------------------------------------- %changelog +* Mon Jan 18 2021 Nick Clifton - 2.35.1-23 +- Add a fix to gas to automatically enable DWARF-5 style file name tables. + * Fri Jan 15 2021 Nick Clifton - 2.35.1-22 - Add an option (currently disabled) to build a linker which generates new dtags.