# RUN: yaml2obj -docnum=1 %s > %t.elf-x86-64
# RUN: yaml2obj -docnum=2 %s > %t2.elf-x86-64

--- !ELF
FileHeader:
  Class:   ELFCLASS64
  Data:    ELFDATA2LSB
  Type:    ET_REL
  Machine: EM_X86_64
Sections:
  - Name:  .text
    Type:  SHT_PROGBITS
    Flags: [ SHF_ALLOC, SHF_EXECINSTR ]
Symbols:
  - Name:    main
    Type:    STT_FUNC
    Section: .text
    Binding: STB_GLOBAL
  - Name:    SomeOtherFunction
    Binding: STB_GLOBAL
  - Name:    puts
    Binding: STB_GLOBAL

--- !ELF
FileHeader:
  Class:   ELFCLASS64
  Data:    ELFDATA2LSB
  Type:    ET_REL
  Machine: EM_X86_64
Sections:
  - Name:  .text
    Type:  SHT_PROGBITS
    Flags: [ SHF_ALLOC, SHF_EXECINSTR ]
Symbols:
  - Name:    bar
    Type:    STT_FUNC
    Section: .text
  - Name:    foo
    Type:    STT_FUNC
    Section: .text
    Binding: STB_GLOBAL
    Value:   0x0000000000000006
  - Name:    main
    Type:    STT_FUNC
    Section: .text
    Binding: STB_GLOBAL
    Value:   0x0000000000000016

# RUN: rm -f %t.a
# RUN: llvm-ar rcsU %t.a %t.elf-x86-64 %t2.elf-x86-64
# RUN: llvm-nm -M %t.a | FileCheck %s

# RUN: rm -f %t.a
# RUN: env SYM64_THRESHOLD=1 llvm-ar rcsU %t.a %t.elf-x86-64 %t2.elf-x86-64
# RUN: llvm-nm -M %t.a | FileCheck %s
# RUXX: grep SYM64 %t.a

# CHECK: Archive map
# CHECK-NEXT: main in {{.*}}.elf-x86-64
# CHECK-NEXT: foo in {{.*}}2.elf-x86-64
# CHECK-NEXT: main in {{.*}}2.elf-x86-64
# CHECK-NOT: bar


# RUN: rm -f %t.a
# RUN: llvm-ar --format=gnu rcT %t.a %t.elf-x86-64 %t2.elf-x86-64
# RUN: llvm-nm -M %t.a | FileCheck -DFILE=%/t.elf-x86-64 -DFILE2=%/t2.elf-x86-64 --check-prefix=THIN %s

# THIN: Archive map
# THIN-NEXT: main in [[FILE]]
# THIN-NEXT: foo in [[FILE2]]
# THIN-NEXT: main in [[FILE2]]


# CHECK: {{.*}}.elf-x86-64:
# CHECK-NEXT:                  U SomeOtherFunction
# CHECK-NEXT: 0000000000000000 T main
# CHECK-NEXT:                  U puts

# CHECK: {{.*}}2.elf-x86-64:
# CHECK-NEXT: 0000000000000000 t bar
# CHECK-NEXT: 0000000000000006 T foo
# CHECK-NEXT: 0000000000000016 T main

# RUN: rm -f %t.a
# RUN: llvm-ar rcSU %t.a %t.elf-x86-64 %t2.elf-x86-64
# RUN: llvm-nm -M %t.a | FileCheck %s --check-prefix=NOMAP

# NOMAP-NOT: Archive map

# RUN: llvm-ar s %t.a
# RUN: llvm-nm -M %t.a | FileCheck %s

## Check that the archive does have a corrupt symbol table.
# RUN: rm -f %t.a
# RUN: cp %p/Inputs/archive-test.a-corrupt-symbol-table %t.a
# RUN: llvm-nm -M %t.a | FileCheck %s --check-prefix=CORRUPT

# CORRUPT: Archive map
# CORRUPT-NEXT: mbin in trivial-object-test.elf-x86-64
# CORRUPT-NEXT: foo in trivial-object-test2.elf-x86-64
# CORRUPT-NEXT: main in trivial-object-test2.elf-x86-64

# CORRUPT: {{.*}}.elf-x86-64:
# CORRUPT-NEXT:                  U SomeOtherFunction
# CORRUPT-NEXT: 0000000000000000 T main
# CORRUPT-NEXT:                  U puts

# CORRUPT: {{.*}}2.elf-x86-64:
# CORRUPT-NEXT: 0000000000000000 t bar
# CORRUPT-NEXT: 0000000000000006 T foo
# CORRUPT-NEXT: 0000000000000016 T main

## Check that the we *don't* update the symbol table.
# RUN: llvm-ar s %t.a
# RUN: llvm-nm -M %t.a | FileCheck %s --check-prefix=CORRUPT

## Repeat the test with llvm-ranlib.

# RUN: rm -f %t.a
# RUN: llvm-ar rcSU %t.a %t.elf-x86-64 %t2.elf-x86-64
# RUN: llvm-nm -M %t.a | FileCheck %s --check-prefix=NOMAP

# RUN: llvm-ranlib %t.a
# RUN: llvm-nm -M %t.a | FileCheck %s

