The below wrapping functions must be in code which is part
of the guest code. That can be either directly in the guest
program/libraries, or alternatively in a valgrind preloaded
lib.
The assert below indicates that the address of the provided
wrapping function is not a valid guest address (because
it will be a piece of code part of valgrind itself).

The best is to follow the framework/structure like
what is done by existing tools.

Philippe

On Mon, 2018-07-30 at 12:13 +0800, shuai xi wrote:
> Hello developers:
> I want to write a tool for valgrind base on memcheck. I use the  '_WRAP_ 
> macros' to wrap malloc in libc, but there show me an error:
> 
> valgrind: m_redir.c:638 (vgPlain_redir_notify_new_DebugInfo): Assertion 
> 'is_plausible_guest_addr(sym_avmas.main)' failed.
> Segmentation fault (core dumped)
> 
> The code i add to 'mc_main.c' is:
> long I_WRAP_SONAME_FNNAME_ZU(libcZdsoZd6,malloc) ( long n )
> {
>    char *  r;
>    OrigFn fn;
>    VALGRIND_GET_ORIG_FN(fn);
>    CALL_FN_W_W(r, fn, n);
>    //cloak_malloc_addr = r;
>    return r;
> }
> 
> (I has already disable the malloc replacement by deleting 
> vgpreload_memcheck-amd64-linux.so.)
> 
> Thanks
> 
> 
> ------------------------------------------------------------------------------
> Check out the vibrant tech community on one of the world's most
> engaging tech sites, Slashdot.org! http://sdm.link/slashdot
> _______________________________________________
> Valgrind-users mailing list
> Valgrind-users@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/valgrind-users

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Valgrind-users mailing list
Valgrind-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/valgrind-users

Reply via email to