From: Dejan Jevtic Date: Fri, 16 Aug 2013 12:11:20 +0000 (+0000) Subject: mips64: Fix a problem with CCall.retty type. X-Git-Tag: svn/VALGRIND_3_9_0^2~51 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=5e61568891de0d3aa2c118976ee9a4491059a816;p=thirdparty%2Fvalgrind.git mips64: Fix a problem with CCall.retty type. Fix a problem when CCall needs to return 64 bits for return type. git-svn-id: svn://svn.valgrind.org/vex/trunk@2744 --- diff --git a/VEX/priv/host_mips_isel.c b/VEX/priv/host_mips_isel.c index 59a3a0c0f5..0078b75b16 100644 --- a/VEX/priv/host_mips_isel.c +++ b/VEX/priv/host_mips_isel.c @@ -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. */