mirror of
https://github.com/NationalSecurityAgency/ghidra.git
synced 2025-10-04 02:09:44 +02:00
Decompiler support for offset/relative pointers
This commit is contained in:
parent
513c9beb9d
commit
cce187a4c5
18 changed files with 746 additions and 174 deletions
|
@ -723,7 +723,7 @@ int4 Varnode::isConstantExtended(uintb &val) const
|
|||
/// to determine if the Varnode is getting used as an \b int, \b float, or \b pointer, etc.
|
||||
/// Throw an exception if no Datatype can be found at all.
|
||||
/// \return the determined Datatype
|
||||
Datatype *Varnode::getLocalType(void) const
|
||||
Datatype *Varnode::getLocalType(bool &blockup) const
|
||||
|
||||
{
|
||||
Datatype *ct;
|
||||
|
@ -733,8 +733,13 @@ Datatype *Varnode::getLocalType(void) const
|
|||
return type; // Not a partial lock, return the locked type
|
||||
|
||||
ct = (Datatype *)0;
|
||||
if (def != (PcodeOp *)0)
|
||||
if (def != (PcodeOp *)0) {
|
||||
ct = def->outputTypeLocal();
|
||||
if (def->stopsPropagation()) {
|
||||
blockup = true;
|
||||
return ct;
|
||||
}
|
||||
}
|
||||
|
||||
list<PcodeOp *>::const_iterator iter;
|
||||
PcodeOp *op;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue