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