# REQUIRES: x86
# RUN: llvm-mc -filetype=obj -relax-relocations -triple=x86_64-unknown-linux %s -o %t.o
# RUN: ld.lld %t.o -o %t1
# RUN: llvm-readobj --symbols -r %t1 | FileCheck --check-prefix=SYMRELOC %s
# RUN: llvm-objdump -d --no-show-raw-insn --print-imm-hex %t1 | FileCheck --check-prefix=DISASM %s

## There is no relocations.
# SYMRELOC:      Relocations [
# SYMRELOC-NEXT: ]
# SYMRELOC:      Symbols [
# SYMRELOC:       Symbol {
# SYMRELOC:        Name: bar
# SYMRELOC-NEXT:   Value: 0x203248

## 2105751 = 0x202197 (bar)
# DISASM:      Disassembly of section .text:
# DISASM-EMPTY:
# DISASM-NEXT: <_start>:
# DISASM-NEXT:   2011c8:       adcl  {{.*}}(%rip), %eax  # 0x202240
# DISASM-NEXT:                 addl  {{.*}}(%rip), %ebx  # 0x202240
# DISASM-NEXT:                 andl  {{.*}}(%rip), %ecx  # 0x202240
# DISASM-NEXT:                 cmpl  {{.*}}(%rip), %edx  # 0x202240
# DISASM-NEXT:                 orl   {{.*}}(%rip), %edi  # 0x202240
# DISASM-NEXT:                 sbbl  {{.*}}(%rip), %esi  # 0x202240
# DISASM-NEXT:                 subl  {{.*}}(%rip), %ebp  # 0x202240
# DISASM-NEXT:                 xorl  $0x203248, %r8d
# DISASM-NEXT:                 testl $0x203248, %r15d
# DISASM-NEXT:   201200:       adcq  $0x203248, %rax
# DISASM-NEXT:                 addq  $0x203248, %rbx
# DISASM-NEXT:                 andq  $0x203248, %rcx
# DISASM-NEXT:                 cmpq  $0x203248, %rdx
# DISASM-NEXT:                 orq   $0x203248, %rdi
# DISASM-NEXT:                 sbbq  $0x203248, %rsi
# DISASM-NEXT:                 subq  $0x203248, %rbp
# DISASM-NEXT:                 xorq  $0x203248, %r8
# DISASM-NEXT:                 testq $0x203248, %r15

# RUN: ld.lld --hash-style=sysv -shared %t.o -o %t2
# RUN: llvm-readobj -S -r -d %t2 | FileCheck --check-prefix=SEC-PIC    %s
# RUN: llvm-objdump -d --no-show-raw-insn %t2 | FileCheck --check-prefix=DISASM-PIC %s
# SEC-PIC:      Section {
# SEC-PIC:        Index:
# SEC-PIC:        Name: .got
# SEC-PIC-NEXT:   Type: SHT_PROGBITS
# SEC-PIC-NEXT:   Flags [
# SEC-PIC-NEXT:     SHF_ALLOC
# SEC-PIC-NEXT:     SHF_WRITE
# SEC-PIC-NEXT:   ]
# SEC-PIC-NEXT:   Address: 0x2380
# SEC-PIC-NEXT:   Offset: 0x380
# SEC-PIC-NEXT:   Size: 8
# SEC-PIC-NEXT:   Link:
# SEC-PIC-NEXT:   Info:
# SEC-PIC-NEXT:   AddressAlignment:
# SEC-PIC-NEXT:   EntrySize:
# SEC-PIC-NEXT: }
# SEC-PIC:      0x000000006FFFFFF9 RELACOUNT            1
# SEC-PIC:      Relocations [
# SEC-PIC-NEXT:   Section ({{.*}}) .rela.dyn {
# SEC-PIC-NEXT:     0x2380 R_X86_64_RELATIVE - 0x3388
# SEC-PIC-NEXT:   }
# SEC-PIC-NEXT: ]

## Check that there was no relaxation performed. All values refer to got entry.
# DISASM-PIC:      Disassembly of section .text:
# DISASM-PIC-EMPTY:
# DISASM-PIC-NEXT: <_start>:
# DISASM-PIC-NEXT: 1268:       adcl  {{.*}}(%rip), %eax  # 0x2380
# DISASM-PIC-NEXT:             addl  {{.*}}(%rip), %ebx  # 0x2380
# DISASM-PIC-NEXT:             andl  {{.*}}(%rip), %ecx  # 0x2380
# DISASM-PIC-NEXT:             cmpl  {{.*}}(%rip), %edx  # 0x2380
# DISASM-PIC-NEXT:             orl   {{.*}}(%rip), %edi  # 0x2380
# DISASM-PIC-NEXT:             sbbl  {{.*}}(%rip), %esi  # 0x2380
# DISASM-PIC-NEXT:             subl  {{.*}}(%rip), %ebp  # 0x2380
# DISASM-PIC-NEXT:             xorl  {{.*}}(%rip), %r8d  # 0x2380
# DISASM-PIC-NEXT:             testl %r15d, {{.*}}(%rip) # 0x2380
# DISASM-PIC-NEXT: 12a0:       adcq  {{.*}}(%rip), %rax  # 0x2380
# DISASM-PIC-NEXT:             addq  {{.*}}(%rip), %rbx  # 0x2380
# DISASM-PIC-NEXT:             andq  {{.*}}(%rip), %rcx  # 0x2380
# DISASM-PIC-NEXT:             cmpq  {{.*}}(%rip), %rdx  # 0x2380
# DISASM-PIC-NEXT:             orq   {{.*}}(%rip), %rdi  # 0x2380
# DISASM-PIC-NEXT:             sbbq  {{.*}}(%rip), %rsi  # 0x2380
# DISASM-PIC-NEXT:             subq  {{.*}}(%rip), %rbp  # 0x2380
# DISASM-PIC-NEXT:             xorq  {{.*}}(%rip), %r8   # 0x2380
# DISASM-PIC-NEXT:             testq %r15, {{.*}}(%rip)  # 0x2380

.data
.type   bar, @object
bar:
 .byte   1
 .size   bar, .-bar

.text
.globl  _start
.type   _start, @function
_start:
## R_X86_64_GOTPCRELX
  adcl    bar@GOTPCREL(%rip), %eax
  addl    bar@GOTPCREL(%rip), %ebx
  andl    bar@GOTPCREL(%rip), %ecx
  cmpl    bar@GOTPCREL(%rip), %edx
  orl     bar@GOTPCREL(%rip), %edi
  sbbl    bar@GOTPCREL(%rip), %esi
  subl    bar@GOTPCREL(%rip), %ebp
  xorl    bar@GOTPCREL(%rip), %r8d
  testl   %r15d, bar@GOTPCREL(%rip)

## R_X86_64_REX_GOTPCRELX
  adcq    bar@GOTPCREL(%rip), %rax
  addq    bar@GOTPCREL(%rip), %rbx
  andq    bar@GOTPCREL(%rip), %rcx
  cmpq    bar@GOTPCREL(%rip), %rdx
  orq     bar@GOTPCREL(%rip), %rdi
  sbbq    bar@GOTPCREL(%rip), %rsi
  subq    bar@GOTPCREL(%rip), %rbp
  xorq    bar@GOTPCREL(%rip), %r8
  testq   %r15, bar@GOTPCREL(%rip)
