diff options
| author | Rafael Espindola <rafael.espindola@gmail.com> | 2016-07-07 14:00:07 +0000 |
|---|---|---|
| committer | Rafael Espindola <rafael.espindola@gmail.com> | 2016-07-07 14:00:07 +0000 |
| commit | b34cba97b74d57280b22f99ed0f322c30374dd81 (patch) | |
| tree | 14a7455ce665f7740fce4ade59dcca199c0c531e | |
| parent | 17c08dc7013419b792505f0cad9831b59116e1d4 (diff) | |
| download | bcm5719-llvm-b34cba97b74d57280b22f99ed0f322c30374dd81.tar.gz bcm5719-llvm-b34cba97b74d57280b22f99ed0f322c30374dd81.zip | |
Don't crash trying to relax 32 loads on COFF.
Fixes pr28452.
llvm-svn: 274754
| -rw-r--r-- | llvm/lib/Target/X86/MCTargetDesc/X86WinCOFFObjectWriter.cpp | 1 | ||||
| -rw-r--r-- | llvm/test/MC/COFF/relax-reloc.s | 1 |
2 files changed, 2 insertions, 0 deletions
diff --git a/llvm/lib/Target/X86/MCTargetDesc/X86WinCOFFObjectWriter.cpp b/llvm/lib/Target/X86/MCTargetDesc/X86WinCOFFObjectWriter.cpp index 0e955416839..33376b6d1b9 100644 --- a/llvm/lib/Target/X86/MCTargetDesc/X86WinCOFFObjectWriter.cpp +++ b/llvm/lib/Target/X86/MCTargetDesc/X86WinCOFFObjectWriter.cpp @@ -58,6 +58,7 @@ unsigned X86WinCOFFObjectWriter::getRelocType(const MCValue &Target, return COFF::IMAGE_REL_AMD64_REL32; case FK_Data_4: case X86::reloc_signed_4byte: + case X86::reloc_signed_4byte_relax: if (Modifier == MCSymbolRefExpr::VK_COFF_IMGREL32) return COFF::IMAGE_REL_AMD64_ADDR32NB; if (Modifier == MCSymbolRefExpr::VK_SECREL) diff --git a/llvm/test/MC/COFF/relax-reloc.s b/llvm/test/MC/COFF/relax-reloc.s index 21590db4b8d..38e0f0cda57 100644 --- a/llvm/test/MC/COFF/relax-reloc.s +++ b/llvm/test/MC/COFF/relax-reloc.s @@ -2,5 +2,6 @@ // Don't crash trying to create relaxable relocations on COFF. + movl bar(%eax), %ebx add bar(%rip), %rax call *bar(%rip) |

