|
From: Mark W. <ma...@so...> - 2020-12-22 13:57:11
|
https://sourceware.org/git/gitweb.cgi?p=valgrind.git;h=42ef710e1928275c98ff72cd82bc5e6b05fe8295 commit 42ef710e1928275c98ff72cd82bc5e6b05fe8295 Author: Mark Wielaard <ma...@kl...> Date: Tue Dec 22 14:51:15 2020 +0100 expr_is_guardable doesn't handle Iex_Qop IRExpr_Qop uses the Iex_Qop tag, which expr_is_guardable didn't handle. https://bugs.kde.org/show_bug.cgi?id=430485 Diff: --- NEWS | 1 + VEX/priv/guest_generic_bb_to_IR.c | 2 ++ 2 files changed, 3 insertions(+) diff --git a/NEWS b/NEWS index 9dae3a2702..c1de304ee7 100644 --- a/NEWS +++ b/NEWS @@ -80,6 +80,7 @@ n-i-bz helgrind: If hg_cli__realloc fails, return NULL. 429864 s390x: C++ atomic test_and_set yields false-positive memcheck diagnostics 430354 ppc stxsibx and stxsihx instructions write too much data +430485 expr_is_guardable doesn't handle Iex_Qop Release 3.16.1 (?? June 2020) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/VEX/priv/guest_generic_bb_to_IR.c b/VEX/priv/guest_generic_bb_to_IR.c index 0cee970e43..1e72ddacd6 100644 --- a/VEX/priv/guest_generic_bb_to_IR.c +++ b/VEX/priv/guest_generic_bb_to_IR.c @@ -422,6 +422,8 @@ static Bool expr_is_guardable ( const IRExpr* e ) return !primopMightTrap(e->Iex.Binop.op); case Iex_Triop: return !primopMightTrap(e->Iex.Triop.details->op); + case Iex_Qop: + return !primopMightTrap(e->Iex.Qop.details->op); case Iex_ITE: case Iex_CCall: case Iex_Get: |