| Index: src/IceInstX8664.cpp
|
| diff --git a/src/IceInstX8664.cpp b/src/IceInstX8664.cpp
|
| index 370918024aadfae5b37e54e7d057baf0d19a6103..49dc9d85c764c0e29372b87f622596f40512ff1f 100644
|
| --- a/src/IceInstX8664.cpp
|
| +++ b/src/IceInstX8664.cpp
|
| @@ -179,8 +179,8 @@ MachineTraits<TargetX8664>::X86OperandMem::toAsmAddress(
|
| Disp = static_cast<int32_t>(CI->getValue());
|
| } else if (const auto CR =
|
| llvm::dyn_cast<ConstantRelocatable>(getOffset())) {
|
| - Disp = CR->getOffset();
|
| - Fixup = Asm->createFixup(llvm::ELF::R_386_32, CR);
|
| + Disp = CR->getOffset() - 4;
|
| + Fixup = Asm->createFixup(PcRelFixup, CR);
|
| } else {
|
| llvm_unreachable("Unexpected offset type");
|
| }
|
|
|