mirror of
https://github.com/RPCSX/llvm.git
synced 2024-11-28 14:10:41 +00:00
A fix for the previous commit: "integer constant is too large for ‘long’ type" error on some 32-bit bots
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148232 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
a66a18505e
commit
9223822b85
@ -183,9 +183,9 @@ void RuntimeDyldELF::resolveX86_64Relocation(StringRef Name,
|
||||
case ELF::R_X86_64_32S: {
|
||||
uint64_t Value = reinterpret_cast<uint64_t>(Addr) + RE.Addend;
|
||||
// FIXME: Handle the possibility of this assertion failing
|
||||
assert((RE.Type == ELF::R_X86_64_32 && !(Value & 0xFFFFFFFF00000000)) ||
|
||||
assert((RE.Type == ELF::R_X86_64_32 && !(Value & 0xFFFFFFFF00000000ULL)) ||
|
||||
(RE.Type == ELF::R_X86_64_32S &&
|
||||
(Value & 0xFFFFFFFF00000000) == 0xFFFFFFFF00000000));
|
||||
(Value & 0xFFFFFFFF00000000ULL) == 0xFFFFFFFF00000000ULL));
|
||||
uint32_t TruncatedAddr = (Value & 0xFFFFFFFF);
|
||||
uint32_t *Target = reinterpret_cast<uint32_t*>(TargetAddr);
|
||||
*Target = TruncatedAddr;
|
||||
|
Loading…
Reference in New Issue
Block a user