diff options
author | philippe <philippe@a5019735-40e9-0310-863c-91ae7b9d1cf9> | 2014-09-02 20:03:34 +0000 |
---|---|---|
committer | philippe <philippe@a5019735-40e9-0310-863c-91ae7b9d1cf9> | 2014-09-02 20:03:34 +0000 |
commit | 7efa165a650219c0065cd60a2644440be664cd5a (patch) | |
tree | b41ba232f99c023ba6c889921dd3d89cf9b765c4 /glibc-2.34567-NPTL-helgrind.supp | |
parent | e4200b5083e7bb1b81cb98de1744a0c0f3663e56 (diff) | |
download | valgrind-7efa165a650219c0065cd60a2644440be664cd5a.tar.gz |
Update helgrind default suppression so that it matches with
both --read-inline-info=yes or =no
Some piece of code in glibc produces an error to be suppressed
with default helgrind supp file.
The stacktrace with inline info is:
==14392== Possible data race during write of size 1 at 0x5BB36A7 by thread #1
==14392== Locks held: none
==14392== at 0x4C2B3B5: mempcpy (vg_replace_strmem.c:1354)
==14392== by 0x40107FD: _dl_allocate_tls_init (dl-tls.c:437)
==14392== by 0x4E3BF0F: get_cached_stack (allocatestack.c:250)
==14392== by 0x4E3BF0F: allocate_stack (allocatestack.c:486)
==14392== by 0x4E3BF0F: pthread_create@@GLIBC_2.2.5 (pthread_create.c:460)
==14392== by 0x4C3039C: pthread_create_WRK (hg_intercepts.c:270)
==14392== by 0x4C304AB: pthread_create@* (hg_intercepts.c:301)
==14392== by 0x400926: main (tc22_exit_w_lock.c:42)
stack trace without inline info:
==5432== at 0x4C2B3B5: mempcpy (vg_replace_strmem.c:1354)
==5432== by 0x40107FD: _dl_allocate_tls_init (dl-tls.c:437)
==5432== by 0x4E3BF0F: pthread_create@@GLIBC_2.2.5 (allocatestack.c:250)
==5432== by 0x4C3039C: pthread_create_WRK (hg_intercepts.c:270)
==5432== by 0x4C304AB: pthread_create@* (hg_intercepts.c:301)
==5432== by 0x400926: main (tc22_exit_w_lock.c:42)
The suppression supposed to match the above is:
{
helgrind---_dl_allocate_tls
Helgrind:Race
fun:mempcpy
fun:_dl_allocate_tls_init
fun:pthread_create@@GLIBC_2.2*
fun:pthread_create_WRK
fun:pthread_create@*
}
This only matches the 2nd stack trace, does not match the one
with inline info.
2 solutions:
* only match the last top 2 fun, i.e. a suppression such as:
{
helgrind---_dl_allocate_tls
Helgrind:Race
fun:mempcpy
fun:_dl_allocate_tls_init
}
Or alternatively use ...
{
helgrind---_dl_allocate_tls
Helgrind:Race
fun:mempcpy
fun:_dl_allocate_tls_init
...
fun:pthread_create@@GLIBC_2.2*
fun:pthread_create_WRK
fun:pthread_create@*
}
As helgrind suppressions are usually precise and/or use ...,
this last approach chosen
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14436 a5019735-40e9-0310-863c-91ae7b9d1cf9
Diffstat (limited to 'glibc-2.34567-NPTL-helgrind.supp')
-rw-r--r-- | glibc-2.34567-NPTL-helgrind.supp | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/glibc-2.34567-NPTL-helgrind.supp b/glibc-2.34567-NPTL-helgrind.supp index d68fedfdf..b61a33955 100644 --- a/glibc-2.34567-NPTL-helgrind.supp +++ b/glibc-2.34567-NPTL-helgrind.supp @@ -249,6 +249,7 @@ Helgrind:Race fun:mempcpy fun:_dl_allocate_tls_init + ... fun:pthread_create@@GLIBC_2.2* fun:pthread_create_WRK fun:pthread_create@* |