[PATCH] D117066: RuntimeDyldELF: Don't abort on R_AARCH64_NONE relocation

Vladislav Khmelevsky via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Jan 13 00:56:57 PST 2022


This revision was landed with ongoing or failed builds.
This revision was automatically updated to reflect the committed changes.
Closed by commit rG6b22c370c823: RuntimeDyldELF: Don't abort on R_AARCH64_NONE relocation (authored by yota9).

Changed prior to commit:
  https://reviews.llvm.org/D117066?vs=399286&id=399576#toc

Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D117066/new/

https://reviews.llvm.org/D117066

Files:
  llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldELF.cpp
  llvm/test/ExecutionEngine/RuntimeDyld/AArch64/ELF_ARM64_NONE.yaml


Index: llvm/test/ExecutionEngine/RuntimeDyld/AArch64/ELF_ARM64_NONE.yaml
===================================================================
--- /dev/null
+++ llvm/test/ExecutionEngine/RuntimeDyld/AArch64/ELF_ARM64_NONE.yaml
@@ -0,0 +1,24 @@
+# RUN: yaml2obj %s -o %t.o
+# RUN: llvm-rtdyld -triple=arm64-none-linux-gnu %t.o -printline
+
+## Verify rtdyld doesn't abort in presence of R_AARCH64_NONE.
+
+!ELF
+FileHeader:
+  Class:           ELFCLASS64
+  Data:            ELFDATA2LSB
+  OSABI:           ELFOSABI_FREEBSD
+  Type:            ET_REL
+  Machine:         EM_AARCH64
+Sections:
+  - Name:            .text
+    Type:            SHT_PROGBITS
+    Flags:           [ SHF_ALLOC ]
+  - Name:            .rela.text
+    Type:            SHT_RELA
+    Link:            .symtab
+    Info:            .text
+    Relocations:
+      - Offset:          0x0000000000000000
+        Type:            R_AARCH64_NONE
+Symbols:
Index: llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldELF.cpp
===================================================================
--- llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldELF.cpp
+++ llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldELF.cpp
@@ -422,6 +422,8 @@
   default:
     report_fatal_error("Relocation type not implemented yet!");
     break;
+  case ELF::R_AARCH64_NONE:
+    break;
   case ELF::R_AARCH64_ABS16: {
     uint64_t Result = Value + Addend;
     assert(static_cast<int64_t>(Result) >= INT16_MIN && Result < UINT16_MAX);


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D117066.399576.patch
Type: text/x-patch
Size: 1476 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20220113/39150a27/attachment.bin>


More information about the llvm-commits mailing list