GP-2818 Don't attach usepoint to address tied symbols

This commit is contained in:
caheckman 2022-11-09 18:14:09 -05:00
parent 21eb588059
commit 4990101d6e

View file

@ -1067,6 +1067,8 @@ Symbol *Funcdata::linkSymbol(Varnode *vn)
}
else { // Must create a symbol entry
if (!vn->isPersist()) { // Only create local symbol
if (vn->isAddrTied())
usepoint = Address();
entry = localmap->addSymbol("", high->getType(), vn->getAddr(), usepoint);
sym = entry->getSymbol();
vn->setSymbolEntry(entry);
@ -1443,6 +1445,8 @@ void Funcdata::coverVarnodes(SymbolEntry *entry,vector<Varnode *> &list)
int4 diff = (int4)(vn->getOffset() - entry->getAddr().getOffset());
ostringstream s;
s << entry->getSymbol()->getName() << '_' << diff;
if (vn->isAddrTied())
usepoint = Address();
scope->addSymbol(s.str(),vn->getHigh()->getType(),vn->getAddr(),usepoint);
}
}