On Wed, 2014-12-24 at 16:42 +0200, Yakir Ben Senyur wrote: > Hi, > I moving my code from 32bit to 64bit and the pointers changed from 4 > bytes to 8 bytes. > I try to you valgrind function VALGRIND_DO_CLIENT_REQUEST . > my code send to this function void*. > It failed on cast from 8 bytes of pointer to unsigned int (4 bytes). > my code : > void markAsUnaccessible(void* address, size_t size) > { > VALGRIND3_DISCARD(VALGRIND3_MAKE_NOACCESS(address,size)); > }
It looks like you are having problems because of local redefinitions of valgrind requests. The usual way to do is to just include valgrind.h or memcheck.h or ... and then use the requests defined in these files. E.g. ... char magic_foople_zone[0x1000]; ... (void) VALGRIND_MAKE_MEM_NOACCESS(magic_foople_zone, 0x1000) A.o., the valgrind regression test testing such requests have no special thing to do to compile cleanly in 32 bits or 64 bits. Using the include files provided in valgrind will also work in the (unlikely) case the 'magic' instructions of a client request would change in a newer valgrind version. Philippe ------------------------------------------------------------------------------ Dive into the World of Parallel Programming! The Go Parallel Website, sponsored by Intel and developed in partnership with Slashdot Media, is your hub for all things parallel software development, from weekly thought leadership blogs to news, videos, case studies, tutorials and more. Take a look and join the conversation now. http://goparallel.sourceforge.net _______________________________________________ Valgrind-users mailing list Valgrind-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/valgrind-users