|
From: <sv...@va...> - 2015-02-11 19:46:35
|
Author: sewardj
Date: Wed Feb 11 19:46:27 2015
New Revision: 14929
Log:
arm32-linux: for the magic-call CALL_FN_* macros, add r12 to the asm
trash list. Not doing so was causing r12 to get corrupted by the
called function, which lead to some very strange failures in Helgrind
on arm32. Fixes #344033.
Modified:
trunk/include/valgrind.h
Modified: trunk/include/valgrind.h
==============================================================================
--- trunk/include/valgrind.h (original)
+++ trunk/include/valgrind.h Wed Feb 11 19:46:27 2015
@@ -3734,7 +3734,7 @@
#if defined(PLAT_arm_linux)
/* These regs are trashed by the hidden call. */
-#define __CALLER_SAVED_REGS "r0", "r1", "r2", "r3","r4","r14"
+#define __CALLER_SAVED_REGS "r0", "r1", "r2", "r3","r4", "r12", "r14"
/* Macros to save and align the stack before making a function
call and restore it afterwards as gcc may not keep the stack
|