Skip to content

Commit c499242

Browse files
committed
Fix the register values conflict for v850
8-byte registers (e.g., r0r1) overlapped the values of 4-byte registers which led to a conflict of values when the latter were nulled
1 parent c4b71ff commit c499242

File tree

1 file changed

+9
-2
lines changed

1 file changed

+9
-2
lines changed

src/main/java/ghidraemu/RegisterProvider.java

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -75,12 +75,19 @@ public boolean isCellEditable(int row, int column) {
7575
Boolean isSparc = processorName.equalsIgnoreCase("sparc");
7676
for (Register reg: programRegisters) {
7777
if (!reg.isHidden()) {
78-
if (isV850 || isSparc || reg.isBaseRegister()) {
78+
if (isV850 || isSparc || reg.isBaseRegister()) {
7979
if (reg.isProgramCounter()) {
8080
PC = reg.getName();
8181
regList.add(0, reg.getName());
8282
continue;
83-
}
83+
}
84+
int regSize = reg.getNumBytes();
85+
if (isV850) {
86+
if (regSize <= program.getDefaultPointerSize()) {
87+
regList.add(reg.getName());
88+
}
89+
continue;
90+
}
8491
regList.add(reg.getName());
8592
}
8693
}

0 commit comments

Comments
 (0)