mirror of
https://github.com/Zenithsiz/ftmemsim-valgrind.git
synced 2026-02-03 10:05:29 +00:00
* configure.in support
* new supp file darwin11.supp
* comment out many intercepts in mc_replace_strmem.c and
vg_replace_malloc.c that are apparently unnecessary for Darwin
* add minimal handling for the following new syscalls and mach traps:
mach_port_set_context
task_get_exception_ports
getaudit_addr
psynch_mutexwait
psynch_mutexdrop
psynch_cvbroad
psynch_cvsignal
psynch_cvwait
psynch_rw_rdlock
psynch_rw_wrlock
psynch_rw_unlock
psynch_cvclrprepost
* wqthread_hijack on amd64-darwin: deal with
tst->os_state.pthread having an apparently different offset,
which caused an assertion failure
* m_debuginfo: for 32 bit processes on Lion, use the DebugInfoFSM
cleanup added in r12041/12042 to handle apparently new dyld
behaviour, which is to map text areas r-- first and only
vm_protect them later to r-x.
The following cleanups remain to be done
* remove apparently pointless, commented out wrapper macro
invokations in mc_replace_strmem.c, eg
//MEMMOVE(VG_Z_DYLD, memmove)
(or determine that they are still necessary, and uncomment)
* ditto in vg_replace_malloc.c, plus general VGO_darwin cleanups
there
* write proper syscall wrappers for
mach_port_set_context
task_get_exception_ports
getaudit_addr
psynch_mutexwait
psynch_mutexdrop
psynch_cvbroad
psynch_cvsignal
psynch_cvwait
psynch_rw_rdlock
psynch_rw_wrlock
psynch_rw_unlock
psynch_cvclrprepost
These are currently just no-ops and may be causing Memcheck to
report false undef-value errors
* figure out why it doesn't work properly unless built with gcc-4.2 on
Lion.
gcc-4.2 is the "normal" gcc (i686-apple-darwin11-gcc-4.2.1). Plain
gcc is the hybrid gcc-front-end clang-back-end thing
(i686-apple-darwin11-llvm-gcc-4.2). Whereas on Snow Leopard, plain
gcc is the normal gcc.
The symptoms of the failure are that wqthread_hijack in
syswrap-amd64-linux.c hits this /*NOTREACHED*/ vg_assert(0); right
at the end (you need a pretty complex threaded app to trigger this),
which makes me think that either ML_(wqthread_continue_NORETURN) or
call_on_new_stack_0_1 do return, which they are not expected to.
* figure out if some of the uninitialised value errors reported in
system libraries on are caused by Memcheck being confused by LLVM
generated code, as per bug #242137
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12043
123 lines
3.4 KiB
Plaintext
123 lines
3.4 KiB
Plaintext
|
|
# Suppressions for Darwin 11.x / Mac OS X 10.7 Lion
|
|
|
|
##----------------------------------------------------------------------##
|
|
# Memcheck
|
|
##----------------------------------------------------------------------##
|
|
|
|
# Dunno where this is a real bug, or due to borked 10.7-specific syscall
|
|
# wrappers. 64-bit mode; not sure if occurs in 32-bit mode.
|
|
# Anyway, for the tine being:
|
|
#
|
|
# Conditional jump or move depends on uninitialised value(s)
|
|
# at 0x1973E6: __mtx_droplock (in /usr/lib/system/libsystem_c.dylib)
|
|
# by 0x1976AA: pthread_mutex_unlock (in /usr/lib/system/libsystem_c.dylib)
|
|
# by 0x100B3D: unlock_node (in /usr/lib/system/libkeymgr.dylib)
|
|
{
|
|
OSX107:__mtx_droplock
|
|
Memcheck:Cond
|
|
fun:__mtx_droplock
|
|
fun:pthread_mutex_unlock
|
|
fun:unlock_node
|
|
}
|
|
|
|
# Conditional jump or move depends on uninitialised value(s)
|
|
# at 0x2EB883: ??? (in /usr/lib/system/libxpc.dylib)
|
|
# by 0x237C6: ??? (in /usr/lib/libSystem.B.dylib)
|
|
# by 0x8FE1115A: ImageLoaderMachO::doModInitFunctions(ImageLoader::LinkContext const&) (in /usr/lib/dyld)
|
|
{
|
|
<insert_a_suppression_name_here>
|
|
Memcheck:Cond
|
|
obj:/usr/lib/system/libxpc.dylib
|
|
obj:/usr/lib/libSystem.B.dylib
|
|
fun:_ZN16ImageLoaderMachO18doModInitFunctionsERKN11ImageLoader11LinkContextE
|
|
}
|
|
|
|
# ZLib stuff. How come this wasn't necessary in 10.6 ?
|
|
{
|
|
OSX107:zlib-C
|
|
Memcheck:Cond
|
|
obj:/usr/lib/libz.*dylib
|
|
obj:/usr/lib/libz.*dylib
|
|
}
|
|
{
|
|
OSX107:zlib-8
|
|
Memcheck:Value8
|
|
obj:/usr/lib/libz.*dylib
|
|
obj:/usr/lib/libz.*dylib
|
|
}
|
|
|
|
# Really a bug? I don't know.
|
|
# Conditional jump or move depends on uninitialised value(s)
|
|
# at 0x3A322FE: __mtx_droplock (in /usr/lib/system/libsystem_c.dylib)
|
|
# by 0x3A326AA: pthread_mutex_unlock (in /usr/lib/system/libsystem_c.dylib)
|
|
# by 0x26382: load_images (in /usr/lib/libobjc.A.dylib)
|
|
{
|
|
OSX107:blah
|
|
Memcheck:Cond
|
|
fun:__mtx_droplock
|
|
fun:pthread_mutex_unlock
|
|
}
|
|
|
|
{
|
|
OSX107:blah
|
|
Memcheck:Cond
|
|
fun:pthread_mutex_lock
|
|
}
|
|
|
|
|
|
|
|
##########################################################################
|
|
### The ones below are from darwin10.supp (for Snow Leopard). I don't
|
|
### know whether they are still necessary.
|
|
|
|
# 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
|
|
}
|
|
|
|
# From Jesse Ruderman.
|
|
#{
|
|
# Mac OS X 10.6.4. rdar://8145289. "new[]" paired with "delete" in the DesktopServicesPriv framework.
|
|
# Memcheck:Free
|
|
# fun:_ZdlPv
|
|
# fun:_ZN5TChar18RemovePtrReferenceEv
|
|
# }
|
|
|
|
# From Jesse Ruderman.
|
|
#{
|
|
# Mac OS X 10.6.4. rdar://8145318. Uninitialized memory from HIMenuBarView::MeasureAppMenus is used in HIMenuBarView::SetAdjustTextTitleBoundsAtIndex.
|
|
# Memcheck:Cond
|
|
# fun:_ZN13HIMenuBarView31SetAdjustTextTitleBoundsAtIndexEih
|
|
# fun:_ZN13HIMenuBarView15MeasureAppMenusEv
|
|
#}
|
|
|
|
#{
|
|
# TFontFeatures::TFontFeatures(CGFont*) (in CoreText.framework)
|
|
# Memcheck:Cond
|
|
# fun:_ZN13TFontFeaturesC2EP6CGFont
|
|
# fun:_ZNK9TBaseFont12CopyFeaturesEv
|
|
#}
|
|
|
|
# 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
|
|
#}
|
|
|
|
#{
|
|
# libSystem-keymgr-leak-at-exit
|
|
# Memcheck:Leak
|
|
# fun:malloc
|
|
# fun:get_or_create_key_element
|
|
# fun:_keymgr_get_and_lock_processwide_ptr_2
|
|
# fun:__keymgr_initializer
|
|
# fun:libSystem_initializer
|
|
#}
|