Summary: | glibc-2.34 breaks suppressions against obj:*/lib*/libc-2.*so* | ||
---|---|---|---|
Product: | [Developer tools] valgrind | Reporter: | Mark Wielaard <mark> |
Component: | helgrind | Assignee: | Mark Wielaard <mark> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | rwmacleod |
Priority: | NOR | ||
Version: | unspecified | ||
Target Milestone: | --- | ||
Platform: | Other | ||
OS: | Linux | ||
Latest Commit: | Version Fixed In: | ||
Sentry Crash Report: | |||
Attachments: | Update helgrind and drd suppression libc and libpthread paths |
Description
Mark Wielaard
2021-07-07 10:21:30 UTC
Created attachment 140150 [details]
Update helgrind and drd suppression libc and libpthread paths
Proposed patch which resolves most helgrind/drd testsuite regressions.
commit a1364805fc74b5690f763033c0c9b43f27613572 Author: Mark Wielaard <mark@klomp.org> Date: Fri Jul 16 15:47:08 2021 -0400 Update helgrind and drd suppression libc and libpthread paths in glibc 2.34 glibc 2.34 moved all pthread functions into the main libc library. And it changed the (in memory) path of the main libc library to libc.so.6 (before it was libc-2.xx.so). This breaks various standard suppressions for helgrind and drd. Fix this by doing a configure check for whether we are using glibc 2.34 by checking whether pthread_create is in libc instead of in libpthread. If we are using glibc then define GLIBC_LIBC_PATH and GLIBC_LIBPTHREAD_PATH variables that point to the (regexp) path of the library that contains all libc functions and pthread functions (which will be the same path for glibc 2.34+). Rename glibc-2.34567-NPTL-helgrind.supp to glibc-2.X-helgrind.supp.in and glibc-2.X-drd.supp to glibc-2.X-drd.supp.in and replace the GLIBC_LIBC_PATH and GLIBC_LIBPTHREAD_PATH at configure time. The same could be done for the glibc-2.X.supp.in file, but hasn't yet because it looks like most suppressions in that file are obsolete. |