mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-12-13 04:30:23 +00:00
MCJIT handle a few more simple x86 relocations for MachO.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148263 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
2dd674fdce
commit
652ca2fe0c
@ -50,8 +50,13 @@ resolveX86_64Relocation(uintptr_t Address, uintptr_t Value, bool isPCRel,
|
||||
switch(Type) {
|
||||
default:
|
||||
llvm_unreachable("Invalid relocation type!");
|
||||
case macho::RIT_X86_64_Signed1:
|
||||
case macho::RIT_X86_64_Signed2:
|
||||
case macho::RIT_X86_64_Signed4:
|
||||
case macho::RIT_X86_64_Signed:
|
||||
case macho::RIT_X86_64_Unsigned:
|
||||
case macho::RIT_X86_64_Branch: {
|
||||
Value += Addend;
|
||||
// Mask in the target value a byte at a time (we don't have an alignment
|
||||
// guarantee for the target address, so this is safest).
|
||||
uint8_t *p = (uint8_t*)Address;
|
||||
@ -61,13 +66,9 @@ resolveX86_64Relocation(uintptr_t Address, uintptr_t Value, bool isPCRel,
|
||||
}
|
||||
return false;
|
||||
}
|
||||
case macho::RIT_X86_64_Signed:
|
||||
case macho::RIT_X86_64_GOTLoad:
|
||||
case macho::RIT_X86_64_GOT:
|
||||
case macho::RIT_X86_64_Subtractor:
|
||||
case macho::RIT_X86_64_Signed1:
|
||||
case macho::RIT_X86_64_Signed2:
|
||||
case macho::RIT_X86_64_Signed4:
|
||||
case macho::RIT_X86_64_TLV:
|
||||
return Error("Relocation type not implemented yet!");
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user