Cachegrind was aborting if it hit a client request.  Now it doesn't.
This fixes #116057, I think.  I added a regtest so it won't regress again.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5072 a5019735-40e9-0310-863c-91ae7b9d1cf9
diff --git a/include/pub_tool_machine.h b/include/pub_tool_machine.h
index 1b24f0f..b569e85 100644
--- a/include/pub_tool_machine.h
+++ b/include/pub_tool_machine.h
@@ -31,19 +31,21 @@
 #ifndef __PUB_TOOL_MACHINE_H
 #define __PUB_TOOL_MACHINE_H
 
-/* VG_STACK_REDZONE_SZB: how many bytes below the stack pointer are validly
- * addressible? */
 #if defined(VGA_x86)
-#  define VG_MIN_INSTR_SZB          1
-#  define VG_MAX_INSTR_SZB         16
-#  define VG_STACK_REDZONE_SZB      0
+#  define VG_MIN_INSTR_SZB          1  // min length of native instruction
+#  define VG_MAX_INSTR_SZB         16  // max length of native instruction
+#  define VG_CLREQ_SZB             18  // length of a client request, may
+                                       //   be larger than VG_MAX_INSTR_SZB
+#  define VG_STACK_REDZONE_SZB      0  // number of addressable bytes below SP
 #elif defined(VGA_amd64)
 #  define VG_MIN_INSTR_SZB          1
 #  define VG_MAX_INSTR_SZB         16
+#  define VG_CLREQ_SZB             18
 #  define VG_STACK_REDZONE_SZB    128
 #elif defined(VGA_ppc32)
 #  define VG_MIN_INSTR_SZB          4
 #  define VG_MAX_INSTR_SZB          4 
+#  define VG_CLREQ_SZB             24
 #  define VG_STACK_REDZONE_SZB      0
 #else
 #  error Unknown arch