From 00ea0bf798e12ebf2323a85a63b7497892a2fba4 Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Thu, 10 Aug 2017 07:38:59 -0700 Subject: binutils: Upgrade to 2.29 (From OE-Core rev: 3bf990eb275f63190a2cf7253527d6d49fd93f1a) Signed-off-by: Khem Raj Signed-off-by: Richard Purdie --- ...-lookup-of-file-line-information-for-erro.patch | 75 ---------------------- 1 file changed, 75 deletions(-) delete mode 100644 meta/recipes-devtools/binutils/binutils/0017-bfd-Improve-lookup-of-file-line-information-for-erro.patch (limited to 'meta/recipes-devtools/binutils/binutils/0017-bfd-Improve-lookup-of-file-line-information-for-erro.patch') diff --git a/meta/recipes-devtools/binutils/binutils/0017-bfd-Improve-lookup-of-file-line-information-for-erro.patch b/meta/recipes-devtools/binutils/binutils/0017-bfd-Improve-lookup-of-file-line-information-for-erro.patch deleted file mode 100644 index 23ad10ab4a..0000000000 --- a/meta/recipes-devtools/binutils/binutils/0017-bfd-Improve-lookup-of-file-line-information-for-erro.patch +++ /dev/null @@ -1,75 +0,0 @@ -From 3239a4231ff79bf8b67b8faaf414b1667486167c Mon Sep 17 00:00:00 2001 -From: Andrew Burgess -Date: Mon, 19 Dec 2016 15:27:59 +0000 -Subject: [PATCH] bfd: Improve lookup of file / line information for errors - -When looking up file and line information (used from the linker to -report error messages) if no symbol is passed in, then use the symbol -list to look for a matching symbol. - -If a matching symbol is found then use this to look up the file / line -information. - -This should improve errors when looking up file / line information for -data sections. Hopefully we should find a matching data symbol, which -should, in turn (we hope) match a DW_TAG_variable in the DWARF, this -should allow us to give accurate file / line errors for data symbols. - -As the hope is to find a matching DW_TAG_variable in the DWARF then we -ignore section symbols, and prefer global symbols to locals. - -CVE: CVE-2017-8392 -Upstream-Status: Accepted - -Signed-off-by: Fan Xin ---- - bfd/dwarf2.c | 32 ++++++++++++++++++++++++++++++++ - 1 files changed, 32 insertions(+) - - -diff --git a/bfd/dwarf2.c b/bfd/dwarf2.c -index 03447a9..9bb8126 100644 ---- a/bfd/dwarf2.c -+++ b/bfd/dwarf2.c -@@ -4155,6 +4155,38 @@ _bfd_dwarf2_find_nearest_line (bfd *abfd, - { - BFD_ASSERT (section != NULL && functionname_ptr != NULL); - addr = offset; -+ -+ /* If we have no SYMBOL but the section we're looking at is not a -+ code section, then take a look through the list of symbols to see -+ if we have a symbol at the address we're looking for. If we do -+ then use this to look up line information. This will allow us to -+ give file and line results for data symbols. We exclude code -+ symbols here, if we look up a function symbol and then look up the -+ line information we'll actually return the line number for the -+ opening '{' rather than the function definition line. This is -+ because looking up by symbol uses the line table, in which the -+ first line for a function is usually the opening '{', while -+ looking up the function by section + offset uses the -+ DW_AT_decl_line from the function DW_TAG_subprogram for the line, -+ which will be the line of the function name. */ -+ if ((section->flags & SEC_CODE) == 0) -+ { -+ asymbol **tmp; -+ -+ for (tmp = symbols; (*tmp) != NULL; ++tmp) -+ if ((*tmp)->the_bfd == abfd -+ && (*tmp)->section == section -+ && (*tmp)->value == offset -+ && ((*tmp)->flags & BSF_SECTION_SYM) == 0) -+ { -+ symbol = *tmp; -+ do_line = TRUE; -+ /* For local symbols, keep going in the hope we find a -+ global. */ -+ if ((symbol->flags & BSF_GLOBAL) != 0) -+ break; -+ } -+ } - } - - if (section->output_section) --- -1.9.1 - -- cgit v1.2.3-54-g00ecf