[PATCH] D126658: [JITLink][ELF/AARCH64] Implement R_AARCH64_ABS64
Sunho Kim via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Mon May 30 08:28:36 PDT 2022
sunho created this revision.
Herald added subscribers: hiraditya, kristof.beyls.
Herald added a project: All.
sunho requested review of this revision.
Herald added a project: LLVM.
Herald added a subscriber: llvm-commits.
Implement R_AARCH64_ABS64 relocation entry. This relocation type is generated when creating a static function potiner to symbol.
https://reviews.llvm.org/D126658
Files:
llvm/include/llvm/ExecutionEngine/JITLink/ELF_aarch64.h
llvm/lib/ExecutionEngine/JITLink/ELF_aarch64.cpp
Index: llvm/lib/ExecutionEngine/JITLink/ELF_aarch64.cpp
===================================================================
--- llvm/lib/ExecutionEngine/JITLink/ELF_aarch64.cpp
+++ llvm/lib/ExecutionEngine/JITLink/ELF_aarch64.cpp
@@ -65,6 +65,8 @@
return ELF_aarch64_Edges::ELFLdSt64Abs12;
case ELF::R_AARCH64_LDST128_ABS_LO12_NC:
return ELF_aarch64_Edges::ELFLdSt128Abs12;
+ case ELF::R_AARCH64_ABS64:
+ return ELF_aarch64_Edges::ELFAbs64;
}
return make_error<JITLinkError>("Unsupported aarch64 relocation:" +
@@ -189,6 +191,10 @@
Kind = aarch64::PageOffset12;
break;
}
+ case ELFAbs64: {
+ Kind = aarch64::Pointer64;
+ break;
+ }
};
Edge GE(Kind, Offset, *GraphSymbol, Addend);
@@ -264,6 +270,8 @@
return "ELFLdSt64Abs12";
case ELF_aarch64_Edges::ELFLdSt128Abs12:
return "ELFLdSt128Abs12";
+ case ELF_aarch64_Edges::ELFAbs64:
+ return "ELFAbs64";
default:
return getGenericEdgeKindName(static_cast<Edge::Kind>(R));
}
Index: llvm/include/llvm/ExecutionEngine/JITLink/ELF_aarch64.h
===================================================================
--- llvm/include/llvm/ExecutionEngine/JITLink/ELF_aarch64.h
+++ llvm/include/llvm/ExecutionEngine/JITLink/ELF_aarch64.h
@@ -30,6 +30,7 @@
ELFLdSt32Abs12,
ELFLdSt64Abs12,
ELFLdSt128Abs12,
+ ELFAbs64
};
} // namespace ELF_aarch64_Edges
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D126658.432932.patch
Type: text/x-patch
Size: 1412 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20220530/b9713229/attachment.bin>
More information about the llvm-commits
mailing list