AMDGPU/RelocVisitor: Handle R_AMDGPU_ABS64

Test is in the separate patch.

Differential Revision: https://reviews.llvm.org/D30027

llvm-svn: 297604
This commit is contained in:
Konstantin Zhuravlyov 2017-03-13 06:03:11 +00:00
parent 7746565754
commit 1867a87c3d
1 changed files with 7 additions and 0 deletions

View File

@ -155,6 +155,8 @@ private:
switch (RelocType) {
case llvm::ELF::R_AMDGPU_ABS32:
return visitELF_AMDGPU_ABS32(R, Value);
case llvm::ELF::R_AMDGPU_ABS64:
return visitELF_AMDGPU_ABS64(R, Value);
default:
HasError = true;
return RelocToApply();
@ -450,6 +452,11 @@ private:
return RelocToApply(Value + Addend, 4);
}
RelocToApply visitELF_AMDGPU_ABS64(RelocationRef R, uint64_t Value) {
int64_t Addend = getELFAddend(R);
return RelocToApply(Value + Addend, 8);
}
/// I386 COFF
RelocToApply visitCOFF_I386_SECREL(RelocationRef R, uint64_t Value) {
return RelocToApply(static_cast<uint32_t>(Value), /*Width=*/4);