From 2ae09f1e9715db52defe758d939744de8e035fc8 Mon Sep 17 00:00:00 2001 From: DistroBaker Date: Sun, 21 Feb 2021 23:01:11 +0000 Subject: [PATCH] Merged update from upstream sources This is an automated DistroBaker update from upstream sources. If you do not know what this is about or would like to opt out, contact the OSCI team. Source: https://src.fedoraproject.org/rpms/valgrind.git#800b3249fc47696998aaecdbd53df492ef67d75b --- valgrind-3.16.1-readdwarf-line.patch | 53 ++++++++++++++++++++++++++++ valgrind.spec | 9 ++++- 2 files changed, 61 insertions(+), 1 deletion(-) create mode 100644 valgrind-3.16.1-readdwarf-line.patch diff --git a/valgrind-3.16.1-readdwarf-line.patch b/valgrind-3.16.1-readdwarf-line.patch new file mode 100644 index 0000000..cfe34a8 --- /dev/null +++ b/valgrind-3.16.1-readdwarf-line.patch @@ -0,0 +1,53 @@ +commit 67363912e9cdba83869a72ff8c4084e7a7e4ab85 +Author: Mark Wielaard +Date: Sun Feb 21 22:45:51 2021 +0100 + + Fix typo in DWARF 5 line table readers + + This typo meant the directory entry was most often zero, which + happened to be sometimes correct anyway (since zero is the compdir). + So for simple testcases it looked correct. But it would be wrong for + compilation units not in the current compdir. Like files compiled with + a relative of absolute path. + + The same typo was in both readdwarf.c (read_dwarf2_lineblock) and + readdwarf3.c (read_filename_table). read_dwarf2_lineblock also had + an extra "dwarf" string in the debug-line output. + + https://bugzilla.redhat.com/show_bug.cgi?id=1927153 + +diff --git a/coregrind/m_debuginfo/readdwarf.c b/coregrind/m_debuginfo/readdwarf.c +index 88d5d99f1..3996623ed 100644 +--- a/coregrind/m_debuginfo/readdwarf.c ++++ b/coregrind/m_debuginfo/readdwarf.c +@@ -683,7 +683,7 @@ void read_dwarf2_lineblock ( struct _DebugInfo* di, + directories_count = step_leb128U(&data); + /* Read the contents of the Directory table. */ + if (di->ddump_line) +- VG_(printf)(" dwarf The Directory Table%s\n", ++ VG_(printf)(" The Directory Table%s\n", + directories_count == 0 ? " is empty." : ":" ); + + for (n = 0; n < directories_count; n++) { +@@ -796,7 +796,7 @@ void read_dwarf2_lineblock ( struct _DebugInfo* di, + if (f == p_ndx) + name = get_line_str (di, ui, &data, form, + debugstr_img, debuglinestr_img); +- else if (n == d_ndx) ++ else if (f == d_ndx) + diridx = get_line_ndx (di, &data, form); + else + data = skip_line_form (di, ui, data, form); +diff --git a/coregrind/m_debuginfo/readdwarf3.c b/coregrind/m_debuginfo/readdwarf3.c +index 82bc8f241..60fc40244 100644 +--- a/coregrind/m_debuginfo/readdwarf3.c ++++ b/coregrind/m_debuginfo/readdwarf3.c +@@ -2323,7 +2323,7 @@ void read_filename_table( /*MOD*/XArray* /* of UInt* */ fndn_ix_Table, + if (f == p_ndx) + str = get_line_str (cc->di, cc->is_dw64, &c, form, + debugstr_img, debuglinestr_img); +- else if (n == d_ndx) ++ else if (f == d_ndx) + dir_xa_ix = get_line_ndx (cc->di, &c, form); + else + skip_line_form (cc->di, cc->is_dw64, &c, form); diff --git a/valgrind.spec b/valgrind.spec index 8afdc29..f1e0dff 100644 --- a/valgrind.spec +++ b/valgrind.spec @@ -3,7 +3,7 @@ Summary: Tool for finding memory management bugs in programs Name: %{?scl_prefix}valgrind Version: 3.16.1 -Release: 18%{?dist} +Release: 19%{?dist} Epoch: 1 License: GPLv2+ URL: http://www.valgrind.org/ @@ -151,6 +151,9 @@ Patch23: valgrind-3.16.0-shmctl.patch # RHBZ#1925786 valgrind appears to only interject readlink on /proc/self/exe Patch24: valgrind-3.16.1-open-proc-self-exe.patch +# RHBZ#1927153 -flto makes valgrind report non-existing paths to source files +Patch25: valgrind-3.16.1-readdwarf-line.patch + BuildRequires: make BuildRequires: glibc-devel @@ -304,6 +307,7 @@ Valgrind User Manual for details. %patch22 -p1 %patch23 -p1 %patch24 -p1 +%patch25 -p1 %build # LTO triggers undefined symbols in valgrind. Valgrind has a --enable-lto @@ -528,6 +532,9 @@ fi %endif %changelog +* Sun Feb 21 2021 Mark Wielaard - 3.16.1-19 +- Add valgrind-3.16.1-readdwarf-line.patch + * Sat Feb 6 2021 Mark Wielaard - 3.16.1-18 - Update valgrind-3.16.1-open-proc-self-exe.patch to handle openat