# REQUIRES: x86
# RUN: llvm-mc -filetype=obj -triple=x86_64-unknown-linux %s -o %t1.o
# RUN: llvm-mc -filetype=obj -triple=x86_64-unknown-linux %p/Inputs/relocatable.s -o %t2.o
# RUN: llvm-mc -filetype=obj -triple=x86_64-unknown-linux %p/Inputs/relocatable2.s -o %t3.o
# RUN: ld.lld -r %t1.o %t2.o %t3.o -o %t
# RUN: llvm-readobj --file-headers --sections -l --symbols -r %t | FileCheck %s
# RUN: llvm-objdump --section-headers %t | FileCheck --check-prefix=SECTION %s
# RUN: llvm-objdump -s -d %t | FileCheck --check-prefix=CHECKTEXT %s

## Test --relocatable alias
# RUN: ld.lld --relocatable %t1.o %t2.o %t3.o -o %t
# RUN: llvm-readobj --file-headers --sections -l --symbols -r %t | FileCheck %s
# RUN: llvm-objdump -s -d %t | FileCheck --check-prefix=CHECKTEXT %s

## Verify that we can use our relocation output as input to produce executable
# RUN: ld.lld -e main %t -o %texec
# RUN: llvm-readobj --file-headers %texec | FileCheck -check-prefix=CHECKEXE %s

# CHECK:       ElfHeader {
# CHECK-NEXT:  Ident {
# CHECK-NEXT:    Magic: (7F 45 4C 46)
# CHECK-NEXT:    Class: 64-bit
# CHECK-NEXT:    DataEncoding: LittleEndian
# CHECK-NEXT:    FileVersion: 1
# CHECK-NEXT:    OS/ABI: SystemV
# CHECK-NEXT:    ABIVersion: 0
# CHECK-NEXT:    Unused: (00 00 00 00 00 00 00)
# CHECK-NEXT:  }
# CHECK-NEXT:  Type: Relocatable
# CHECK-NEXT:  Machine: EM_X86_64
# CHECK-NEXT:  Version: 1
# CHECK-NEXT:  Entry: 0x0
# CHECK-NEXT:  ProgramHeaderOffset: 0x0
# CHECK-NEXT:  SectionHeaderOffset:
# CHECK-NEXT:  Flags [
# CHECK-NEXT:  ]
# CHECK-NEXT:  HeaderSize: 64
# CHECK-NEXT:  ProgramHeaderEntrySize: 0
# CHECK-NEXT:  ProgramHeaderCount: 0
# CHECK-NEXT:  SectionHeaderEntrySize: 64
# CHECK-NEXT:  SectionHeaderCount: 8
# CHECK-NEXT:  StringTableSectionIndex: 6
# CHECK-NEXT:  }

# CHECK:       Relocations [
# CHECK-NEXT:  Section ({{.*}}) .rela.text {
# CHECK-NEXT:    0x3 R_X86_64_32S x 0x0
# CHECK-NEXT:    0xE R_X86_64_32S y 0x0
# CHECK-NEXT:    0x23 R_X86_64_32S xx 0x0
# CHECK-NEXT:    0x2E R_X86_64_32S yy 0x0
# CHECK-NEXT:    0x43 R_X86_64_32S xxx 0x0
# CHECK-NEXT:    0x4E R_X86_64_32S yyy 0x0
# CHECK-NEXT:  }

# SECTION: Sections:
# SECTION: Idx Name          Size     VMA              Type
# SECTION:   0               00000000 0000000000000000
# SECTION:   1 .text         00000056 0000000000000000 TEXT
# SECTION:   2 .rela.text    00000090 0000000000000000
# SECTION:   3 .bss          00000018 0000000000000000 BSS
# SECTION:   4 .note.GNU-stack 00000000 0000000000000000
# SECTION:   5 .symtab       00000168 0000000000000000
# SECTION:   6 .shstrtab     00000041 0000000000000000
# SECTION:   7 .strtab       0000002d 0000000000000000

# CHECKTEXT:      Disassembly of section .text:
# CHECKTEXT-EMPTY:
# CHECKTEXT-NEXT: <main>:
# CHECKTEXT-NEXT: 0: c7 04 25 00 00 00 00 05 00 00 00 movl $5, 0
# CHECKTEXT-NEXT: b: c7 04 25 00 00 00 00 07 00 00 00 movl $7, 0
# CHECKTEXT:      <foo>:
# CHECKTEXT-NEXT: 20: c7 04 25 00 00 00 00 01 00 00 00 movl $1, 0
# CHECKTEXT-NEXT: 2b: c7 04 25 00 00 00 00 02 00 00 00 movl $2, 0
# CHECKTEXT:      <bar>:
# CHECKTEXT-NEXT: 40: c7 04 25 00 00 00 00 08 00 00 00 movl $8, 0
# CHECKTEXT-NEXT: 4b: c7 04 25 00 00 00 00 09 00 00 00 movl $9, 0

# CHECKEXE:       Format: elf64-x86-64
# CHECKEXE-NEXT:  Arch: x86_64
# CHECKEXE-NEXT:  AddressSize: 64bit
# CHECKEXE-NEXT:  LoadName:
# CHECKEXE-NEXT:  ElfHeader {
# CHECKEXE-NEXT:    Ident {
# CHECKEXE-NEXT:      Magic: (7F 45 4C 46)
# CHECKEXE-NEXT:      Class: 64-bit
# CHECKEXE-NEXT:      DataEncoding: LittleEndian
# CHECKEXE-NEXT:      FileVersion: 1
# CHECKEXE-NEXT:      OS/ABI: SystemV (0x0)
# CHECKEXE-NEXT:      ABIVersion: 0
# CHECKEXE-NEXT:      Unused: (00 00 00 00 00 00 00)
# CHECKEXE-NEXT:    }
# CHECKEXE-NEXT:    Type: Executable
# CHECKEXE-NEXT:    Machine: EM_X86_64
# CHECKEXE-NEXT:    Version: 1
# CHECKEXE-NEXT:    Entry: 0x201160
# CHECKEXE-NEXT:    ProgramHeaderOffset: 0x40
# CHECKEXE-NEXT:    SectionHeaderOffset: 0x358
# CHECKEXE-NEXT:    Flags [
# CHECKEXE-NEXT:    ]
# CHECKEXE-NEXT:    HeaderSize: 64
# CHECKEXE-NEXT:    ProgramHeaderEntrySize: 56
# CHECKEXE-NEXT:    ProgramHeaderCount: 5
# CHECKEXE-NEXT:    SectionHeaderEntrySize: 64
# CHECKEXE-NEXT:    SectionHeaderCount: 7
# CHECKEXE-NEXT:    StringTableSectionIndex: 5
# CHECKEXE-NEXT:  }

.text
.type x,@object
.bss
.globl x
.align 4
x:
.long 0
.size x, 4
.type y,@object
.globl y
.align 4
y:
.long 0
.size y, 4

.text
.globl main
.align 16, 0x90
.type main,@function
main:
movl $5, x
movl $7, y

blah:
goo:
abs = 42
