| # REQUIRES: mips | 
 | # Check that default _gp value is calculated relative | 
 | # to the GP-relative section with the lowest address. | 
 |  | 
 | # RUN: llvm-mc -filetype=obj -triple=mips-unknown-linux %s -o %t.o | 
 | # RUN: echo "SECTIONS { \ | 
 | # RUN:          .sdata : { *(.sdata) } \ | 
 | # RUN:          .got  : { *(.got) } }" > %t.rel.script | 
 | # RUN: ld.lld %t.o --script %t.rel.script -shared -o %t.so | 
 | # RUN: llvm-readobj -s -t %t.so | FileCheck %s | 
 |  | 
 |   .text | 
 |   .global foo | 
 | foo: | 
 |   lui  $gp, %call16(foo) | 
 |  | 
 |   .sdata | 
 |   .word 0 | 
 |  | 
 | # CHECK:      Section { | 
 | # CHECK:        Name: .sdata | 
 | # CHECK-NEXT:   Type: SHT_PROGBITS | 
 | # CHECK-NEXT:   Flags [ | 
 | # CHECK-NEXT:     SHF_ALLOC | 
 | # CHECK-NEXT:     SHF_MIPS_GPREL | 
 | # CHECK-NEXT:     SHF_WRITE | 
 | # CHECK-NEXT:   ] | 
 | # CHECK-NEXT:   Address: 0xF0 | 
 | # CHECK:      } | 
 | # CHECK:      Section { | 
 | # CHECK:        Name: .got | 
 | # CHECK-NEXT:   Type: SHT_PROGBITS | 
 | # CHECK-NEXT:   Flags [ | 
 | # CHECK-NEXT:     SHF_ALLOC | 
 | # CHECK-NEXT:     SHF_MIPS_GPREL | 
 | # CHECK-NEXT:     SHF_WRITE | 
 | # CHECK-NEXT:   ] | 
 | # CHECK-NEXT:   Address: 0x100 | 
 | # CHECK:      } | 
 |  | 
 | # CHECK:      Name: _gp (5) | 
 | # CHECK-NEXT: Value: 0x80E0 | 
 | #                    ^-- 0xF0 + 0x7ff0 |