aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPetr Hosek <phosek@chromium.org>2017-03-10 22:42:22 +0000
committerPetr Hosek <phosek@chromium.org>2017-03-10 22:42:22 +0000
commitc970acf29f4b06675e4d0e89b3d922304bf3d694 (patch)
tree91c69f6e2ad8cfba5539fa385426fb7e1881d82b
parent0b8f184d12abfd7366389302ce29167bcee265cd (diff)
downloadllvm-c970acf29f4b06675e4d0e89b3d922304bf3d694.zip
llvm-c970acf29f4b06675e4d0e89b3d922304bf3d694.tar.gz
llvm-c970acf29f4b06675e4d0e89b3d922304bf3d694.tar.bz2
[ELF] Handle NONE relocations on AArch64
Differential Revision: https://reviews.llvm.org/D30628 llvm-svn: 297525
-rw-r--r--lld/ELF/Target.cpp2
-rw-r--r--lld/test/ELF/relocation-none-aarch64.test24
2 files changed, 26 insertions, 0 deletions
diff --git a/lld/ELF/Target.cpp b/lld/ELF/Target.cpp
index e5269fc..6b25840 100644
--- a/lld/ELF/Target.cpp
+++ b/lld/ELF/Target.cpp
@@ -1320,6 +1320,8 @@ RelExpr AArch64TargetInfo::getRelExpr(uint32_t Type,
case R_AARCH64_ADR_GOT_PAGE:
case R_AARCH64_TLSIE_ADR_GOTTPREL_PAGE21:
return R_GOT_PAGE_PC;
+ case R_AARCH64_NONE:
+ return R_NONE;
}
}
diff --git a/lld/test/ELF/relocation-none-aarch64.test b/lld/test/ELF/relocation-none-aarch64.test
new file mode 100644
index 0000000..dd67c8c
--- /dev/null
+++ b/lld/test/ELF/relocation-none-aarch64.test
@@ -0,0 +1,24 @@
+# REQUIRES: aarch64
+
+# RUN: yaml2obj %s -o %t.o
+# RUN: ld.lld %t.o -o %t.out
+
+!ELF
+FileHeader:
+ Class: ELFCLASS64
+ Data: ELFDATA2LSB
+ Type: ET_REL
+ Machine: EM_AARCH64
+Sections:
+ - Type: SHT_PROGBITS
+ Name: .text
+ Flags: [ SHF_ALLOC, SHF_EXECINSTR ]
+ Content: "00000000"
+ - Type: SHT_RELA
+ Name: .rela.text
+ Link: .symtab
+ Info: .text
+ Relocations:
+ - Offset: 0
+ Symbol: ''
+ Type: R_AARCH64_NONE