Merge pull request #2729 from kugelfuhr/kugelfuhr/fix-2208
When studying a symbol expression use its address size if its smaller than that of the symbol
This commit is contained in:
@@ -610,12 +610,13 @@ static void StudySymbol (ExprNode* Expr, ExprDesc* D)
|
|||||||
DumpExpr (Expr, SymResolve);
|
DumpExpr (Expr, SymResolve);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* If the symbol has an explicit address size, use it. This may
|
/* If the symbol has an explicit address size that is smaller than
|
||||||
** lead to range errors later (maybe even in the linker stage), if
|
** the one found, use it. This may lead to range errors later
|
||||||
** the user lied about the address size, but for now we trust him.
|
** (maybe even in the linker stage) if the user lied about the
|
||||||
|
** address size, but for now we trust him.
|
||||||
*/
|
*/
|
||||||
AddrSize = GetSymAddrSize (Sym);
|
AddrSize = GetSymAddrSize (Sym);
|
||||||
if (AddrSize != ADDR_SIZE_DEFAULT) {
|
if (AddrSize != ADDR_SIZE_DEFAULT && AddrSize < D->AddrSize) {
|
||||||
D->AddrSize = AddrSize;
|
D->AddrSize = AddrSize;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user