mirror of
https://github.com/RPCSX/llvm.git
synced 2024-11-26 05:00:26 +00:00
PowerPC: Fix unimplemented relocation on ppc64
This patch handles the R_PPC64_REL64 relocation type for powerpc64 for mcjit. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@181220 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
81fa2abc85
commit
f51d7e76ae
@ -628,6 +628,11 @@ void RuntimeDyldELF::resolvePPC64Relocation(const SectionEntry &Section,
|
||||
llvm_unreachable("Relocation R_PPC64_REL32 overflow");
|
||||
writeInt32BE(LocalAddress, delta);
|
||||
} break;
|
||||
case ELF::R_PPC64_REL64: {
|
||||
uint64_t FinalAddress = (Section.LoadAddress + Offset);
|
||||
uint64_t Delta = Value - FinalAddress + Addend;
|
||||
writeInt64BE(LocalAddress, Delta);
|
||||
} break;
|
||||
case ELF::R_PPC64_ADDR64 :
|
||||
writeInt64BE(LocalAddress, Value + Addend);
|
||||
break;
|
||||
|
@ -1,5 +1,5 @@
|
||||
; RUN: %lli_mcjit %s
|
||||
; XFAIL: powerpc64, arm, cygwin
|
||||
; XFAIL: arm, cygwin
|
||||
declare i8* @__cxa_allocate_exception(i64)
|
||||
declare void @__cxa_throw(i8*, i8*, i8*)
|
||||
declare i32 @__gxx_personality_v0(...)
|
||||
|
Loading…
Reference in New Issue
Block a user