Alexander Graf <ag...@suse.de> writes: > On 30.10.2011, at 13:07, Stefan Weil wrote: > >> Valgrind is a tool which can automatically detect many kinds of bugs. >> >> Running QEMU on Valgrind with x86_64 hosts was not possible because >> Valgrind aborts when memalign is called with an alignment larger than >> 1 MiB. QEMU normally uses 2 MiB on Linux x86_64. >> >> Now the alignment is reduced to the page size when QEMU is running on >> Valgrind. >> >> valgrind.h is a copy from Valgrind svn trunk r12226 with trailing >> whitespace stripped but otherwise unmodified, so it still raises lots >> of errors when checked with scripts/checkpatch.pl. > > Can't we just require valgrind header files to be around when kvm is enabled? > I would rather not copy code from other projects. Alternatively you could > take the header and shrink it down to maybe 5 lines of inline asm code that > would be a lot more readable :). You're #ifdef'ing on x86_64 already anyways. > >> >> It is included here to avoid a dependency on Valgrind.
Our usual way to avoid a hard dependency on something we want is to detect it in configure, then do something like #ifdef CONFIG_VALGRIND #include "valgrind.h" #else #define RUNNING_ON_VALGRIND 0 #endif [...]