mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2025-01-25 05:15:58 +00:00
Fix a bug where a 32-bit address with the high bit does not get symbolicated
because the value is incorrectly being signed extended when passed to SymbolLookUp(). llvm-svn: 166234
This commit is contained in:
parent
ac2f32d807
commit
300b29c6b4
@ -525,8 +525,9 @@ static bool tryAddingSymbolicOperand(uint64_t Address, int32_t Value,
|
|||||||
else
|
else
|
||||||
ReferenceType = LLVMDisassembler_ReferenceType_InOut_None;
|
ReferenceType = LLVMDisassembler_ReferenceType_InOut_None;
|
||||||
const char *ReferenceName;
|
const char *ReferenceName;
|
||||||
const char *Name = SymbolLookUp(DisInfo, Value, &ReferenceType, Address,
|
uint64_t SymbolValue = 0x00000000ffffffffULL & Value;
|
||||||
&ReferenceName);
|
const char *Name = SymbolLookUp(DisInfo, SymbolValue, &ReferenceType,
|
||||||
|
Address, &ReferenceName);
|
||||||
if (Name) {
|
if (Name) {
|
||||||
SymbolicOp.AddSymbol.Name = Name;
|
SymbolicOp.AddSymbol.Name = Name;
|
||||||
SymbolicOp.AddSymbol.Present = true;
|
SymbolicOp.AddSymbol.Present = true;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user