From: Mark Wielaard Date: Wed, 13 Oct 2021 15:05:29 +0000 (+0200) Subject: coregrind: Vg_FnNameKind recognize __libc_start_call_main as below main X-Git-Tag: VALGRIND_3_18_0~1 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=ecc22f252fe081200a3a123efafac0bf3aff53f3;p=thirdparty%2Fvalgrind.git coregrind: Vg_FnNameKind recognize __libc_start_call_main as below main Depending on architecture glibc has various functions that set things up to call "main". glibc 2.34 added __libc_start_call_main (at least on ppc64le and s390x). Other variants recognized are __libc_start_main, generic_start_main and variants of those names. This fixes the massif/tests/deep-D and massif/tests/mmapunmap on ppc64le. --- diff --git a/coregrind/m_debuginfo/debuginfo.c b/coregrind/m_debuginfo/debuginfo.c index 2e5b9b0192..60f9ea195d 100644 --- a/coregrind/m_debuginfo/debuginfo.c +++ b/coregrind/m_debuginfo/debuginfo.c @@ -2293,6 +2293,7 @@ Vg_FnNameKind VG_(get_fnname_kind) ( const HChar* name ) } else if ( # if defined(VGO_linux) VG_STREQ("__libc_start_main", name) || // glibc glibness + VG_STREQ("__libc_start_call_main", name) || // glibc glibness 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