This handles only the 32 bit case.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@238751
91177308-0d34-0410-b5e6-
96231b3b80d8
switch (Kind) {
case Mips::fixup_Mips_32:
case FK_Data_4:
- return ELF::R_MIPS_32;
+ return IsPCRel ? ELF::R_MIPS_PC32 : ELF::R_MIPS_32;
case Mips::fixup_Mips_64:
case FK_Data_8:
return ELF::R_MIPS_64;
--- /dev/null
+// RUN: llvm-mc -filetype=obj -triple mipsel-unknown-linux < %s | llvm-readobj -r | FileCheck %s
+
+// Test that we produce the correct relocation.
+// FIXME: move more relocation only tests here.
+
+ .long foo
+// CHECK: R_MIPS_32 foo
+
+ .long foo-.
+// CHECK: R_MIPS_PC32 foo