Merge cases that execute the same code.
llvm-svn: 272974
diff --git a/lld/ELF/Target.cpp b/lld/ELF/Target.cpp
index 8979c75e..df59bba 100644
--- a/lld/ELF/Target.cpp
+++ b/lld/ELF/Target.cpp
@@ -1040,9 +1040,11 @@
write16be(Loc, (read16be(Loc) & 3) | (Val & ~3));
break;
case R_PPC64_ADDR16_HA:
+ case R_PPC64_REL16_HA:
write16be(Loc, applyPPCHa(Val));
break;
case R_PPC64_ADDR16_HI:
+ case R_PPC64_REL16_HI:
write16be(Loc, applyPPCHi(Val));
break;
case R_PPC64_ADDR16_HIGHER:
@@ -1061,40 +1063,25 @@
write16be(Loc, applyPPCLo(Val));
break;
case R_PPC64_ADDR16_LO_DS:
+ case R_PPC64_REL16_LO:
write16be(Loc, (read16be(Loc) & 3) | (applyPPCLo(Val) & ~3));
break;
case R_PPC64_ADDR32:
+ case R_PPC64_REL32:
checkInt<32>(Val, Type);
write32be(Loc, Val);
break;
case R_PPC64_ADDR64:
+ case R_PPC64_REL64:
+ case R_PPC64_TOC:
write64be(Loc, Val);
break;
- case R_PPC64_REL16_HA:
- write16be(Loc, applyPPCHa(Val));
- break;
- case R_PPC64_REL16_HI:
- write16be(Loc, applyPPCHi(Val));
- break;
- case R_PPC64_REL16_LO:
- write16be(Loc, applyPPCLo(Val));
- break;
case R_PPC64_REL24: {
uint32_t Mask = 0x03FFFFFC;
checkInt<24>(Val, Type);
write32be(Loc, (read32be(Loc) & ~Mask) | (Val & Mask));
break;
}
- case R_PPC64_REL32:
- checkInt<32>(Val, Type);
- write32be(Loc, Val);
- break;
- case R_PPC64_REL64:
- write64be(Loc, Val);
- break;
- case R_PPC64_TOC:
- write64be(Loc, Val);
- break;
default:
fatal("unrecognized reloc " + Twine(Type));
}