diff options
author | Rafael Espindola <rafael.espindola@gmail.com> | 2010-12-16 22:50:01 +0000 |
---|---|---|
committer | Rafael Espindola <rafael.espindola@gmail.com> | 2010-12-16 22:50:01 +0000 |
commit | 654cc4a81cb93c5342709968d853dc94dcd408b6 (patch) | |
tree | 5f1292ca998714afbbdfe1d4a612c8065d336b80 /llvm/lib | |
parent | a646f39c679b49a13b39ac20d4bcb2fe45025fbe (diff) | |
download | bcm5719-llvm-654cc4a81cb93c5342709968d853dc94dcd408b6.tar.gz bcm5719-llvm-654cc4a81cb93c5342709968d853dc94dcd408b6.zip |
Make pushq produce signed relocations.
llvm-svn: 122005
Diffstat (limited to 'llvm/lib')
-rw-r--r-- | llvm/lib/Target/X86/X86MCCodeEmitter.cpp | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/llvm/lib/Target/X86/X86MCCodeEmitter.cpp b/llvm/lib/Target/X86/X86MCCodeEmitter.cpp index 208a6805e40..e6dc74e65d7 100644 --- a/llvm/lib/Target/X86/X86MCCodeEmitter.cpp +++ b/llvm/lib/Target/X86/X86MCCodeEmitter.cpp @@ -996,7 +996,10 @@ EncodeInstruction(const MCInst &MI, raw_ostream &OS, Fixups); } else { unsigned FixupKind; - if (MI.getOpcode() == X86::MOV64ri32 || MI.getOpcode() == X86::MOV64mi32) + // FIXME: Is there a better way to know that we need a signed relocation? + if (MI.getOpcode() == X86::MOV64ri32 || + MI.getOpcode() == X86::MOV64mi32 || + MI.getOpcode() == X86::PUSH64i32) FixupKind = X86::reloc_signed_4byte; else FixupKind = getImmFixupKind(TSFlags); |