Use the right relocation type for X86::MOV64ri64i32
authorBruno Cardoso Lopes <bruno.cardoso@gmail.com>
Tue, 14 Jul 2009 21:46:40 +0000 (21:46 +0000)
committerBruno Cardoso Lopes <bruno.cardoso@gmail.com>
Tue, 14 Jul 2009 21:46:40 +0000 (21:46 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75687 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/X86/X86CodeEmitter.cpp

index 30bbc5cc8ee0585097f894e7f752977117c15045..083144984176eb61171271b84287f13c763cd0e3 100644 (file)
@@ -636,6 +636,8 @@ void Emitter<CodeEmitter>::emitInstruction(
       else {
         unsigned rt = Is64BitMode ? X86::reloc_pcrel_word
           : (IsPIC ? X86::reloc_picrel_word : X86::reloc_absolute_word);
+        if (Opcode == X86::MOV64ri64i32)
+          rt = X86::reloc_absolute_word;  // FIXME: add X86II flag?
         // This should not occur on Darwin for relocatable objects.
         if (Opcode == X86::MOV64ri)
           rt = X86::reloc_absolute_dword;  // FIXME: add X86II flag?