[llvm] r271229 - Fix a crash when producing COFF.

Rafael Espindola via llvm-commits llvm-commits at lists.llvm.org
Mon May 30 13:18:59 PDT 2016


Author: rafael
Date: Mon May 30 15:18:53 2016
New Revision: 271229

URL: http://llvm.org/viewvc/llvm-project?rev=271229&view=rev
Log:
Fix a crash when producing COFF.

Added:
    llvm/trunk/test/MC/COFF/relax-reloc.s
Modified:
    llvm/trunk/lib/Target/X86/MCTargetDesc/X86WinCOFFObjectWriter.cpp

Modified: llvm/trunk/lib/Target/X86/MCTargetDesc/X86WinCOFFObjectWriter.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/X86/MCTargetDesc/X86WinCOFFObjectWriter.cpp?rev=271229&r1=271228&r2=271229&view=diff
==============================================================================
--- llvm/trunk/lib/Target/X86/MCTargetDesc/X86WinCOFFObjectWriter.cpp (original)
+++ llvm/trunk/lib/Target/X86/MCTargetDesc/X86WinCOFFObjectWriter.cpp Mon May 30 15:18:53 2016
@@ -53,6 +53,8 @@ unsigned X86WinCOFFObjectWriter::getRelo
     case FK_PCRel_4:
     case X86::reloc_riprel_4byte:
     case X86::reloc_riprel_4byte_movq_load:
+    case X86::reloc_riprel_4byte_relax:
+    case X86::reloc_riprel_4byte_relax_rex:
       return COFF::IMAGE_REL_AMD64_REL32;
     case FK_Data_4:
     case X86::reloc_signed_4byte:

Added: llvm/trunk/test/MC/COFF/relax-reloc.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/MC/COFF/relax-reloc.s?rev=271229&view=auto
==============================================================================
--- llvm/trunk/test/MC/COFF/relax-reloc.s (added)
+++ llvm/trunk/test/MC/COFF/relax-reloc.s Mon May 30 15:18:53 2016
@@ -0,0 +1,6 @@
+// RUN: llvm-mc %s -o %t -filetype=obj -triple=x86_64-pc-win32
+
+// Don't crash trying to create relaxable relocations on COFF.
+
+        add   bar(%rip), %rax
+        call *bar(%rip)




More information about the llvm-commits mailing list