Index: binaries/mac_10.6/lib/valgrind/default.supp |
=================================================================== |
--- binaries/mac_10.6/lib/valgrind/default.supp (revision 0) |
+++ binaries/mac_10.6/lib/valgrind/default.supp (revision 0) |
@@ -0,0 +1,887 @@ |
+# This is a generated file, composed of the following suppression rules: |
+# exp-ptrcheck.supp xfree-3.supp xfree-4.supp darwin10-drd.supp darwin10.supp |
+{ |
+ lib-X11-used-old-pointer-after-realloc-1 |
+ exp-ptrcheck:Heap |
+ fun:strlen |
+ obj:/usr/lib*/libX11.so* |
+ obj:/usr/lib*/libX11.so* |
+} |
+{ |
+ lib-X11-used-old-pointer-after-realloc-2 |
+ exp-ptrcheck:Heap |
+ obj:/usr/lib*/libX11.so* |
+ obj:/usr/lib*/libX11.so* |
+} |
+ |
+{ |
+ ld-2.X-invalid-Add32/64-who-knows |
+ exp-ptrcheck:Arith |
+ obj:/*lib*/ld-2.*so* |
+ obj:/*lib*/ld-2.*so* |
+} |
+ |
+{ |
+ ld-2.X possibly applying relocations |
+ exp-ptrcheck:SorG |
+ obj:/*lib*/ld-2.*so* |
+ obj:/*lib*/ld-2.*so* |
+} |
+ |
+# I'm pretty sure this is a false positive caused by the sg_ stuff |
+{ |
+ glibc realpath false positive |
+ exp-ptrcheck:SorG |
+ fun:realpath |
+ fun:* |
+} |
+ |
+{ |
+ If I had to guess, inlined or nameless strlen etc in ld.so |
+ exp-ptrcheck:Heap |
+ obj:/*lib*/ld-2.*so* |
+ obj:/*lib*/ld-2.*so* |
+} |
+ |
+{ |
+ I think this is glibc's ultra optimised getenv doing 2 byte reads |
+ exp-ptrcheck:SorG |
+ fun:getenv |
+} |
+ |
+{ |
+ Occurs on Fedora 7--9? |
+ exp-ptrcheck:Heap |
+ fun:_dl_fini |
+ fun:exit |
+ fun:(below main) |
+} |
+ |
+ |
+##----------------------------------------------------------------------## |
+ |
+# Errors to suppress by default with XFree86 3.3.6) |
+ |
+# Format of this file is: |
+# { |
+# name_of_suppression |
+# tool_name:supp_kind |
+# (optional extra info for some suppression types) |
+# caller0 name, or /name/of/so/file.so |
+# caller1 name, or ditto |
+# (optionally: caller2 name) |
+# (optionally: caller3 name) |
+# } |
+# |
+# For Memcheck, the supp_kinds are: |
+# |
+# Param Value1 Value2 Value4 Value8 Value16 Jump |
+# Free Addr1 Addr2 Addr4 Addr8 Addr16 |
+# Cond (previously known as Value0) |
+# |
+# and the optional extra info is: |
+# if Param: name of system call param |
+ |
+##----------------------------------------------------------------------## |
+ |
+{ |
+ X11-Cond-0 |
+ Memcheck:Cond |
+ obj:*libXt.so.6.0 |
+ obj:*libXt.so.6.0 |
+ obj:*libXt.so.6.0 |
+} |
+{ |
+ X11-Cond-1 |
+ Memcheck:Cond |
+ fun:__rawmemchr |
+ obj:*libXt.so.6.0 |
+ obj:*libXt.so.6.0 |
+} |
+ |
+ |
+# Suppressions for XFree86-3.3.X |
+ |
+{ |
+ X11-Addr4-1 |
+ Memcheck:Addr4 |
+ obj:/usr/X11R6/lib/libX11.so.6.1 |
+ obj:/usr/X11R6/lib/libX11.so.6.1 |
+ obj:/usr/X11R6/lib/libX11.so.6.1 |
+} |
+ |
+{ |
+ X11-Addr4-2 |
+ Memcheck:Addr4 |
+ obj:/usr/X11R6/lib/libX11.so.6.1 |
+ obj:/usr/X11R6/lib/libX11.so.6.1 |
+ obj:/usr/X11R6/lib/libXt.so.6.0 |
+} |
+ |
+{ |
+ X11-Addr4-3 |
+ Memcheck:Addr4 |
+ obj:/usr/X11R6/lib/libXt.so.6.0 |
+ obj:/usr/X11R6/lib/libXt.so.6.0 |
+ obj:/usr/X11R6/lib/libXt.so.6.0 |
+} |
+ |
+{ |
+ X11-Addr4-4 |
+ Memcheck:Addr4 |
+ obj:/usr/X11R6/lib/libX11.so.6.1 |
+ obj:/usr/X11R6/lib/libXt.so.6.0 |
+ obj:/usr/X11R6/lib/libXt.so.6.0 |
+} |
+ |
+{ |
+ X11-Addr4-5 |
+ Memcheck:Addr4 |
+ fun:__rawmemchr |
+ obj:/usr/X11R6/lib/libXt.so.6.0 |
+ obj:/usr/X11R6/lib/libXt.so.6.0 |
+} |
+ |
+{ |
+ X11-Addr4-6 |
+ Memcheck:Addr4 |
+ obj:/usr/X11R6/lib/libXmu.so.6.0 |
+ obj:/usr/X11R6/lib/libXmu.so.6.0 |
+ obj:/usr/X11R6/lib/libXt.so.6.0 |
+} |
+ |
+{ |
+ X11-Addr4-7 |
+ Memcheck:Addr4 |
+ obj:/usr/X11R6/lib/libXt.so.6.0 |
+ obj:/usr/X11R6/lib/libXt.so.6.0 |
+ obj:/usr/X11R6/lib/libXawXpm_posing_as_Xaw.so.6.1 |
+} |
+ |
+{ |
+ X11-Param-1 |
+ Memcheck:Param |
+ write(buf) |
+ fun:__libc_write |
+ obj:/usr/X11R6/lib/libX11.so.6.1 |
+ obj:/usr/X11R6/lib/libX11.so.6.1 |
+} |
+ |
+{ |
+ X11-Addr4-8 |
+ Memcheck:Addr4 |
+ obj:/usr/X11R6/lib/libX11.so.6.1 |
+ obj:/usr/X11R6/lib/libXpm.so.4.11 |
+ obj:/usr/X11R6/lib/libXpm.so.4.11 |
+} |
+ |
+{ |
+ X11-Addr4-8 |
+ Memcheck:Addr4 |
+ obj:/usr/X11R6/lib/libXt.so.6.0 |
+ obj:/usr/X11R6/lib/libXawXpm_posing_as_Xaw.so.6.1 |
+ obj:/usr/X11R6/lib/libXt.so.6.0 |
+} |
+ |
+{ |
+ X11-Addr4-9 |
+ Memcheck:Addr4 |
+ obj:/usr/X11R6/lib/libXaw.so.6.1 |
+ obj:/usr/X11R6/lib/libXt.so.6.0 |
+ obj:/usr/X11R6/lib/libXt.so.6.0 |
+} |
+ |
+{ |
+ X11-Addr4-10 |
+ Memcheck:Addr4 |
+ obj:/usr/X11R6/lib/libXaw.so.6.1 |
+ obj:/usr/X11R6/lib/libXaw.so.6.1 |
+ obj:/usr/X11R6/lib/libXt.so.6.0 |
+} |
+ |
+{ |
+ X11-Addr4-11 |
+ Memcheck:Addr4 |
+ obj:/usr/X11R6/lib/libXt.so.6.0 |
+ obj:/usr/X11R6/lib/libXt.so.6.0 |
+ obj:/usr/X11R6/lib/libXaw.so.6.1 |
+} |
+ |
+ |
+ |
+##----------------------------------------------------------------------## |
+ |
+##----------------------------------------------------------------------## |
+ |
+# Errors to suppress by default with XFree86 4.1.0) |
+ |
+# *** And a bunch of other stuff which is completely unrelated |
+# to X. The default suppressions are a bit of a mess and could do |
+# with a good tidying up. |
+ |
+# Format of this file is: |
+# { |
+# name_of_suppression |
+# tool_name:supp_kind |
+# (optional extra info for some suppression types) |
+# caller0 name, or /name/of/so/file.so |
+# caller1 name, or ditto |
+# (optionally: caller2 name) |
+# (optionally: caller3 name) |
+# } |
+# |
+# For Memcheck, the supp_kinds are: |
+# |
+# Param Value1 Value2 Value4 Value8 Value16 Jump |
+# Free Addr1 Addr2 Addr4 Addr8 Addr16 |
+# Cond (previously known as Value0) |
+# |
+# and the optional extra info is: |
+# if Param: name of system call param |
+ |
+# Resulting from R H 8.0 |
+{ |
+ *libc_write/libX11.so.6.2/*X11TransWrite(Param) |
+ Memcheck:Param |
+ write(buf) |
+ fun:*libc_write |
+ obj:/usr/*lib*/libX11.so* |
+ fun:*X11TransWrite |
+} |
+ |
+{ |
+ libX11.so.6.2/libX11.so.6.2/libX11.so.6.2(Cond) |
+ Memcheck:Cond |
+ obj:/usr/*lib*/libX11.so* |
+ obj:/usr/*lib*/libX11.so* |
+ obj:/usr/*lib*/libX11.so* |
+} |
+ |
+{ |
+ libXt.so.6.2/libXt.so.6.2/libXt.so.6.2(Cond) |
+ Memcheck:Cond |
+ obj:/usr/*lib*/libXt.so* |
+ obj:/usr/*lib*/libXt.so* |
+ obj:/usr/*lib*/libXt.so* |
+} |
+ |
+ |
+{ |
+ libXaw.so.7.0/libXaw.so.7.0/libXaw.so.7.0(Cond) |
+ Memcheck:Cond |
+ obj:/usr/*lib*/libXaw.so* |
+ obj:/usr/*lib*/libXaw.so* |
+ obj:/usr/*lib*/libXaw.so* |
+} |
+ |
+{ |
+ libXmu.so.6.2/libXmu.so.6.2/libXmu.so.6.2(Cond) |
+ Memcheck:Cond |
+ obj:/usr/*lib*/libXmu.so* |
+ obj:/usr/*lib*/libXmu.so* |
+ obj:/usr/*lib*/libXmu.so* |
+} |
+ |
+{ |
+ libXt.so.6.0/libXt.so.6.0/libXaw.so.7.0(Cond) |
+ Memcheck:Cond |
+ obj:/usr/*lib*/libXt.so* |
+ obj:/usr/*lib*/libXt.so* |
+ obj:/usr/*lib*/libXaw.so* |
+} |
+ |
+{ |
+ libXaw.so.7.0/libXaw.so.7.0/libXt.so.6.0(Value4) |
+ Memcheck:Value4 |
+ obj:/usr/*lib*/libXaw.so* |
+ obj:/usr/*lib*/libXaw.so* |
+ obj:/usr/*lib*/libXt.so* |
+} |
+ |
+{ |
+ libXaw.so.7.0/libXaw.so.7.0/libXt.so.6.0(Cond) |
+ Memcheck:Cond |
+ obj:/usr/*lib*/libXaw.so* |
+ obj:/usr/*lib*/libXaw.so* |
+ obj:/usr/*lib*/libXt.so* |
+} |
+ |
+{ |
+ libX11.so.6.2/libX11.so.6.2/libXaw.so.7.0(Cond) |
+ Memcheck:Cond |
+ obj:/usr/*lib*/libX11.so* |
+ obj:/usr/*lib*/libX11.so* |
+ obj:/usr/*lib*/libXaw.so* |
+} |
+ |
+{ |
+ libX11.so.6.2/libX11.so.6.2/libXaw.so.7.0(Addr4) |
+ Memcheck:Addr4 |
+ obj:/usr/*lib*/libX11.so* |
+ obj:/usr/*lib*/libX11.so* |
+ obj:/usr/*lib*/libXaw.so* |
+} |
+ |
+{ |
+ libX11.so.6.2/libXaw.so.7.0/libXaw.so.7.0(Cond) |
+ Memcheck:Cond |
+ obj:/usr/*lib*/libX11.so* |
+ obj:/usr/*lib*/libXaw.so* |
+ obj:/usr/*lib*/libXaw.so* |
+} |
+ |
+{ |
+ libXpm.so.4.11/libXpm.so.4.11/libXpm.so.4.11 |
+ Memcheck:Cond |
+ obj:/usr/*lib*/libXpm.so.4.11 |
+ obj:/usr/*lib*/libXpm.so.4.11 |
+ obj:/usr/*lib*/libXpm.so.4.11 |
+} |
+ |
+{ |
+ struct with uninitialized paddings |
+ Memcheck:Param |
+ writev(vector[...]) |
+ fun:*_writev |
+ fun:_X11TransSocketWritev |
+ fun:_X11TransWritev |
+ fun:* |
+} |
+ |
+{ |
+ struct with uninitialized paddings - libxcb |
+ Memcheck:Param |
+ writev(vector[...]) |
+ obj:/lib*/*.so |
+ obj:/usr/lib*/libxcb.so.1.0.0 |
+ obj:/usr/lib*/libxcb.so.1.0.0 |
+ fun:xcb_send_request |
+ fun:_X* |
+} |
+ |
+{ |
+ struct with uninitialized paddings - libxcb |
+ Memcheck:Param |
+ writev(vector[...]) |
+ obj:/lib*/*.so |
+ obj:/usr/lib*/libxcb.so.1.0.0 |
+ obj:/usr/lib*/libxcb.so.1.0.0 |
+ obj:/usr/lib*/libxcb.so.1.0.0 |
+ fun:xcb_* |
+ fun:_X* |
+} |
+ |
+{ |
+ another struct with uninitialized paddings |
+ Memcheck:Param |
+ write(buf) |
+ obj:* |
+ fun:_IceTransSocketWrite |
+ fun:_IceTransWrite |
+ fun:_IceWrite |
+} |
+ |
+{ |
+ Xorg 6.8.1 uninit _write* padding |
+ Memcheck:Param |
+ write(buf) |
+ fun:* |
+ fun:_X11TransWrite |
+ obj:/usr/*lib*/libX11.so* |
+} |
+ |
+{ |
+ Xorg 6.8.1 uninit write padding |
+ Memcheck:Param |
+ write(buf) |
+ fun:write |
+ fun:_X11TransWrite |
+ obj:/usr/*lib*/libX11.so* |
+} |
+ |
+{ |
+ Xorg 6.8.1 ICE uninit __write* padding |
+ Memcheck:Param |
+ write(buf) |
+ obj:* |
+ fun:_IceTransWrite |
+ fun:_IceWrite |
+ fun:IceFlush |
+} |
+ |
+{ |
+ Xorg 6.8.1 writev uninit padding |
+ Memcheck:Param |
+ writev(vector[...]) |
+ fun:writev |
+ obj:/usr/*lib*/libX11.so* |
+ fun:_X11TransWritev |
+ fun:_XSend |
+} |
+ |
+{ |
+ Xorg 6.9.0 writev uninit padding |
+ Memcheck:Param |
+ writev(vector[...]) |
+ fun:do_writev |
+ fun:writev |
+ obj:/usr/*lib*/libX11.so* |
+ fun:_X11TransWritev |
+ fun:_XSend |
+} |
+ |
+{ |
+ X on SUSE11 writev uninit padding |
+ Memcheck:Param |
+ writev(vector[...]) |
+ fun:writev |
+ obj:/usr/lib*/libxcb.so* |
+ obj:/usr/lib*/libxcb.so* |
+} |
+{ |
+ X on SUSE11 writev uninit padding 2 |
+ Memcheck:Param |
+ writev(vector[...]) |
+ obj:/lib*/ld-2.*.so* |
+ obj:/usr/lib*/libxcb.so* |
+ obj:/usr/lib*/libxcb.so* |
+} |
+{ |
+ X on SUSE11 writev uninit padding 3 |
+ Memcheck:Param |
+ writev(vector[...]) |
+ obj:/lib*/ld-2.*.so* |
+ obj:/usr/lib*/libORBit*.so* |
+ obj:/usr/lib*/libORBit*.so* |
+} |
+{ |
+ X on SUSE11 writev uninit padding 4 |
+ Memcheck:Param |
+ writev(vector[...]) |
+ obj:/lib*/libc-2.*.so* |
+ obj:/usr/lib*/libORBit*.so* |
+ obj:/usr/lib*/libORBit*.so* |
+} |
+ |
+ |
+# There's something strange about a % 127 in XftFontOpenInfo |
+# (hashing) which gcc turns into a multiply by 33818641 and |
+# some other guff instead. I don't understand it enough to |
+# know if libXft is broken or if memcheck's value tracking is |
+# inadequate here. Anyway, for the moment, suppress it. |
+# |
+# Use of uninitialised value of size 8 |
+# at 0x71A59F8: XftFontOpenInfo (in /usr/X11R6/lib64/libXft.so.2.1.2) |
+# by 0x71A5F0D: XftFontOpenPattern (in /usr/X11R6/lib64/libXft.so.2.1.2) |
+# by 0x65F166E: loadFontConfigFont(QFontPrivate const*, QFontDef const&, |
+# QFont::Script) (qfontdatabase_x11.cpp:1942) |
+# by 0x65F5DE4: QFontDatabase::findFont(QFont::Script, QFontPrivate const*, |
+# QFontDef const&, int) (qfontdatabase.cpp:996) |
+{ |
+ XftFontOpenInfo-umod-127-strangeness |
+ Memcheck:Value8 |
+ obj:/usr/X11*/lib*/libXft.so* |
+ obj:/usr/X11*/lib*/libXft.so* |
+} |
+{ |
+ XftFontOpenInfo-umod-127-strangeness-a-la-xorg |
+ Memcheck:Value8 |
+ obj:/usr/lib*/libXft.so* |
+ obj:/usr/lib*/libXft.so* |
+} |
+ |
+{ |
+ More X padding stuff |
+ Memcheck:Param |
+ writev(vector[...]) |
+ fun:*writev* |
+ obj:/usr/X11*/lib*/libX11.so* |
+ obj:/usr/X11*/lib*/libX11.so* |
+} |
+ |
+# Inlined strlen in libX11 on Ubuntu 9.10 amd64, unfortunately. |
+# Invalid read of size 4 |
+# at 0x9B5CCE6: ??? (in /usr/lib/libX11.so.6.2.0) |
+# by 0x9B5D011: XGetAtomName (in /usr/lib/libX11.so.6.2.0) |
+# by 0x86407C3: gdk_x11_xatom_to_atom_for_display |
+# (in /usr/lib/libgdk-x11-2.0.so.0.1800.3) |
+# by 0x8636817: ??? (in /usr/lib/libgdk-x11-2.0.so.0.1800.3) |
+# Address 0x1a558e1c is 28 bytes inside a block of size 30 alloc'd |
+# at 0x4C2552D: malloc (vg_replace_malloc.c:236) |
+# by 0x9B642C0: _XUpdateAtomCache (in /usr/lib/libX11.so.6.2.0) |
+# by 0x9B647F1: ??? (in /usr/lib/libX11.so.6.2.0) |
+# by 0x9B81818: ??? (in /usr/lib/libX11.so.6.2.0) |
+{ |
+ libX11.so.6.2.0/libX11.so.6.2.0(Addr4) |
+ Memcheck:Addr4 |
+ obj:/usr/*lib*/libX11.so* |
+ obj:/usr/*lib*/libX11.so* |
+} |
+ |
+##----------------------------------------------------------------------## |
+# Completely inappropriate place, but ... |
+ |
+{ |
+ ifort-9.X-on-i686-1 |
+ Memcheck:Addr4 |
+ fun:unaligned_bigint |
+ fun:hash |
+ fun:for__add_to_lf_table |
+} |
+{ |
+ ifort-9.X-on-amd64-1 |
+ Memcheck:Addr8 |
+ fun:unaligned_bigint |
+ fun:hash |
+ fun:for__add_to_lf_table |
+} |
+ |
+ |
+# zlib-1.2.x uses uninitialised memory in some tricky way which |
+# apparently is harmless (it must amount to a vectorised while-loop, |
+# nothing else makes sense). Fools Memcheck though. See the mentioned |
+# URL for details. |
+{ |
+ zlib-1.2.x trickyness (1a): See http://www.zlib.net/zlib_faq.html#faq36 |
+ Memcheck:Cond |
+ obj:/*lib*/libz.so.1.2.* |
+ ... |
+ obj:/*lib*/libz.so.1.2.* |
+ fun:deflate |
+} |
+{ |
+ zlib-1.2.x trickyness (1b): See http://www.zlib.net/zlib_faq.html#faq36 |
+ Memcheck:Cond |
+ obj:/*lib*/libz.so.1.2.* |
+ fun:deflate |
+} |
+ |
+{ |
+ zlib-1.2.x trickyness (2a): See http://www.zlib.net/zlib_faq.html#faq36 |
+ Memcheck:Value8 |
+ obj:/*lib*/libz.so.1.2.* |
+ ... |
+ obj:/*lib*/libz.so.1.2.* |
+ fun:deflate |
+} |
+{ |
+ zlib-1.2.x trickyness (2b): See http://www.zlib.net/zlib_faq.html#faq36 |
+ Memcheck:Value8 |
+ obj:/*lib*/libz.so.1.2.* |
+ fun:deflate |
+} |
+ |
+{ |
+ zlib-1.2.x trickyness (3a): See http://www.zlib.net/zlib_faq.html#faq36 |
+ Memcheck:Value4 |
+ obj:/*lib*/libz.so.1.2.* |
+ ... |
+ obj:/*lib*/libz.so.1.2.* |
+ fun:deflate |
+} |
+{ |
+ zlib-1.2.x trickyness (3b): See http://www.zlib.net/zlib_faq.html#faq36 |
+ Memcheck:Value4 |
+ obj:/*lib*/libz.so.1.2.* |
+ fun:deflate |
+} |
+ |
+ |
+##----------------------------------------------------------------------## |
+ |
+## More general versions of some of the old X suppressions above |
+{ |
+ Ubuntu804 libXaw.so.7.0/libXaw.so.7.0/libXaw.so.7.0(Cond) |
+ Memcheck:Cond |
+ obj:/usr/*lib*/libXaw*so* |
+ obj:/usr/*lib*/libXaw*so* |
+ obj:/usr/*lib*/libXaw*so* |
+} |
+{ |
+ Ubuntu804 libXaw.so.7.0/libXaw.so.7.0/libXt(Cond) |
+ Memcheck:Cond |
+ obj:/usr/*lib*/libXaw*so* |
+ obj:/usr/*lib*/libXaw*so* |
+ obj:/usr/*lib*/libXt*so* |
+} |
+ |
+{ |
+ Ubuntu804-hack-1 |
+ Memcheck:Overlap |
+ fun:mempcpy |
+ fun:_IO_default_xsputn |
+ obj:/lib*/libc-2.*so* |
+} |
+ |
+# Suppressions for Darwin 10.x / Mac OS X 10.6 Snow Leopard |
+ |
+##----------------------------------------------------------------------## |
+# Memcheck |
+##----------------------------------------------------------------------## |
+ |
+{ |
+ mach_msg_trap-1 |
+ Memcheck:Param |
+ mach_msg(msg.msgh_remote_port) |
+ fun:mach_msg_trap |
+ obj:/System/Library/Frameworks/CoreFoundation* |
+ obj:/System/Library/Frameworks/ApplicationServices* |
+} |
+ |
+{ |
+ mach_msg_trap-2 |
+ Memcheck:Param |
+ mach_msg(msg.msgh_remote_port) |
+ fun:mach_msg_trap |
+ obj:/System/Library/Frameworks/CoreFoundation* |
+ obj:/System/Library/Frameworks/CoreServices* |
+} |
+ |
+{ |
+ mach_msg_trap-3 |
+ Memcheck:Param |
+ mach_msg(msg.msgh_remote_port) |
+ fun:mach_msg_trap |
+ obj:/System/Library/Frameworks/CoreFoundation* |
+ obj:/System/Library/Frameworks/Carbon* |
+} |
+ |
+{ |
+ mach_msg_trap-4 |
+ Memcheck:Param |
+ mach_msg(msg.msgh_remote_port) |
+ fun:mach_msg_trap |
+ obj:/System/Library/Frameworks/CoreFoundation* |
+ obj:/System/Library/Frameworks/CoreFoundation* |
+} |
+ |
+{ |
+ mach_msg_trap-5 |
+ Memcheck:Param |
+ mach_msg(msg.msgh_remote_port) |
+ fun:mach_msg_trap |
+ obj:/System/Library/Frameworks/CoreFoundation* |
+ obj:/System/Library/Frameworks/AppKit* |
+} |
+ |
+{ |
+ macos-Cond-1 |
+ Memcheck:Cond |
+ fun:GetVariationInfoFromName |
+ obj:/System/Library/Frameworks/ApplicationServices* |
+ obj:/System/Library/Frameworks/ApplicationServices* |
+} |
+ |
+{ |
+ macos-Cond-2 |
+ Memcheck:Cond |
+ fun:*PMMutex*Lock* |
+ obj:/System/Library/Frameworks/ApplicationServices* |
+ obj:/System/Library/Frameworks/ApplicationServices* |
+} |
+ |
+{ |
+ macos-Cond-3 |
+ Memcheck:Cond |
+ fun:sseCGSBlendXXXX8888 |
+ obj:/System/Library/Frameworks/ApplicationServices* |
+ obj:/System/Library/Frameworks/ApplicationServices* |
+} |
+ |
+{ |
+ macos-Cond-4 |
+ Memcheck:Cond |
+ fun:*CASettingsStorage*RefreshSettings* |
+ obj:/System/Library/Frameworks/CoreAudio* |
+ obj:/System/Library/Frameworks/CoreAudio* |
+} |
+ |
+{ |
+ macos-Cond-5 |
+ Memcheck:Cond |
+ fun:gle* |
+ obj:/System/Library/Frameworks/OpenGL* |
+ obj:/System/Library/Frameworks/OpenGL* |
+} |
+ |
+{ |
+ macos-Cond-6 |
+ Memcheck:Cond |
+ fun:pthread_rwlock_init$UNIX2003 |
+ fun:main |
+} |
+ |
+# afaict this is legit. Might be caused by setenv("VAR=") |
+# where the value string is empty (not sure) |
+{ |
+ macos-Cond-7 |
+ Memcheck:Cond |
+ fun:__setenv |
+ fun:putenv* |
+} |
+ |
+{ |
+ macos-futimes-1 |
+ Memcheck:Param |
+ futimes(tvp[1]) |
+ fun:futimes |
+ obj:/usr/lib/libSystem* |
+ obj:/usr/lib/libSystem* |
+} |
+ |
+{ |
+ macos-vsyslog-hole |
+ Memcheck:Param |
+ socketcall.sendto(msg) |
+ fun:sendto$NOCANCEL$UNIX2003 |
+ fun:vsyslog |
+} |
+ |
+# Still-reachable memory. |
+ |
+# I chopped this one off at libSystem_initializer, there were more frames. |
+{ |
+ darwin-still-reachable-1 |
+ Memcheck:Leak |
+ fun:calloc |
+ fun:dwarf2_unwind_dyld_add_image_hook |
+ fun:_ZN4dyld19registerAddCallbackEPFvPK11mach_headerlE |
+ fun:_dyld_register_func_for_add_image |
+ fun:__keymgr_initializer |
+ fun:libSystem_initializer |
+} |
+ |
+# I chopped this one off at libSystem_initializer, there were more frames. |
+{ |
+ darwin-still-reachable-2 |
+ Memcheck:Leak |
+ fun:malloc |
+ fun:get_or_create_key_element |
+ fun:_keymgr_get_and_lock_processwide_ptr_2 |
+ fun:dwarf2_unwind_dyld_add_image_hook |
+ fun:_ZN4dyld19registerAddCallbackEPFvPK11mach_headerlE |
+ fun:_dyld_register_func_for_add_image |
+ fun:__keymgr_initializer |
+ fun:libSystem_initializer |
+} |
+ |
+{ |
+ darwin-still-reachable-3 |
+ Memcheck:Leak |
+ fun:malloc |
+ fun:__smakebuf |
+ fun:__swsetup |
+ fun:__sfvwrite |
+ fun:puts |
+} |
+ |
+# Genuine leaks. |
+# See https://bugs.kde.org/show_bug.cgi?id=188572 about this; it's |
+# unavoidable due to BSD setenv() semantics. |
+{ |
+ macos-__setenv-leak-see-our-bug-188572 |
+ Memcheck:Leak |
+ fun:malloc_zone_malloc |
+ fun:__setenv |
+ fun:setenv$UNIX2003 |
+} |
+{ |
+ macos-localeconv-leak |
+ Memcheck:Leak |
+ fun:malloc |
+ fun:localeconv_l |
+ fun:__vfprintf |
+ fun:vsnprintf |
+} |
+ |
+##----------------------------------------------------------------------## |
+# Helgrind |
+##----------------------------------------------------------------------## |
+ |
+# These ones were necessary to give no errors on a tiny non-threaded |
+# program. I don't know if they're real problems or false positives (njn). |
+ |
+# keymgr seems to deliberately do some bogus actions, and if they are bogus, |
+# it passes the error codes back to the caller. |
+{ |
+ __keymgr_initializer lock failed |
+ Helgrind:PthAPIerror |
+ fun:pthread_mutex_lock |
+ fun:_dyld_register_func_for_*_image |
+ fun:__keymgr_initializer |
+ fun:libSystem_initializer |
+} |
+{ |
+ __keymgr_initializer unlock failed |
+ Helgrind:PthAPIerror |
+ fun:pthread_mutex_unlock |
+ fun:_dyld_register_func_for_*_image |
+ fun:__keymgr_initializer |
+ fun:libSystem_initializer |
+} |
+{ |
+ __keymgr_initializer bogus unlock |
+ Helgrind:UnlockBogus |
+ fun:pthread_mutex_unlock |
+ fun:_dyld_register_func_for_*_image |
+ fun:__keymgr_initializer |
+ fun:libSystem_initializer |
+} |
+ |
+# These ones were necessary to give no errors on a tiny threaded program. |
+# I don't know if they're real problems or false positives (njn). |
+ |
+#{ |
+# helgrind-darwinlibc-nuke-everything-in-dyld |
+# Helgrind:Race |
+# obj:/usr/lib/dyld |
+#} |
+ |
+{ |
+ helgrind-darwinlibc-nuke-everything-in-libSystem.B.dylib |
+ Helgrind:Race |
+ obj:/usr/lib/libSystem.B.dylib |
+} |
+ |
+# This would be better as "fun:\?\?\?" but string matching doesn't seem to |
+# allow escaping meta-chars. |
+# |
+# This is very bad .. not only will it hide races in any |
+# un-identified piece of code, the ??? also matches any 3-char |
+# function name. |
+{ |
+ helgrind-darwinlibc-nuke-everything-in-???-(unknown-code) |
+ Helgrind:Race |
+ fun:??? |
+} |
+ |
+{ |
+ helgrind-darwinlibc--mythread_wrapper-*thread*start* |
+ Helgrind:Race |
+ fun:mythread_wrapper |
+ fun:*thread*start* |
+} |
+ |
+{ |
+ helgrind-darwinlibc--pthread_create_WRK-pthread_create |
+ Helgrind:Race |
+ fun:pthread_create_WRK |
+ fun:pthread_create |
+} |
+ |
+ |
+# Thread #9: Bug in libpthread: recursive write lock granted on |
+# mutex/wrlock which does not support recursion |
+# at 0x18696: pthread_cond_wait* (hg_intercepts.c:655) |
+# by 0x2300B8: pthread_rwlock_wrlock$UNIX2003 (in /usr/lib/libSystem.B.dylib) |
+# by 0x18F41: pthread_rwlock_wrlock* (hg_intercepts.c:1177) |
+# |
+# no idea what this is about |
+# |
+{ |
+ helgrind-darwin9--pthread-rwlock-kludgery |
+ Helgrind:Misc |
+ fun:pthread_cond_wait* |
+ fun:pthread_rwlock_*lock* |
+ fun:pthread_rwlock_*lock* |
+} |