Remove duplicate "error:" from an error message.

This patch also simplifies the code a bit which wasn't committed in
https://reviews.llvm.org/r330600.

llvm-svn: 330644
This commit is contained in:
Rui Ueyama 2018-04-23 20:34:35 +00:00
parent 88b7be0d13
commit d134d2e509
3 changed files with 8 additions and 8 deletions

View File

@ -740,13 +740,13 @@ void InputSectionBase::relocateAlloc(uint8_t *Buf, uint8_t *BufEnd) {
break;
case R_PPC_PLT_OPD:
// Patch a nop (0x60000000) to a ld.
if (BufLoc + 8 <= BufEnd && read32(BufLoc + 4) == 0x60000000) {
write32(BufLoc + 4, 0xe8410018); // ld %r2, 24(%r1)
} else {
error(getErrorLocation(BufLoc) + "error: call lacks nop, can't restore toc.");
return;
if (BufLoc + 8 > BufEnd || read32(BufLoc + 4) != 0x60000000) {
error(getErrorLocation(BufLoc) + "call lacks nop, can't restore toc");
break;
}
LLVM_FALLTHROUGH;
write32(BufLoc + 4, 0xe8410018); // ld %r2, 24(%r1)
Target->relocateOne(BufLoc, Type, TargetVA);
break;
default:
Target->relocateOne(BufLoc, Type, TargetVA);
break;

View File

@ -5,7 +5,7 @@
// REQUIRES: ppc
# Calling external function bar needs a nop
// CHECK: error: call lacks nop, can't restore toc
// CHECK: call lacks nop, can't restore toc
.text
.abiversion 2

View File

@ -5,7 +5,7 @@
// REQUIRES: ppc
# A tail call to an external function without a nop should issue an error.
// CHECK: error: call lacks nop, can't restore toc
// CHECK: call lacks nop, can't restore toc
.text
.abiversion 2