From 1c57706fbdc7f4ebd866aeade0900f437942f44c Mon Sep 17 00:00:00 2001 From: Paul Floyd Date: Sat, 9 Oct 2021 23:02:28 +0200 Subject: [PATCH] Bug 443314 - In the latest GIT version, Valgrind with "--trace-flags" crashes at "al" register --- NEWS | 2 ++ VEX/priv/guest_amd64_toIR.c | 5 +++-- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/NEWS b/NEWS index d2455d4472..d8addbb203 100644 --- a/NEWS +++ b/NEWS @@ -84,6 +84,8 @@ are not entered into bugzilla tend to get forgotten about or ignored. 443179 Need new test for the lxvx and stxvx instructions on ISA 2.07 and ISA 3.0 systems. 443180 The subnormal test and the ISA 3.0 test generate compiler warnings. +443314 In the latest GIT version, Valgrind with "--trace-flags" crashes at + "al" register To see details of a given bug, visit https://bugs.kde.org/show_bug.cgi?id=XXXXXX diff --git a/VEX/priv/guest_amd64_toIR.c b/VEX/priv/guest_amd64_toIR.c index c7f94b15b5..86fe07fdc5 100644 --- a/VEX/priv/guest_amd64_toIR.c +++ b/VEX/priv/guest_amd64_toIR.c @@ -1188,8 +1188,9 @@ static const HChar* nameIRegRexB ( Int sz, Prefix pfx, UInt lo3bits ) vassert(lo3bits < 8); vassert(IS_VALID_PFX(pfx)); vassert(sz == 8 || sz == 4 || sz == 2 || sz == 1); - return nameIReg( sz, lo3bits | (getRexB(pfx) << 3), - toBool(sz==1 && !haveREX(pfx)) ); + UInt regNo = lo3bits | (getRexB(pfx) << 3); + return nameIReg( sz, regNo, + toBool(sz==1 && !haveREX(pfx) && regNo >= 4 && regNo < 8)); } static IRExpr* getIRegRexB ( Int sz, Prefix pfx, UInt lo3bits ) -- 2.47.2