elf-N32.s
939 Bytes
// Check generation of N32 ABI relocations.
// RUN: llvm-mc -filetype=obj -triple=mips64-linux-gnu -mcpu=mips3 \
// RUN: -target-abi=n32 %s -o - | llvm-readobj -r - | FileCheck %s
// RUN: llvm-mc -filetype=obj -triple=mips64-linux-gnuabin32 -mcpu=mips3 \
// RUN: %s -o - | llvm-readobj -r - | FileCheck %s
// RUN: llvm-mc -filetype=obj -triple=mipsn32 -mcpu=mips3 \
// RUN: %s -o - | llvm-readobj -r - | FileCheck %s
// CHECK: Relocations [
// CHECK-NEXT: Section (3) .rela.text {
// CHECK-NEXT: 0x0 R_MIPS_GPREL16 foo 0x4
// CHECK-NEXT: 0x0 R_MIPS_SUB - 0x0
// CHECK-NEXT: 0x0 R_MIPS_HI16 - 0x0
// CHECK-NEXT: 0x4 R_MIPS_GPREL16 foo 0x4
// CHECK-NEXT: 0x4 R_MIPS_SUB - 0x0
// CHECK-NEXT: 0x4 R_MIPS_LO16 - 0x0
// CHECK-NEXT: }
.globl foo
.ent foo
foo:
lui $gp, %hi(%neg(%gp_rel(foo+4)))
addiu $gp, $gp, %lo(%neg(%gp_rel(foo+4)))
daddu $gp, $gp, $25
.end foo