aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/ExecutionEngine
diff options
context:
space:
mode:
authorMaksim Panchenko <maks@fb.com>2024-06-18 09:31:52 -0700
committerGitHub <noreply@github.com>2024-06-18 09:31:52 -0700
commitae6f730b2f6f2055b3a658235ddef91624d532f2 (patch)
tree562d0df7a9ccaacaa8c71acfe985de9e47e328af /llvm/lib/ExecutionEngine
parentb99d0b34400176cb9183113b96b245400caaf8d8 (diff)
downloadllvm-ae6f730b2f6f2055b3a658235ddef91624d532f2.zip
llvm-ae6f730b2f6f2055b3a658235ddef91624d532f2.tar.gz
llvm-ae6f730b2f6f2055b3a658235ddef91624d532f2.tar.bz2
[JITLink] Add x86_64::Delta8 edge kind, ELF::R_X86_64_PC8 support (#95869)
Add support for ELF::R_X86_64_PC8 relocation via new x86_64::Delta8 edge kind.
Diffstat (limited to 'llvm/lib/ExecutionEngine')
-rw-r--r--llvm/lib/ExecutionEngine/JITLink/ELF_x86_64.cpp3
-rw-r--r--llvm/lib/ExecutionEngine/JITLink/x86_64.cpp2
2 files changed, 5 insertions, 0 deletions
diff --git a/llvm/lib/ExecutionEngine/JITLink/ELF_x86_64.cpp b/llvm/lib/ExecutionEngine/JITLink/ELF_x86_64.cpp
index 52dd83d..b27a1a1 100644
--- a/llvm/lib/ExecutionEngine/JITLink/ELF_x86_64.cpp
+++ b/llvm/lib/ExecutionEngine/JITLink/ELF_x86_64.cpp
@@ -153,6 +153,9 @@ private:
Edge::Kind Kind = Edge::Invalid;
switch (ELFReloc) {
+ case ELF::R_X86_64_PC8:
+ Kind = x86_64::Delta8;
+ break;
case ELF::R_X86_64_PC32:
case ELF::R_X86_64_GOTPC32:
Kind = x86_64::Delta32;
diff --git a/llvm/lib/ExecutionEngine/JITLink/x86_64.cpp b/llvm/lib/ExecutionEngine/JITLink/x86_64.cpp
index 273ac7b..9f7ece8 100644
--- a/llvm/lib/ExecutionEngine/JITLink/x86_64.cpp
+++ b/llvm/lib/ExecutionEngine/JITLink/x86_64.cpp
@@ -34,6 +34,8 @@ const char *getEdgeKindName(Edge::Kind K) {
return "Delta64";
case Delta32:
return "Delta32";
+ case Delta8:
+ return "Delta8";
case NegDelta64:
return "NegDelta64";
case NegDelta32: