Blame valgrind-3.12.0-helgrind-dl_allocate_tls-supp.patch

Mark Wielaard 3d78a7
commit 4b00bfdd73a2cd56a4d9e8de0b249eed2a1b982f
Mark Wielaard 3d78a7
Author: petarj <petarj@a5019735-40e9-0310-863c-91ae7b9d1cf9>
Mark Wielaard 3d78a7
Date:   Fri Feb 3 00:34:52 2017 +0000
Mark Wielaard 3d78a7
Mark Wielaard 3d78a7
    add suppression for helgrind/tests/tc22_exit_w_lock
Mark Wielaard 3d78a7
    
Mark Wielaard 3d78a7
    Function pthread_create indirectly calls function memcpy. Helgrind
Mark Wielaard 3d78a7
    considers that memcpy is not thread safe function. For error reported
Mark Wielaard 3d78a7
    from pthread_create there is the suppression helgrind---_dl_allocate_tls
Mark Wielaard 3d78a7
    in the file glibc-2.34567-NPTL-helgrind.supp.
Mark Wielaard 3d78a7
    Since glibc version 2.23, memcpy is implemented by __mempcpy_inline.
Mark Wielaard 3d78a7
    This causes that call to memcpy from pthread_create is no longer
Mark Wielaard 3d78a7
    recognized by the suppression.
Mark Wielaard 3d78a7
    In test helgrind/tests/tc22_exit_w_lock, pthread_create is called twice,
Mark Wielaard 3d78a7
    and second call reports error, which causes failing of the test.
Mark Wielaard 3d78a7
    This patch adds suppression for glibc 2.23 and greater.
Mark Wielaard 3d78a7
    
Mark Wielaard 3d78a7
    Patch by Tamara Vlahovic.
Mark Wielaard 3d78a7
    
Mark Wielaard 3d78a7
    Related issue #375806.
Mark Wielaard 3d78a7
    
Mark Wielaard 3d78a7
    
Mark Wielaard 3d78a7
    git-svn-id: svn://svn.valgrind.org/valgrind/trunk@16219 a5019735-40e9-0310-863c-91ae7b9d1cf9
Mark Wielaard 3d78a7
Mark Wielaard 3d78a7
diff --git a/glibc-2.34567-NPTL-helgrind.supp b/glibc-2.34567-NPTL-helgrind.supp
Mark Wielaard 3d78a7
index ed105b8..7ebd2c4 100644
Mark Wielaard 3d78a7
--- a/glibc-2.34567-NPTL-helgrind.supp
Mark Wielaard 3d78a7
+++ b/glibc-2.34567-NPTL-helgrind.supp
Mark Wielaard 3d78a7
@@ -267,6 +267,18 @@
Mark Wielaard 3d78a7
    fun:pthread_create@*
Mark Wielaard 3d78a7
 }
Mark Wielaard 3d78a7
 
Mark Wielaard 3d78a7
+{
Mark Wielaard 3d78a7
+   helgrind---_dl_allocate_tls2
Mark Wielaard 3d78a7
+   Helgrind:Race
Mark Wielaard 3d78a7
+   fun:memcpy
Mark Wielaard 3d78a7
+   fun:__mempcpy_inline
Mark Wielaard 3d78a7
+   fun:_dl_allocate_tls_init
Mark Wielaard 3d78a7
+   ...
Mark Wielaard 3d78a7
+   fun:pthread_create@@GLIBC_2.2*
Mark Wielaard 3d78a7
+   fun:pthread_create_WRK
Mark Wielaard 3d78a7
+   fun:pthread_create@*
Mark Wielaard 3d78a7
+}
Mark Wielaard 3d78a7
+
Mark Wielaard 3d78a7
 ####################################################
Mark Wielaard 3d78a7
 # To do with GNU libgomp
Mark Wielaard 3d78a7
 #