Revert "GP-710 Added register symbol processing to ELF PIC30 import processing. Improved code unit operand format to render memory register name when no reference is present."

This reverts commit c545a6fb5a.
This commit is contained in:
ghidra1 2021-02-25 19:04:33 -05:00
parent 2425feefbc
commit ce910a1112
2 changed files with 1 additions and 45 deletions

View File

@ -493,8 +493,7 @@ public class CodeUnitFormat {
InstructionScalarInfo info = new InstructionScalarInfo(representations, primaryRef);
if (info.hasSingleAddressWithNoScalars()) {
int addressIndex = info.getAddressIndex();
return markupAddressAsRegister(inst, primaryRef, representations, addressIndex) ||
markupAddressAsScalar(inst, primaryRef, representations, addressIndex);
return markupAddressAsScalar(inst, primaryRef, representations, addressIndex);
}
if (info.hasNoScalars()) {
@ -565,21 +564,6 @@ public class CodeUnitFormat {
return primaryRef == null;
}
private boolean markupAddressAsRegister(Instruction instr, Reference primaryRef,
List<Object> representationList, int addressIndex) {
if (primaryRef != null) {
return false;
}
// NOTE: although preferrable, access type/size is not considered
Address addr = (Address) representationList.get(addressIndex);
Register reg = instr.getProgram().getRegister(addr);
if (reg != null) {
representationList.set(addressIndex, reg.getName());
return true;
}
return false;
}
private boolean markupAddressAsScalar(Instruction instr, Reference primaryRef,
List<Object> representationList, int addressIndex) {
Address addr = (Address) representationList.get(addressIndex);

View File

@ -22,9 +22,7 @@ import ghidra.app.util.bin.format.elf.*;
import ghidra.program.model.address.Address;
import ghidra.program.model.address.AddressSpace;
import ghidra.program.model.lang.Language;
import ghidra.program.model.lang.Register;
import ghidra.util.exception.CancelledException;
import ghidra.util.exception.NoValueException;
import ghidra.util.task.TaskMonitor;
public class PIC30_ElfExtension extends ElfExtension {
@ -221,32 +219,6 @@ public class PIC30_ElfExtension extends ElfExtension {
return language.getDefaultDataSpace().equals(start.getAddressSpace().getPhysicalSpace());
}
@Override
public Address calculateSymbolAddress(ElfLoadHelper elfLoadHelper, ElfSymbol elfSymbol)
throws NoValueException {
if (elfSymbol.getValue() != 0 || !elfSymbol.isGlobal() ||
elfSymbol.getSectionHeaderIndex() != 0) {
return null;
}
String name = elfSymbol.getNameAsString();
if (name == null) {
return null;
}
if (name.startsWith("_")) {
name = name.substring(1);
}
Register reg = elfLoadHelper.getProgram().getRegister(name);
if (reg != null && !reg.getAddress().isRegisterAddress()) {
return reg.getAddress(); // only consider memory-based registers
}
return null;
}
private static class PIC30FilteredDataInputStream extends FilterInputStream {
// BYTES: <byte> <pad>