summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/X86/X86MCCodeEmitter.cpp
diff options
context:
space:
mode:
authorRafael Espindola <rafael.espindola@gmail.com>2011-05-19 20:32:34 +0000
committerRafael Espindola <rafael.espindola@gmail.com>2011-05-19 20:32:34 +0000
commit0fc5e89c82687f0e7e0db828dc7e0e48846dfa30 (patch)
tree4363ccf0418a2f5cd297563d0bb45be781d2c5d4 /llvm/lib/Target/X86/X86MCCodeEmitter.cpp
parent9e6a8cca5d8f7b8b0552eec336376f3125658648 (diff)
downloadbcm5719-llvm-0fc5e89c82687f0e7e0db828dc7e0e48846dfa30.tar.gz
bcm5719-llvm-0fc5e89c82687f0e7e0db828dc7e0e48846dfa30.zip
ADD64ri32 sign extends its argument, so we need to use a R_X86_64_32S.
Fixes PR9934. We really need to start tblgening the relocation info :-( llvm-svn: 131669
Diffstat (limited to 'llvm/lib/Target/X86/X86MCCodeEmitter.cpp')
-rw-r--r--llvm/lib/Target/X86/X86MCCodeEmitter.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/llvm/lib/Target/X86/X86MCCodeEmitter.cpp b/llvm/lib/Target/X86/X86MCCodeEmitter.cpp
index f195a67a304..55aceba9f27 100644
--- a/llvm/lib/Target/X86/X86MCCodeEmitter.cpp
+++ b/llvm/lib/Target/X86/X86MCCodeEmitter.cpp
@@ -1015,7 +1015,8 @@ EncodeInstruction(const MCInst &MI, raw_ostream &OS,
} else {
unsigned FixupKind;
// FIXME: Is there a better way to know that we need a signed relocation?
- if (MI.getOpcode() == X86::MOV64ri32 ||
+ if (MI.getOpcode() == X86::ADD64ri32 ||
+ MI.getOpcode() == X86::MOV64ri32 ||
MI.getOpcode() == X86::MOV64mi32 ||
MI.getOpcode() == X86::PUSH64i32)
FixupKind = X86::reloc_signed_4byte;
OpenPOWER on IntegriCloud