summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarek Vasut <marex@denx.de>2022-01-23 03:30:05 +0100
committerRichard Purdie <richard.purdie@linuxfoundation.org>2022-02-16 09:48:51 +0000
commit4cd2d8de2a19b213118c0b696bbc5c4506f60af0 (patch)
tree6e74876fb5d06654272901bd2463fd44bd827f70
parent169e03b9b3778fb87af39c64937d5315d4fe434a (diff)
downloadpoky-4cd2d8de2a19b213118c0b696bbc5c4506f60af0.tar.gz
binutils: Backport Include members in the variable table used when resolving DW_AT_specification tags.
Backport binutils upstream patch fixing sporadic link errors in c++ code. This triggers at least on arm32 and aarch64 with qt5 based applications. The ChangeLog part of the patch as well as space change is omitted. Binutils bug report for this problem is here: https://sourceware.org/bugzilla/show_bug.cgi?id=26520 (From OE-Core rev: 4aa6f775cd6c20c7296a2aab25ff462d581499d0) Signed-off-by: Marek Vasut <marex@denx.de> Cc: Richard Purdie <richard.purdie@linuxfoundation.org> Cc: Steve Sakoman <steve@sakoman.com> Signed-off-by: Steve Sakoman <steve@sakoman.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r--meta/recipes-devtools/binutils/binutils-2.34.inc1
-rw-r--r--meta/recipes-devtools/binutils/binutils/0018-Include-members-in-the-variable-table-used-when-reso.patch32
2 files changed, 33 insertions, 0 deletions
diff --git a/meta/recipes-devtools/binutils/binutils-2.34.inc b/meta/recipes-devtools/binutils/binutils-2.34.inc
index 6104bec591..903b9d7b01 100644
--- a/meta/recipes-devtools/binutils/binutils-2.34.inc
+++ b/meta/recipes-devtools/binutils/binutils-2.34.inc
@@ -42,6 +42,7 @@ SRC_URI = "\
42 file://0015-sync-with-OE-libtool-changes.patch \ 42 file://0015-sync-with-OE-libtool-changes.patch \
43 file://0016-Check-for-clang-before-checking-gcc-version.patch \ 43 file://0016-Check-for-clang-before-checking-gcc-version.patch \
44 file://0017-binutils-drop-redundant-program_name-definition-fno-.patch \ 44 file://0017-binutils-drop-redundant-program_name-definition-fno-.patch \
45 file://0018-Include-members-in-the-variable-table-used-when-reso.patch \
45 file://CVE-2020-0551.patch \ 46 file://CVE-2020-0551.patch \
46 file://0001-gas-improve-reproducibility-for-stabs-debugging-data.patch \ 47 file://0001-gas-improve-reproducibility-for-stabs-debugging-data.patch \
47 file://CVE-2020-16592.patch \ 48 file://CVE-2020-16592.patch \
diff --git a/meta/recipes-devtools/binutils/binutils/0018-Include-members-in-the-variable-table-used-when-reso.patch b/meta/recipes-devtools/binutils/binutils/0018-Include-members-in-the-variable-table-used-when-reso.patch
new file mode 100644
index 0000000000..dc1e09d46b
--- /dev/null
+++ b/meta/recipes-devtools/binutils/binutils/0018-Include-members-in-the-variable-table-used-when-reso.patch
@@ -0,0 +1,32 @@
1From bf2252dca8c76e4c1f1c2dbf98dab7ffc9f5e5af Mon Sep 17 00:00:00 2001
2From: Nick Clifton <nickc@redhat.com>
3Date: Sat, 29 Aug 2020 08:03:15 +0100
4Subject: [PATCH] Include members in the variable table used when resolving
5 DW_AT_specification tags.
6
7 PR 26520
8 * dwarf2.c (scan_unit_for_symbols): Add member entries to the
9 variable table.
10
11Upstream-Status: Backport [https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=e6f04d55f681149a69102a73937d0987719c3f16]
12---
13 bfd/dwarf2.c | 3 ++-
14 1 file changed, 2 insertions(+), 1 deletion(-)
15
16diff --git a/bfd/dwarf2.c b/bfd/dwarf2.c
17index dd3568a8532..ef2f6a3c63c 100644
18--- a/bfd/dwarf2.c
19+++ b/bfd/dwarf2.c
20@@ -3248,7 +3248,8 @@ scan_unit_for_symbols (struct comp_unit *unit)
21 else
22 {
23 func = NULL;
24- if (abbrev->tag == DW_TAG_variable)
25+ if (abbrev->tag == DW_TAG_variable
26+ || abbrev->tag == DW_TAG_member)
27 {
28 bfd_size_type amt = sizeof (struct varinfo);
29 var = (struct varinfo *) bfd_zalloc (abfd, amt);
30--
312.34.1
32