DRD: Added a (non-functional so far) file drd_darwin_intercepts.c.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11596
This commit is contained in:
Bart Van Assche 2011-03-06 12:39:12 +00:00
parent a0a44c1d29
commit c5f17ab61b
2 changed files with 35 additions and 0 deletions

View File

@ -127,6 +127,10 @@ VGPRELOAD_DRD_SOURCES_COMMON = \
drd_qtcore_intercepts.c \
drd_strmem_intercepts.c
if VGCONF_OS_IS_DARWIN
VGPRELOAD_DRD_SOURCES_COMMON += drd_darwin_intercepts.c
endif
vgpreload_drd_@VGCONF_ARCH_PRI@_@VGCONF_OS@_so_SOURCES = \
$(VGPRELOAD_DRD_SOURCES_COMMON)
vgpreload_drd_@VGCONF_ARCH_PRI@_@VGCONF_OS@_so_CPPFLAGS = \

View File

@ -0,0 +1,31 @@
#include <stdint.h>
#include <stdio.h>
#include "valgrind.h"
#include "pub_tool_redir.h"
#if 0
/*
* On Mac OS X shared library functions are lazily bound. The binding mechanism
* uses self-modifying code. Intercept dyld_stub_binder() in order to suppress
* the data accesses involved in this mechanism.
*
* See also the Mac OS X ABI Dynamic Loader Reference (http://developer.apple.com/library/mac/#documentation/DeveloperTools/Reference/MachOReference/Reference/reference.html#//apple_ref/c/func/dyld_stub_binding_helper).
* See also the dyld_stub_binder() source code (http://www.opensource.apple.com/source/dyld/dyld-132.13/src/dyld_stub_binder.s).
*/
void* VG_WRAP_FUNCTION_ZZ(libSystemZdZaZddylib, dyldZustubZubinder)
(void** imageLoaderCache, uintptr_t lazyBindingInfoOffset);
void* VG_WRAP_FUNCTION_ZZ(libSystemZdZaZddylib, dyldZustubZubinder)
(void** imageLoaderCache, uintptr_t lazyBindingInfoOffset)
{
void* res;
OrigFn fn;
VALGRIND_GET_ORIG_FN(fn);
CALL_FN_W_WW(res, fn, imageLoaderCache, lazyBindingInfoOffset);
return res;
}
#endif