|
From: Philippe W. <phi...@so...> - 2017-09-23 11:52:08
|
https://sourceware.org/git/gitweb.cgi?p=valgrind.git;h=8259193f1cfd8cfb3b5a3362261cf5c7f00f3495 commit 8259193f1cfd8cfb3b5a3362261cf5c7f00f3495 Author: Philippe Waroquiers <phi...@sk...> Date: Sat Sep 23 13:49:05 2017 +0200 On ppc, add generic_start_main.isra.0 as a below main function We can have stacktraces such as: ==41840== by 0x10000927: a1 (deep.c:27) ==41840== by 0x1000096F: main (deep.c:35) ==41840== by 0x4126BEB: generic_start_main.isra.0 (in /usr/lib64/libc-2.17.so) ==41840== by 0x4126E13: __libc_start_main (in /usr/lib64/libc-2.17.so) So, add generic_start_main.isra.0 as a below main function. This fixes the test massif/tests/deep-D Diff: --- coregrind/m_debuginfo/debuginfo.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/coregrind/m_debuginfo/debuginfo.c b/coregrind/m_debuginfo/debuginfo.c index e01f19a..3817ecf 100644 --- a/coregrind/m_debuginfo/debuginfo.c +++ b/coregrind/m_debuginfo/debuginfo.c @@ -1987,6 +1987,9 @@ Vg_FnNameKind VG_(get_fnname_kind) ( const HChar* name ) # if defined(VGO_linux) VG_STREQ("__libc_start_main", name) || // glibc glibness VG_STREQ("generic_start_main", name) || // Yellow Dog doggedness +# if defined(VGA_ppc32) || defined(VGA_ppc64be) || defined(VGA_ppc64le) + VG_STREQ("generic_start_main.isra.0", name) || // ppc glibness +# endif # elif defined(VGO_darwin) // See readmacho.c for an explanation of this. VG_STREQ("start_according_to_valgrind", name) || // Darwin, darling |