# RUN: llvm-nm -M %p/Inputs/macho-archive-x86_64.a | FileCheck %s --check-prefix=BSD-MachO
# RUN: llvm-nm -M %p/Inputs/macho-archive-unsorted-x86_64.a | FileCheck %s --check-prefix=BSD-MachO

# BSD-MachO: Archive map
# BSD-MachO: _bar in bar.o
# BSD-MachO: _foo in foo.o

# RUN: rm -f %t.a
# RUN: llvm-ar --format=bsd rcsU %t.a %p/Inputs/trivial-object-test.macho-x86-64 %p/Inputs/trivial-object-test2.macho-x86-64
# RUN: llvm-nm -M %t.a | FileCheck --check-prefix=MACHO %s

# RUN: rm -f %t.a
# RUN: env SYM64_THRESHOLD=1 llvm-ar --format=darwin rcsU %t.a %p/Inputs/trivial-object-test.macho-x86-64 %p/Inputs/trivial-object-test2.macho-x86-64
# RUN: llvm-nm -M %t.a | FileCheck --check-prefix=MACHO %s
# RUN: grep '__\.SYMDEF_64' %t.a

# MACHO: Archive map
# MACHO-NEXT: _main in trivial-object-test.macho-x86-64
# MACHO-NEXT: _foo in trivial-object-test2.macho-x86-64
# MACHO-NEXT: _main in trivial-object-test2.macho-x86-64
# MACHO-NOT: {{^}}bar

# MACHO: trivial-object-test.macho-x86-64
# MACHO-NEXT: 0000000000000028 s L_.str
# MACHO-NEXT:                  U _SomeOtherFunction
# MACHO-NEXT: 0000000000000000 T _main
# MACHO-NEXT:                  U _puts

# MACHO: trivial-object-test2.macho-x86-64
# MACHO-NEXT: 0000000000000000 t _bar
# MACHO-NEXT: 0000000000000001 T _foo
# MACHO-NEXT: 0000000000000002 T _main

# RUN: llvm-nm -M %p/Inputs/macho-toc64-archive-x86_64.a | FileCheck --check-prefix=MACHO-TOC64 %s

# MACHO-TOC64: Archive map
# MACHO-TOC64-NEXT: _test in test.o
# MACHO-TOC64-NEXT: _test in xtest.o

# RUN: rm -f %t.a
# RUN: llvm-ar --format=gnu rcsU %t.a %p/Inputs/coff-short-import-code %p/Inputs/coff-short-import-data
# RUN: llvm-nm -M %t.a | FileCheck --check-prefix=COFF-SHORT-IMPORT %s

# COFF-SHORT-IMPORT:      Archive map
# COFF-SHORT-IMPORT-NEXT: __imp__foo in coff-short-import-code
# COFF-SHORT-IMPORT-NEXT: _foo in coff-short-import-code
# COFF-SHORT-IMPORT-NEXT: __imp__bar in coff-short-import-data
# COFF-SHORT-IMPORT-NOT:  _bar in coff-short-import-data

## Test that we pad the symbol table so that it ends in a multiple of 8 bytes:
## 8 + 60 + 36 == 104
# RUN: rm -f %t.a
# RUN: llvm-ar --format=bsd rcsU %t.a %p/Inputs/trivial-object-test.macho-x86-64
# RUN: FileCheck --check-prefix=MACHO-SYMTAB-ALIGN %s < %t.a
# MACHO-SYMTAB-ALIGN: !<arch>
# MACHO-SYMTAB-ALIGN-NEXT: #1/12           {{..........}}  0     0     0       36        `

## Test that we pad the symbol table so that it ends in a multiple of 8 bytes:
## 8 + 60 + 52 == 120
# RUN: rm -f %t.a
# RUN: llvm-ar --format=bsd rcsD %t.a %p/Inputs/trivial-object-test.macho-x86-64 %p/Inputs/trivial-object-test.macho-x86-64
# RUN: FileCheck --check-prefix=MACHO-SYMTAB-ALIGN2 %s < %t.a
# MACHO-SYMTAB-ALIGN2: !<arch>
# MACHO-SYMTAB-ALIGN2-NEXT: #1/12           0           0     0     0       52        `

## With a gnu symbol table we only align to two
# 8 + 60 + 14 = 82
# RUN: rm -f %t.a
# RUN: llvm-ar --format=gnu rcsD %t.a %p/Inputs/trivial-object-test.macho-x86-64
# RUN: FileCheck --check-prefix=GNU-SYMTAB-ALIGN %s < %t.a
# GNU-SYMTAB-ALIGN: !<arch>
# GNU-SYMTAB-ALIGN-NEXT: /               0           0     0     0       14        `


## ** Test the behavior of an empty archive:

## No symbol table emitted for GNU archives
# RUN: rm -f %t.a
# RUN: llvm-ar rcs --format=gnu %t.a
# RUN: not grep -q '/               ' %t.a

## No symbol table for BSD archives
# RUN: rm -f %t.a
# RUN: llvm-ar rcs --format=bsd %t.a
# RUN: not grep -q '__\.SYMDEF' %t.a

## And we do emit a symbol table for DARWIN archives
# RUN: rm -f %t.a
# RUN: llvm-ar rcs --format=darwin %t.a
# RUN: grep -q '__\.SYMDEF' %t.a
