Add a fix to gas to automatically enable DWARF-5 style file name tables.

This commit is contained in:
Nick Clifton 2021-01-18 16:28:08 +00:00
parent 0960a4713d
commit d5e63f6505
2 changed files with 58 additions and 1 deletions

View File

@ -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>\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;
+ }
}
}

View File

@ -39,7 +39,7 @@
Summary: A GNU collection of binary utilities Summary: A GNU collection of binary utilities
Name: binutils%{?name_cross}%{?_with_debug:-debug} Name: binutils%{?name_cross}%{?_with_debug:-debug}
Version: 2.35.1 Version: 2.35.1
Release: 22%{?dist} Release: 23%{?dist}
License: GPLv3+ License: GPLv3+
URL: https://sourceware.org/binutils URL: https://sourceware.org/binutils
@ -307,6 +307,11 @@ Patch29: binutils-duplicate-sections.patch
# Lifetime: Permanent. # Lifetime: Permanent.
Patch30: binutils-use-long-long.patch 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) Provides: bundled(libiberty)
@ -775,6 +780,8 @@ rm -rf %{buildroot}%{_infodir}
#rm -rf {buildroot}{_prefix}/share/locale #rm -rf {buildroot}{_prefix}/share/locale
#rm -rf {buildroot}{_mandir} #rm -rf {buildroot}{_mandir}
rm -rf %{buildroot}%{_libdir}/libiberty.a rm -rf %{buildroot}%{_libdir}/libiberty.a
# Remove libtool files, which reference the .so libs
rm -f %{buildroot}%{_libdir}/lib{bfd,opcodes}.la
%endif %endif
# This one comes from gcc # This one comes from gcc
@ -889,6 +896,9 @@ exit 0
#---------------------------------------------------------------------------- #----------------------------------------------------------------------------
%changelog %changelog
* Mon Jan 18 2021 Nick Clifton <nickc@redhat.com> - 2.35.1-23
- Add a fix to gas to automatically enable DWARF-5 style file name tables.
* Fri Jan 15 2021 Nick Clifton <nickc@redhat.com> - 2.35.1-22 * Fri Jan 15 2021 Nick Clifton <nickc@redhat.com> - 2.35.1-22
- Add an option (currently disabled) to build a linker which generates new dtags. - Add an option (currently disabled) to build a linker which generates new dtags.