# REQUIRES: mips

# Check addend adjustment in case of generating a relocatable object
# if some input files have non-zero GP0 value.

# We have to use GNU as and ld.bfd 2.28 to generate relocatable object
# files with non-zero GP0 value using the following command lines:
#
# as -mips32 -o test.o \
#   && ld.bfd -m elf32btsmip -r test.o -o mips-gp0-non-zero.o
# as -mips64 -o test.o \
#   && ld.bfd -m elf64btsmip -r test.o -o mips-n64-gp0-non-zero.o

# Source code for mips-gp0-non-zero.o:
#   .text
#   .global  __start
# __start:
#   lw      $t0,%call16(__start)($gp)
# foo:
#   nop
# bar:
#   nop
#
#   .section .rodata, "a"
# v:
#   .gpword foo
#   .gpword bar

# Source code for mips-n64-gp0-non-zero.o and mips-micro-gp0-non-zero.o:
#   .text
#   .global  __start
# __start:
# foo:
#   lui     $gp,%hi(%neg(%gp_rel(foo)))

# RUN: ld.lld -r -o %t-32.r %S/Inputs/mips-gp0-non-zero.o
# RUN: llvm-readobj -A %t-32.r | FileCheck --check-prefix=GPVAL %s
# RUN: llvm-objdump -s %t-32.r | FileCheck --check-prefix=ADDEND32 %s

# RUN: ld.lld -r -o %t-64.r %S/Inputs/mips-n64-gp0-non-zero.o
# RUN: llvm-readobj -A %t-64.r | FileCheck --check-prefix=GPVAL %s
# RUN: llvm-readobj -r %S/Inputs/mips-n64-gp0-non-zero.o %t-64.r \
# RUN:   | FileCheck --check-prefix=ADDEND64 %s

# GPVAL: GP: 0x0

# ADDEND32:      Contents of section .rodata:
# ADDEND32-NEXT:  0000 00007ff4 00007ff8
#                      ^ 4+GP0  ^ 8+GP0

# ADDEND64: File: {{.*}}{{/|\\}}mips-n64-gp0-non-zero.o
# ADDEND64: .text 0xFFFFFFFFFFFF8011
# ADDEND64: File: {{.*}}{{/|\\}}mips-non-zero-gp0.s.tmp-64.r
# ADDEND64: .text 0x0
