]> git.ipfire.org Git - thirdparty/valgrind.git/commitdiff
mips64: Fix a problem with CCall.retty type.
authorDejan Jevtic <dejan.jevtic@valgrind.org>
Fri, 16 Aug 2013 12:11:20 +0000 (12:11 +0000)
committerDejan Jevtic <dejan.jevtic@valgrind.org>
Fri, 16 Aug 2013 12:11:20 +0000 (12:11 +0000)
Fix a problem when CCall needs to return 64 bits
for return type.

git-svn-id: svn://svn.valgrind.org/vex/trunk@2744

VEX/priv/host_mips_isel.c

index 59a3a0c0f52e1cc9d07effa61ef5fd7500dbf057..0078b75b169b9092a4f3f101984af5e5c9700386 100644 (file)
@@ -1886,9 +1886,9 @@ static HReg iselWordExpr_R_wrk(ISelEnv * env, IRExpr * e)
       vassert(ty == e->Iex.CCall.retty);
 
       /* be very restrictive for now.  Only 32/64-bit ints allowed for
-         args, and 32 bits for return type.  Don't forget to change
+         args, and 64 and 32 bits for return type.  Don't forget to change
          the RetLoc if more return types are allowed in future. */
-      if (e->Iex.CCall.retty != Ity_I32)
+      if (e->Iex.CCall.retty != Ity_I64 && e->Iex.CCall.retty != Ity_I32)
          goto irreducible;
 
       /* Marshal args, do the call, clear stack. */