From f5bf8faa662c2c733097c15a2c99d2b6297f36c2 Mon Sep 17 00:00:00 2001 From: Mark Wielaard Date: Jul 21 2021 16:22:35 +0000 Subject: Add valgrind-3.17.0_start.patch --- diff --git a/valgrind-3.17.0_start.patch b/valgrind-3.17.0_start.patch new file mode 100644 index 0000000..3882fb6 --- /dev/null +++ b/valgrind-3.17.0_start.patch @@ -0,0 +1,26 @@ +commit 200b6a5a0ea3e1e154663b0fc575bfe2becf177d +Author: Mark Wielaard +Date: Wed Jul 21 17:55:40 2021 +0200 + + m_debuginfo/debuginfo.c VG_(get_fnname_kind) _start is below main + + With glibc 2.34 we might see the _start symbol as the frame that + called main instead of directly after __libc_start_main or + generic_start_main. + + Fixes memcheck/tests/badjump[2], memcheck/tests/origin4-many, + helgrind/tests/tc04_free_lock, helgrind/tests/tc09_bad_unlock + and helgrind/tests/tc20_verifywrap. + +diff --git a/coregrind/m_debuginfo/debuginfo.c b/coregrind/m_debuginfo/debuginfo.c +index bc2578b37..e2218f266 100644 +--- a/coregrind/m_debuginfo/debuginfo.c ++++ b/coregrind/m_debuginfo/debuginfo.c +@@ -2289,6 +2289,7 @@ Vg_FnNameKind VG_(get_fnname_kind) ( const HChar* name ) + VG_STREQN(18, "__libc_start_main.", name) || // gcc optimization + VG_STREQ("generic_start_main", name) || // Yellow Dog doggedness + VG_STREQN(19, "generic_start_main.", name) || // gcc optimization ++ VG_STREQ("_start", name) || + # elif defined(VGO_darwin) + // See readmacho.c for an explanation of this. + VG_STREQ("start_according_to_valgrind", name) || // Darwin, darling diff --git a/valgrind.spec b/valgrind.spec index 0c10cde..d533581 100644 --- a/valgrind.spec +++ b/valgrind.spec @@ -156,6 +156,10 @@ Patch15: helgrind-and-drd-suppression-libc-and-libpthread.patch # KDE#420906 missing syscall wrapper for clone3 (435) Patch16: valgrind-3.17.0-clone3.patch +# commit 200b6a5a0ea3e1e154663b0fc575bfe2becf177d +# m_debuginfo/debuginfo.c VG_(get_fnname_kind) _start is below main +Patch17: valgrind-3.17.0_start.patch + BuildRequires: make BuildRequires: glibc-devel @@ -311,6 +315,7 @@ touch memcheck/tests/s390x/vistr.stdout.exp %patch14 -p1 %patch15 -p1 %patch16 -p1 +%patch17 -p1 %build # LTO triggers undefined symbols in valgrind. Valgrind has a --enable-lto @@ -536,6 +541,9 @@ fi %endif %changelog +* Wed Jul 21 2021 Mark Wielaard +- Add valgrind-3.17.0_start.patch + * Wed Jul 21 2021 Mark Wielaard - 3.17.0-9 - Add valgrind-3.17.0-clone3.patch