# REQUIRES: mips # Check R_MIPS_CALL16 relocation calculation. # RUN: llvm-mc -filetype=obj -triple=mips-unknown-linux %s -o %t.o # RUN: ld.lld %t.o -shared -o %t.exe # RUN: llvm-objdump -d %t.exe | FileCheck %s # RUN: llvm-readobj -mips-plt-got -symbols %t.exe \ # RUN: | FileCheck -check-prefix=GOT %s .text .globl __start __start: lw $t0,%call16(g1)($gp) .globl g1 .type g1,@function g1: nop # CHECK: Disassembly of section .text: # CHECK-NEXT: __start: # CHECK-NEXT: 10000: 8f 88 80 18 lw $8, -32744 # GOT: Name: g1 # GOT-NEXT: Value: 0x[[ADDR:[0-9A-F]+]] # GOT: Local entries [ # GOT-NEXT: ] # GOT-NEXT: Global entries [ # GOT-NEXT: Entry { # GOT-NEXT: Address: # GOT-NEXT: Access: -32744 # GOT-NEXT: Initial: 0x[[ADDR]] # GOT-NEXT: Value: 0x[[ADDR]] # GOT-NEXT: Type: Function # GOT-NEXT: Section: .text # GOT-NEXT: Name: g1 # GOT-NEXT: } # GOT-NEXT: ]