]> git.ipfire.org Git - thirdparty/valgrind.git/commitdiff
arm32-linux: for the magic-call CALL_FN_* macros, add r12 to the asm
authorJulian Seward <jseward@acm.org>
Wed, 11 Feb 2015 19:46:27 +0000 (19:46 +0000)
committerJulian Seward <jseward@acm.org>
Wed, 11 Feb 2015 19:46:27 +0000 (19:46 +0000)
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.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14929

include/valgrind.h

index aa0620feb8cd5883f12d74e2098cc9834e80ad9c..7689a9f2a04a64aaa44868be710cb8f829ee1426 100644 (file)
@@ -3734,7 +3734,7 @@ typedef
 #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