From: Paul Floyd Date: Sat, 10 Feb 2024 07:19:20 +0000 (+0100) Subject: Bug 471036 - disInstr_AMD64: disInstr miscalculated next %rip on RORX imm8, m32/64... X-Git-Tag: VALGRIND_3_23_0~170 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=dc5316bc70059e4e0e127395e06c71e1d20936e0;p=thirdparty%2Fvalgrind.git Bug 471036 - disInstr_AMD64: disInstr miscalculated next %rip on RORX imm8, m32/64, r32/6 Patch contributed by redoste@redoste.xyz --- diff --git a/NEWS b/NEWS index 4855faf49..c7fe3df93 100644 --- a/NEWS +++ b/NEWS @@ -33,6 +33,7 @@ are not entered into bugzilla tend to get forgotten about or ignored. value" in memchr of macOS 10.12-10.15 460616 disInstr(arm64): unhandled instruction 0x4E819402 (dotprod/ASIMDDP) 466884 Missing writev uninit padding suppression for _XSend +471036 disInstr_AMD64: disInstr miscalculated next %rip on RORX imm8, m32/64, r32/6 475498 Add reallocarray wrapper 476320 Build failure with GCC 476331 clean up generated/distributed filter scripts diff --git a/VEX/priv/guest_amd64_toIR.c b/VEX/priv/guest_amd64_toIR.c index 78d80fe8d..e27d891aa 100644 --- a/VEX/priv/guest_amd64_toIR.c +++ b/VEX/priv/guest_amd64_toIR.c @@ -32176,7 +32176,7 @@ Long dis_ESC_0F3A__VEX ( nameIRegG(size,pfx,rm)); delta += 2; } else { - addr = disAMode ( &alen, vbi, pfx, delta, dis_buf, 0 ); + addr = disAMode ( &alen, vbi, pfx, delta, dis_buf, 1 ); imm8 = getUChar(delta+alen); assign( src, loadLE(ty, mkexpr(addr)) ); DIP("rorx %d,%s,%s\n", imm8, dis_buf, nameIRegG(size,pfx,rm));