1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-19 11:02:59 +02:00

[Mips] Handle one byte unsupported relocations

Fail gracefully instead of crashing upon encountering
this type of relocation.

Differential revision: https://reviews.llvm.org/D41857

llvm-svn: 322266
This commit is contained in:
Stefan Maksimovic 2018-01-11 10:07:47 +00:00
parent e2057ac4a6
commit e61ac366bf
2 changed files with 15 additions and 0 deletions

View File

@ -225,6 +225,8 @@ unsigned MipsELFObjectWriter::getRelocType(MCContext &Ctx,
switch (Kind) {
case Mips::fixup_Mips_NONE:
return ELF::R_MIPS_NONE;
case FK_Data_1:
report_fatal_error("MIPS does not support one byte relocations");
case Mips::fixup_Mips_16:
case FK_Data_2:
return IsPCRel ? ELF::R_MIPS_PC16 : ELF::R_MIPS_16;

View File

@ -0,0 +1,13 @@
# RUN: not llvm-mc -triple mips-unknown-linux -filetype=obj %s 2>%t
# RUN: FileCheck %s < %t
# Check that we emit an error for unsupported relocations instead of crashing.
.globl x
.data
foo:
.byte x
.byte x+1
# CHECK: LLVM ERROR: MIPS does not support one byte relocations