mirror of
https://github.com/NationalSecurityAgency/ghidra.git
synced 2025-10-05 10:49:34 +02:00
GP-3829: Included override of method to validate addressspace in ProgramAddressFactory to include Register spaces in Trace
This commit is contained in:
parent
c072972153
commit
7d3891ac0b
2 changed files with 12 additions and 2 deletions
|
@ -34,6 +34,12 @@ public class TraceAddressFactory extends ProgramAddressFactory {
|
||||||
!originalSpace.isOverlaySpace();
|
!originalSpace.isOverlaySpace();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected boolean assignUniqueID(AddressSpace originalSpace) {
|
||||||
|
return super.assignUniqueID(originalSpace) ||
|
||||||
|
originalSpace.getType() == AddressSpace.TYPE_REGISTER;
|
||||||
|
}
|
||||||
|
|
||||||
@Override // for peer access
|
@Override // for peer access
|
||||||
protected OverlayAddressSpace addOverlayAddressSpace(String name, boolean preserveName,
|
protected OverlayAddressSpace addOverlayAddressSpace(String name, boolean preserveName,
|
||||||
AddressSpace originalSpace, long minOffset, long maxOffset) {
|
AddressSpace originalSpace, long minOffset, long maxOffset) {
|
||||||
|
|
|
@ -112,6 +112,11 @@ public class ProgramAddressFactory extends DefaultAddressFactory {
|
||||||
return originalSpace.isMemorySpace() && !originalSpace.isOverlaySpace();
|
return originalSpace.isMemorySpace() && !originalSpace.isOverlaySpace();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
protected boolean assignUniqueID(AddressSpace originalSpace) {
|
||||||
|
return originalSpace.getType() == AddressSpace.TYPE_RAM ||
|
||||||
|
originalSpace.getType() == AddressSpace.TYPE_OTHER;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Create a new OverlayAddressSpace based upon the given overlay blockName and base AddressSpace
|
* Create a new OverlayAddressSpace based upon the given overlay blockName and base AddressSpace
|
||||||
*
|
*
|
||||||
|
@ -149,8 +154,7 @@ public class ProgramAddressFactory extends DefaultAddressFactory {
|
||||||
}
|
}
|
||||||
|
|
||||||
int unique = 0;
|
int unique = 0;
|
||||||
if (originalSpace.getType() == AddressSpace.TYPE_RAM ||
|
if (assignUniqueID(originalSpace)) {
|
||||||
originalSpace.getType() == AddressSpace.TYPE_OTHER) {
|
|
||||||
unique = getNextUniqueID();
|
unique = getNextUniqueID();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue