Don't call vg_assert inside sync_signalhandler_from_kernel
[valgrind.git] / glibc-2.X-drd.supp.in
bloba75b4421fe46616d50133a964da5554989a9a9bb
1 # IMPORTANT: DO NOT EDIT glibc-2.X-drd.supp, as it is as a generated
2 # file.  Instead edit glibc-2.X-drd.supp.in.
4 # Suppression patterns for ld, the dynamic loader.
7 # Suppress all data races triggered by ld.
9    drd-ld
10    drd:ConflictingAccess
11    obj:*/lib*/ld*.so*
15 # Suppression patterns for libc.
18 # Suppress all data races where the topmost frame is inside libc.so. Although
19 # this could hide some real data races, unfortunately this is the only way to
20 # not report any false positives on stdio functions. The glibc functions
21 # manipulating FILE objects use locking primitives that cannot be intercepted
22 # easily. See also the definitions of _IO_lock_lock() etc. in the file
23 # nptl/sysdeps/pthread/bits/stdio-lock.h in the glibc source tree.
25    drd-libc-stdio
26    drd:ConflictingAccess
27    obj:@GLIBC_LIBC_PATH@
30    drd-libc-thread-cancellation-test
31    drd:ConflictingAccess
32    fun:write
35    drd-libc-random
36    drd:ConflictingAccess
37    fun:random_r
38    fun:random
41    drd-glibc-io-xsputn-mempcpy
42    drd:ConflictingAccess
43    fun:__GI_mempcpy
44    fun:_IO_*xsputn*
45    obj:@GLIBC_LIBC_PATH@ 
49 # Suppression patterns for libstdc++, the implementation of the standard C++
50 # library included with the gcc compiler.
52 # Note: several versions of the libstdc++ library (4.2.2, 4.3.2, 4.4.0, 4.5.0
53 # and their predecessors) contain an implementation of the std::string class
54 # that triggers conflicting memory accesses. See also
55 # http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40518
58 # {
59 #    drd-libstdc++-std::string::string()
60 #    drd:ConflictingAccess
61 #    fun:_ZNSsC1ERKSs
62 # }
65    drd-libstdc++-cxa_guard_release
66    drd:CondErr
67    fun:pthread_cond_broadcast@*
68    fun:__cxa_guard_release
71    drd-libstdc++-std::__ostream_insert()
72    drd:ConflictingAccess
73    fun:_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
74    fun:_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc
77    drd-libstdc++-std::ostream::_M_insert<long>()
78    drd:ConflictingAccess
79    ...
80    fun:_ZNSo9_M_insertIlEERSoT_
83    drd-libstdc++-std::~__shared_count()
84    drd:ConflictingAccess
85    fun:_ZNSt14__shared_countILN9__gnu_cxx12_Lock_policyE2EED1Ev
88    drd-libstdc++-std::thread::~_Impl_base()
89    drd:ConflictingAccess
90    fun:_ZNSt6thread10_Impl_baseD1Ev
93    drd-libstdc++-std::thread::~_Impl()
94    drd:ConflictingAccess
95    fun:_ZNSt6thread5_ImplISt12_Bind_simpleIFZ4mainEUlvE_vEEED1Ev
99 # Suppression patterns for libpthread.
103    drd-libpthread-pthread_create
104    drd:ConflictingAccess
105    ...
106    fun:pthread_create*
109    drd-libpthread-pthread_join
110    drd:ConflictingAccess
111    fun:pthread_join
112    fun:pthread_join
115    drd-libpthread-__deallocate_stack
116    drd:ConflictingAccess
117    ...
118    fun:__deallocate_stack
121    drd-libpthread-__free_stacks
122    drd:ConflictingAccess
123    fun:__free_stacks
126    drd-libpthread-__free_tcb
127    drd:ConflictingAccess
128    ...
129    fun:__free_tcb
132    drd-libpthread-__nptl_deallocate_tsd
133    drd:ConflictingAccess
134    fun:__nptl_deallocate_tsd
137    drd-libpthread-pthread_detach
138    drd:ConflictingAccess
139    fun:pthread_detach
140    fun:pthread_detach
143    drd-libpthread-pthread_once
144    drd:ConflictingAccess
145    fun:pthread_once
148    drd-libpthread-pthread_cancel_init
149    drd:ConflictingAccess
150    fun:pthread_cancel_init
153    drd-libpthread-pthread_cancel
154    drd:ConflictingAccess
155    fun:pthread_cancel
156    fun:pthread_cancel_intercept
159    drd-libpthread-_Unwind_ForcedUnwind
160    drd:ConflictingAccess
161    ...
162    fun:_Unwind_ForcedUnwind
165    drd-libpthread-_Unwind_GetCFA
166    drd:ConflictingAccess
167    fun:_Unwind_GetCFA
170    drd-libpthread-_Unwind_Resume
171    drd:ConflictingAccess
172    ...
173    fun:_Unwind_Resume
176    drd-libpthread-?
177    drd:ConflictingAccess
178    obj:*/lib/libgcc_s.so.1
181    drd-libpthread-nanosleep
182    drd:ConflictingAccess
183    fun:nanosleep
187 # Suppression patterns for libgomp.
190 # Unfortunately many statements in libgomp trigger conflicting accesses. It is
191 # not clear to me which of these are safe and which ones not. See also
192 # http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40362
194    drd-libgomp
195    drd:ConflictingAccess
196    obj:*/lib*/libgomp.so*
200 # Suppression patterns for libX11.
204    drd-libX11-XCreateFontSet
205    drd:CondErr
206    fun:pthread_cond_init*
207    fun:_XReply
208    fun:XListFontsWithInfo
209    obj:/usr/lib*/libX11.so*
210    fun:XCreateOC
211    fun:XCreateFontSet
215 # Suppression patterns for libxcb.
219    drd-libxcb-xcb_wait_for_reply
220    drd:CondErr
221    ...
222    fun:pthread_cond_destroy*
223    fun:xcb_wait_for_reply
227 # Suppression patterns for libglib.
231    drd-libglib-access-g_threads_got_initialized
232    drd:ConflictingAccess
233    ...
234    fun:g_slice_alloc
235    fun:g_ptr_array_sized_new
238    drd-libglib-access-g_threads_got_initialized
239    drd:ConflictingAccess
240    ...
241    fun:_ZN27QEventDispatcherGlibPrivateC1EP13_GMainContext
242    fun:_ZN20QEventDispatcherGlibC1EP7QObject
243    obj:/usr/lib*/libQtCore.so.4.*
244    obj:/usr/lib*/libQtCore.so.4.*
247    drd-libglib-access-g_mem_initialized
248    drd:ConflictingAccess
249    fun:g_malloc0
252    drd-libglib-g_private_get_posix_impl
253    drd:ConflictingAccess
254    fun:g_private_get_posix_impl
257    drd-libglib-g_private_set_posix_impl
258    drd:ConflictingAccess
259    fun:g_private_set_posix_impl
262    drd-libglib-g_get_language_names
263    drd:ConflictingAccess
264    fun:g_slice_free_chain_with_offset
267    drd-libglib-g_main_context_new
268    drd:ConflictingAccess
269    fun:fcntl
270    obj:/usr/lib*/libglib-*.so*
271    fun:g_main_context_new
275 # Suppression patterns for libQtCore.
279    drd-libQtCore-deref-that-calls-QThreadData-destructor
280    drd:ConflictingAccess
281    fun:_ZN11QThreadDataD1Ev
282    obj:/usr/lib*/libQtCore.so.4.*
285    drd-libQtCore-4.0/4.1-Q_GLOBAL_STATIC-connectionList
286    drd:ConflictingAccess
287    obj:/usr/lib*/libQtCore.so.4.*
288    fun:_ZN11QMetaObject8activateEP7QObjectiiPPv
289    fun:_ZN11QMetaObject8activateEP7QObjectPKS_iPPv
292    drd-libQtCore-QObjectPrivate::clearGuards(QObject*)
293    drd:ConflictingAccess
294    fun:_ZN14QReadWriteLock12lockForWriteEv
295    fun:_ZN14QObjectPrivate11clearGuardsEP7QObject
296    fun:_ZN7QObjectD2Ev
299    drd-libQtCore-QObjectPrivate::clearGuards(QObject*)
300    drd:ConflictingAccess
301    fun:_ZN14QReadWriteLock12lockForWriteEv
302    fun:_ZN12QWriteLocker6relockEv
303    fun:_ZN12QWriteLockerC1EP14QReadWriteLock
304    fun:_ZN14QObjectPrivate11clearGuardsEP7QObject
305    fun:_ZN7QObjectD2Ev
306    fun:_ZN24QAbstractEventDispatcherD2Ev
307    fun:_ZN20QEventDispatcherGlibD0Ev
310    drd-libQtCore-QMutexPool::get(void const*)
311    drd:ConflictingAccess
312    fun:_ZN10QMutexPool3getEPKv
315    drd-libQtCore-qt_gettime_is_monotonic()
316    drd:ConflictingAccess
317    fun:_Z23qt_gettime_is_monotonicv
321 # Suppression patterns for libboost.
324 # Suppress the races on boost::once_flag::epoch and on
325 # boost::detail::this_thread_epoch. See also the source file
326 # boost/thread/pthread/once.hpp in the Boost source tree
327 # (https://svn.boost.org/trac/boost/browser/trunk/boost/thread/pthread/once.hpp).
329    drd-libboost-boost::call_once<void (*)()>(boost::once_flag&, void (*)())
330    drd:ConflictingAccess
331    ...
332    fun:_ZN5boost9call_onceIPFvvEEEvRNS_9once_flagET_
335    drd-libboost-boost::detail::get_once_per_thread_epoch()
336    drd:ConflictingAccess
337    fun:_ZN5boost6detail25get_once_per_thread_epochEv
339 # Suppress the race reports on boost::detail::current_thread_tls_key. See also
340 # https://svn.boost.org/trac/boost/ticket/3526 for more information about why
341 # the access pattern of current_thread_tls_key is safe.
343    drd-libboost-boost::detail::get_current_thread_data()
344    drd:ConflictingAccess
345    ...
346    fun:_ZN5boost6detail23get_current_thread_dataEv
349    drd-libboost-boost::detail::set_current_thread_data(boost::detail::thread_data_base*)
350    drd:ConflictingAccess
351    ...
352    fun:_ZN5boost6detail23set_current_thread_dataEPNS0_16thread_data_baseE
356 # Suppression patterrns for posix functions
358    drd-libc-getaddrinfo
359    drd:ConflictingAccess
360    ...
361    fun:getaddrinfo
364 # s390 libdl
366    drd-libdl-_dl_exception_create_format
367    drd:ConflictingAccess
368    fun:memcpy
369    fun:_dl_exception_create_format