diff --git a/include/llvm/Object/RelocVisitor.h b/include/llvm/Object/RelocVisitor.h index f4cf783d477..5ca245057a5 100644 --- a/include/llvm/Object/RelocVisitor.h +++ b/include/llvm/Object/RelocVisitor.h @@ -288,8 +288,7 @@ private: // AArch64 ELF RelocToApply visitELF_AARCH64_ABS32(RelocationRef R, uint64_t Value) { - int64_t Addend; - getELFRelocationAddend(R, Addend); + int64_t Addend = getAddend64LE(R); int64_t Res = Value + Addend; // Overflow check allows for both signed and unsigned interpretation. @@ -300,8 +299,7 @@ private: } RelocToApply visitELF_AARCH64_ABS64(RelocationRef R, uint64_t Value) { - int64_t Addend; - getELFRelocationAddend(R, Addend); + int64_t Addend = getAddend64LE(R); return RelocToApply(Value + Addend, 8); } @@ -338,15 +336,8 @@ private: } RelocToApply visitELF_ARM_ABS32(RelocationRef R, uint64_t Value) { - int64_t Addend; - getELFRelocationAddend(R, Addend); - int64_t Res = Value + Addend; - - // Overflow check allows for both signed and unsigned interpretation. - if (Res < INT32_MIN || Res > UINT32_MAX) - HasError = true; - - return RelocToApply(static_cast(Res), 4); + int64_t Addend = getAddend32LE(R); + return RelocToApply(Value + Addend, 4); } }; diff --git a/test/tools/llvm-dwarfdump/AArch64/big-endian-dump.ll b/test/tools/llvm-dwarfdump/AArch64/big-endian-dump.ll deleted file mode 100644 index 7c1524e02b5..00000000000 --- a/test/tools/llvm-dwarfdump/AArch64/big-endian-dump.ll +++ /dev/null @@ -1,16 +0,0 @@ -; RUN: llc -O0 -filetype=obj -o %t1 < %s -; RUN: llvm-dwarfdump %t1 - -target datalayout = "E-m:e-i64:64-i128:128-n32:64-S128" -target triple = "aarch64_be-none--eabi" - -!llvm.dbg.cu = !{!0} -!llvm.module.flags = !{!3, !4} -!llvm.ident = !{!5} - -!0 = metadata !{i32 786449, metadata !1, i32 12, metadata !"clang version 3.6.0 ", i1 false, metadata !"", i32 0, metadata !2, metadata !2, metadata !2, metadata !2, metadata !2, metadata !"", i32 1} ; [ DW_TAG_compile_unit ] [/a/empty.c] [DW_LANG_C99] -!1 = metadata !{metadata !"empty.c", metadata !"/a"} -!2 = metadata !{} -!3 = metadata !{i32 2, metadata !"Dwarf Version", i32 4} -!4 = metadata !{i32 2, metadata !"Debug Info Version", i32 1} -!5 = metadata !{metadata !"clang version 3.6.0 "} diff --git a/test/tools/llvm-dwarfdump/AArch64/lit.local.cfg b/test/tools/llvm-dwarfdump/AArch64/lit.local.cfg deleted file mode 100644 index 7184443994b..00000000000 --- a/test/tools/llvm-dwarfdump/AArch64/lit.local.cfg +++ /dev/null @@ -1,2 +0,0 @@ -if not 'AArch64' in config.root.targets: - config.unsupported = True diff --git a/test/tools/llvm-dwarfdump/ARM/big-endian-dump.ll b/test/tools/llvm-dwarfdump/ARM/big-endian-dump.ll deleted file mode 100644 index b7f962d5f16..00000000000 --- a/test/tools/llvm-dwarfdump/ARM/big-endian-dump.ll +++ /dev/null @@ -1,18 +0,0 @@ -; RUN: llc -O0 -filetype=obj -o %t1 < %s -; RUN: llvm-dwarfdump %t1 - -target datalayout = "E-m:e-p:32:32-i64:64-v128:64:128-n32-S64" -target triple = "armebv8-none--eabi" - -!llvm.dbg.cu = !{!0} -!llvm.module.flags = !{!3, !4, !5, !6} -!llvm.ident = !{!7} - -!0 = metadata !{i32 786449, metadata !1, i32 12, metadata !"clang version 3.6.0 ", i1 false, metadata !"", i32 0, metadata !2, metadata !2, metadata !2, metadata !2, metadata !2, metadata !"", i32 1} ; [ DW_TAG_compile_unit ] [/a/empty.c] [DW_LANG_C99] -!1 = metadata !{metadata !"empty.c", metadata !"/a"} -!2 = metadata !{} -!3 = metadata !{i32 2, metadata !"Dwarf Version", i32 4} -!4 = metadata !{i32 2, metadata !"Debug Info Version", i32 1} -!5 = metadata !{i32 1, metadata !"wchar_size", i32 4} -!6 = metadata !{i32 1, metadata !"min_enum_size", i32 4} -!7 = metadata !{metadata !"clang version 3.6.0 "} diff --git a/test/tools/llvm-dwarfdump/ARM/lit.local.cfg b/test/tools/llvm-dwarfdump/ARM/lit.local.cfg deleted file mode 100644 index 236e1d34416..00000000000 --- a/test/tools/llvm-dwarfdump/ARM/lit.local.cfg +++ /dev/null @@ -1,2 +0,0 @@ -if not 'ARM' in config.root.targets: - config.unsupported = True