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

Vladislav Khmelevsky via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Jan 12 04:03:03 PST 2022


yota9 updated this revision to Diff 399286.
yota9 added a comment.

Add test


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,29 @@
+# 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:
+  - Name: _main
+    Section: .text
+    Binding: STB_GLOBAL
+    Value: 0
+    Size: 4
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.399286.patch
Type: text/x-patch
Size: 1563 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20220112/b52fd13e/attachment.bin>


More information about the llvm-commits mailing list