# REQUIRES: systemz
## Test R_390_GOTENT optimization.

# RUN: llvm-mc -filetype=obj -relax-relocations -triple=s390x-unknown-linux %s -o %t.o
# RUN: ld.lld %t.o -o %t1 --no-apply-dynamic-relocs
# RUN: llvm-readelf -S -r -x .got.plt %t1 | FileCheck --check-prefixes=CHECK,NOAPPLY %s
# RUN: ld.lld %t.o -o %t1 --apply-dynamic-relocs
# RUN: llvm-readelf -S -r -x .got.plt %t1 | FileCheck --check-prefixes=CHECK,APPLY %s
# RUN: ld.lld %t.o -o %t1
# RUN: llvm-objdump --no-print-imm-hex -d %t1 | FileCheck --check-prefix=DISASM %s

## --no-relax disables GOT optimization.
# RUN: ld.lld --no-relax %t.o -o %t2
# RUN: llvm-objdump --no-print-imm-hex -d %t2 | FileCheck --check-prefix=NORELAX %s

## In our implementation, .got is retained even if all GOT-generating relocations are optimized.
# CHECK:      Name              Type            Address          Off    Size   ES Flg Lk Inf Al
# CHECK:      .iplt             PROGBITS        0000000001001240 000240 000020 00  AX  0   0 16
# CHECK-NEXT: .got              PROGBITS        0000000001002260 000260 000018 00  WA  0   0  8
# CHECK-NEXT: .relro_padding    NOBITS          0000000001002278 000278 000d88 00  WA  0   0  1
# CHECK-NEXT: .got.plt          PROGBITS        0000000001003278 000278 000008 00  WA  0   0  8

## There is one R_S390_IRELATIVE relocation.
# CHECK-LABEL: Relocation section '.rela.dyn' at offset {{.*}} contains 1 entries:
# CHECK:       0000000001003278  000000000000003d R_390_IRELATIVE                   10011e8

# CHECK-LABEL: Hex dump of section '.got.plt':
# NOAPPLY-NEXT:  0x01003278 00000000 00000000
# APPLY-NEXT:    0x01003278 00000000 010011e8

# DISASM:      Disassembly of section .text:
# DISASM: 00000000010011e0 <foo>:
# DISASM-NEXT:   bc      0, 0
# DISASM: 00000000010011e4 <hid>:
# DISASM-NEXT:   bc      0, 0
# DISASM: 00000000010011e8 <ifunc>:
# DISASM-NEXT:   br      %r14
# DISASM: 00000000010011ea <_start>:
# DISASM-NEXT:   larl    %r1, 0x10011e0
# DISASM-NEXT:   larl    %r1, 0x10011e0
# DISASM-NEXT:   larl    %r1, 0x10011e4
# DISASM-NEXT:   larl    %r1, 0x10011e4
# DISASM-NEXT:   lgrl    %r1, 0x1003278
# DISASM-NEXT:   lgrl    %r1, 0x1003278
# DISASM-NEXT:   larl    %r1, 0x10011e0
# DISASM-NEXT:   larl    %r1, 0x10011e0
# DISASM-NEXT:   larl    %r1, 0x10011e4
# DISASM-NEXT:   larl    %r1, 0x10011e4
# DISASM-NEXT:   lgrl    %r1, 0x1003278
# DISASM-NEXT:   lgrl    %r1, 0x1003278

# NORELAX-LABEL: <_start>:
# NORELAX-COUNT-12: lgrl

.text
.globl foo

.text
.globl foo
.type foo, @function
foo:
 nop

.globl hid
.hidden hid
.type hid, @function
hid:
 nop

.text
.type ifunc STT_GNU_IFUNC
.globl ifunc
.type ifunc, @function
ifunc:
 br %r14

.globl _start
.type _start, @function
_start:
 lgrl %r1, foo@GOT
 lgrl %r1, foo@GOT
 lgrl %r1, hid@GOT
 lgrl %r1, hid@GOT
 lgrl %r1, ifunc@GOT
 lgrl %r1, ifunc@GOT
 lgrl %r1, foo@GOT
 lgrl %r1, foo@GOT
 lgrl %r1, hid@GOT
 lgrl %r1, hid@GOT
 lgrl %r1, ifunc@GOT
 lgrl %r1, ifunc@GOT
