From 7dd6e04b0afa91b624733134c915725773025bc8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rubens=20Brand=C3=A3o?= Date: Wed, 3 Jul 2024 09:58:12 -0300 Subject: [PATCH] fix SparcV9 compared value The Comparison include one extra `7`, what overflow the 32bits value and is never true. --- Ghidra/Processors/Sparc/data/languages/SparcV9.sinc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Ghidra/Processors/Sparc/data/languages/SparcV9.sinc b/Ghidra/Processors/Sparc/data/languages/SparcV9.sinc index b78bff554c..a2d4ef10c1 100644 --- a/Ghidra/Processors/Sparc/data/languages/SparcV9.sinc +++ b/Ghidra/Processors/Sparc/data/languages/SparcV9.sinc @@ -918,7 +918,7 @@ callreloff: reloc is disp30 [reloc=inst_start+4*disp30;] { export *:$(SIZE) rel denom:$(SIZE) = regorimm & 0xffffffff; RD = numerator s/ denom; zeroflags(RD); - i_vf = (RD s>= 0x80000000) || (RD s<= -0x7ffffffff); + i_vf = (RD s>= 0x80000000) || (RD s<= -0x7fffffff); i_cf = 0; x_vf = 0; x_cf = 0;