From 3fef117ba5a48ffa2af1e3fb9f99dbc376fd588f Mon Sep 17 00:00:00 2001 From: Lang Hames Date: Fri, 23 Oct 2015 18:46:43 +0000 Subject: [PATCH] [RuntimeDyld][COFF] Fix a think-o in the handling of the IMAGE_REL_AMD64_ADDR64 relocation that was introduced in r250733. llvm-svn: 251135 --- .../RuntimeDyld/Targets/RuntimeDyldCOFFX86_64.h | 2 +- llvm/test/ExecutionEngine/RuntimeDyld/X86/COFF_x86_64.s | 6 ++++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/llvm/lib/ExecutionEngine/RuntimeDyld/Targets/RuntimeDyldCOFFX86_64.h b/llvm/lib/ExecutionEngine/RuntimeDyld/Targets/RuntimeDyldCOFFX86_64.h index adaeae0702ee..167708156dd2 100644 --- a/llvm/lib/ExecutionEngine/RuntimeDyld/Targets/RuntimeDyldCOFFX86_64.h +++ b/llvm/lib/ExecutionEngine/RuntimeDyld/Targets/RuntimeDyldCOFFX86_64.h @@ -96,7 +96,7 @@ public: } case COFF::IMAGE_REL_AMD64_ADDR64: { - writeBytesUnaligned(0, Target, Value + RE.Addend); + writeBytesUnaligned(Value + RE.Addend, Target, 8); break; } diff --git a/llvm/test/ExecutionEngine/RuntimeDyld/X86/COFF_x86_64.s b/llvm/test/ExecutionEngine/RuntimeDyld/X86/COFF_x86_64.s index fc0f3e851473..a865bdbfc4c4 100644 --- a/llvm/test/ExecutionEngine/RuntimeDyld/X86/COFF_x86_64.s +++ b/llvm/test/ExecutionEngine/RuntimeDyld/X86/COFF_x86_64.s @@ -28,6 +28,12 @@ inst1: .Ltmp2: .seh_endproc + .data + .globl x # @x +# rtdyld-check: *{8}x = F +x: + .quad F + # Make sure the JIT doesn't bail out on BSS sections. .bss bss_check: