|
From: Paolo P. <ppi...@cs...> - 2013-09-11 15:59:32
|
Perhaps I did not understanding the nature of valgrind multiplatform support, so my previous questions were somewhat unclear. Allow me to start from a more root question: Is a given arch/OS build of valgrind only capable of running guest applications that target that same exact arch/OS? When fiddling around with --enable-only* configurations it seems that the x86_64 builds don't run i386 applications even if the OS supports running i386 (e.g. x86_64-darwin valgrind libs don't work for i386 apps even though OSX supports i386). Am I correct to say that "dual-arch" configuration just meaning that both x86_64 and i386 core and tools are built and the launcher picks the correct libs to use, but the individual libs are still limited to instrumenting applications that are of the same architecture that they themselves are compiled for? (i.e. you don't get VM-like capabilities of running another arch/OS by intermediate translation to VEXIR and then JIT into the native arch/OS) -Paolo |
|
From: Philippe W. <phi...@sk...> - 2013-09-11 17:38:46
|
On Wed, 2013-09-11 at 11:59 -0400, Paolo Piselli wrote: > Perhaps I did not understanding the nature of valgrind multiplatform > support, so my previous questions were somewhat unclear. Allow me to > start from a more root question: > > Is a given arch/OS build of valgrind only capable of running guest > applications that target that same exact arch/OS? When fiddling around > with --enable-only* configurations it seems that the x86_64 builds don't > run i386 applications even if the OS supports running i386 (e.g. > x86_64-darwin valgrind libs don't work for i386 apps even though OSX > supports i386). Am I correct to say that "dual-arch" configuration just > meaning that both x86_64 and i386 core and tools are built and the > launcher picks the correct libs to use, but the individual libs are > still limited to instrumenting applications that are of the same > architecture that they themselves are compiled for? (i.e. you don't get > VM-like capabilities of running another arch/OS by intermediate > translation to VEXIR and then JIT into the native arch/OS) Yes, a dual-arch means in fact to compile twice (most of) valgrind. In theory, it should be possible to have e.g. a valgrind compiled for x86_64 "valgrind-ing" a i386 executable, but that is not supported. Similarly, in theory, e.g. a i386 valgrind could "valgrind" an arm executable. But none of this is supported. Feasible but quite some work to do. Philippe |