mirror of
https://github.com/NationalSecurityAgency/ghidra.git
synced 2025-10-04 18:29:37 +02:00
GP-2818 Don't attach usepoint to address tied symbols
This commit is contained in:
parent
21eb588059
commit
4990101d6e
1 changed files with 4 additions and 0 deletions
|
@ -1067,6 +1067,8 @@ Symbol *Funcdata::linkSymbol(Varnode *vn)
|
||||||
}
|
}
|
||||||
else { // Must create a symbol entry
|
else { // Must create a symbol entry
|
||||||
if (!vn->isPersist()) { // Only create local symbol
|
if (!vn->isPersist()) { // Only create local symbol
|
||||||
|
if (vn->isAddrTied())
|
||||||
|
usepoint = Address();
|
||||||
entry = localmap->addSymbol("", high->getType(), vn->getAddr(), usepoint);
|
entry = localmap->addSymbol("", high->getType(), vn->getAddr(), usepoint);
|
||||||
sym = entry->getSymbol();
|
sym = entry->getSymbol();
|
||||||
vn->setSymbolEntry(entry);
|
vn->setSymbolEntry(entry);
|
||||||
|
@ -1443,6 +1445,8 @@ void Funcdata::coverVarnodes(SymbolEntry *entry,vector<Varnode *> &list)
|
||||||
int4 diff = (int4)(vn->getOffset() - entry->getAddr().getOffset());
|
int4 diff = (int4)(vn->getOffset() - entry->getAddr().getOffset());
|
||||||
ostringstream s;
|
ostringstream s;
|
||||||
s << entry->getSymbol()->getName() << '_' << diff;
|
s << entry->getSymbol()->getName() << '_' << diff;
|
||||||
|
if (vn->isAddrTied())
|
||||||
|
usepoint = Address();
|
||||||
scope->addSymbol(s.str(),vn->getHigh()->getType(),vn->getAddr(),usepoint);
|
scope->addSymbol(s.str(),vn->getHigh()->getType(),vn->getAddr(),usepoint);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue