# Show that all regular section types are properly printed for both LLVM and
# GNU styles.

# RUN: yaml2obj %s -o %t-basic.o
# RUN: llvm-readobj --section-headers %t-basic.o | FileCheck %s --check-prefix=LLVM
# RUN: llvm-readelf --section-headers %t-basic.o | FileCheck %s --check-prefix=GNU

# LLVM: Name: (0)
# LLVM: Type: SHT_NULL
# LLVM: Name: progbits
# LLVM: Type: SHT_PROGBITS
# LLVM: Name: rela
# LLVM: Type: SHT_RELA
# LLVM: Name: hash
# LLVM: Type: SHT_HASH
# LLVM: Name: dynamic
# LLVM: Type: SHT_DYNAMIC
# LLVM: Name: note
# LLVM: Type: SHT_NOTE
# LLVM: Name: nobits
# LLVM: Type: SHT_NOBITS
# LLVM: Name: rel
# LLVM: Type: SHT_REL
# LLVM: Name: shlib
# LLVM: Type: SHT_SHLIB
# LLVM: Name: dynsym
# LLVM: Type: SHT_DYNSYM
# LLVM: Name: init_array
# LLVM: Type: SHT_INIT_ARRAY
# LLVM: Name: fini_array
# LLVM: Type: SHT_FINI_ARRAY
# LLVM: Name: preinit_array
# LLVM: Type: SHT_PREINIT_ARRAY
# LLVM: Name: group
# LLVM: Type: SHT_GROUP
# LLVM: Name: symtab_shndx
# LLVM: Type: SHT_SYMTAB_SHNDX
# LLVM: Name: relr
# LLVM: Type: SHT_RELR
# LLVM: Name: android_rel
# LLVM: Type: SHT_ANDROID_REL
# LLVM: Name: android_rela
# LLVM: Type: SHT_ANDROID_RELA
# LLVM: Name: android_relr
# LLVM: Type: SHT_ANDROID_RELR
# LLVM: Name: llvm_odrtab
# LLVM: Type: SHT_LLVM_ODRTAB
# LLVM: Name: linker_options
# LLVM: Type: SHT_LLVM_LINKER_OPTIONS
# LLVM: Name: llvm_call_graph_profile
# LLVM: Type: SHT_LLVM_CALL_GRAPH_PROFILE
# LLVM: Name: llvm_addrsig
# LLVM: Type: SHT_LLVM_ADDRSIG
# LLVM: Name: .deplibs
# LLVM: Type: SHT_LLVM_DEPENDENT_LIBRARIES
# LLVM: Name: .llvm_sympart.f
# LLVM: Type: SHT_LLVM_SYMPART
# LLVM: Name: part1
# LLVM: Type: SHT_LLVM_PART_EHDR
# LLVM: Name: .phdrs
# LLVM: Type: SHT_LLVM_PART_PHDR
# LLVM: Name: gnu_attributes
# LLVM: Type: SHT_GNU_ATTRIBUTES
# LLVM: Name: gnu_hash
# LLVM: Type: SHT_GNU_HASH
# LLVM: Name: gnu_verdef
# LLVM: Type: SHT_GNU_verdef
# LLVM: Name: gnu_verneed
# LLVM: Type: SHT_GNU_verneed
# LLVM: Name: unknown
# LLVM: Type: Unknown (0x1000)
# LLVM: Name: loos
# LLVM: Type: Unknown (0x60000000)
# LLVM: Name: fooos
# LLVM: Type: Unknown (0x60000F00)
# LLVM: Name: hios
# LLVM: Type: SHT_GNU_versym
# LLVM: Name: loproc
# LLVM: Type: Unknown (0x70000000)
# LLVM: Name: fooproc
# LLVM: Type: Unknown (0x70000F00)
# LLVM: Name: hiproc
# LLVM: Type: Unknown (0x7FFFFFFF)
# LLVM: Name: louser
# LLVM: Type: Unknown (0x80000000)
# LLVM: Name: foouser
# LLVM: Type: Unknown (0x80000F00)
# LLVM: Name: hiuser
# LLVM: Type: Unknown (0xFFFFFFFF)
# LLVM: Name: .symtab
# LLVM: Type: SHT_SYMTAB
# LLVM: Name: .strtab
# LLVM: Type: SHT_STRTAB

# GNU: [ 0]                         NULL
# GNU-NEXT: progbits                PROGBITS
# GNU-NEXT: rela                    RELA
# GNU-NEXT: hash                    HASH
# GNU-NEXT: dynamic                 DYNAMIC
# GNU-NEXT: note                    NOTE
# GNU-NEXT: nobits                  NOBITS
# GNU-NEXT: rel                     REL
# GNU-NEXT: shlib                   SHLIB
# GNU-NEXT: dynsym                  DYNSYM
# GNU-NEXT: init_array              INIT_ARRAY
# GNU-NEXT: fini_array              FINI_ARRAY
# GNU-NEXT: preinit_array           PREINIT_ARRAY
# GNU-NEXT: group                   GROUP
# GNU-NEXT: symtab_shndx            SYMTAB SECTION INDICES
# GNU-NEXT: relr                    RELR
# GNU-NEXT: android_rel             ANDROID_REL
# GNU-NEXT: android_rela            ANDROID_RELA
# GNU-NEXT: android_relr            RELR
# GNU-NEXT: llvm_odrtab             LLVM_ODRTAB
# GNU-NEXT: linker_options          LLVM_LINKER_OPTIONS
# GNU-NEXT: llvm_call_graph_profile LLVM_CALL_GRAPH_PROFILE
# GNU-NEXT: llvm_addrsig            LLVM_ADDRSIG
# GNU-NEXT: .deplibs                LLVM_DEPENDENT_LIBRARIES
# GNU-NEXT: .llvm_sympart.f         LLVM_SYMPART
# GNU-NEXT: part1                   LLVM_PART_EHDR
# GNU-NEXT: .phdrs                  LLVM_PART_PHDR
# GNU-NEXT: gnu_attributes          ATTRIBUTES
# GNU-NEXT: gnu_hash                GNU_HASH
# GNU-NEXT: gnu_verdef              VERDEF
# GNU-NEXT: gnu_verneed             VERNEED
# GNU-NEXT: unknown                 0x1000: <unknown>
# GNU-NEXT: loos                    LOOS+0x0
# GNU-NEXT: fooos                   LOOS+0xF00
# GNU-NEXT: hios                    VERSYM
# GNU-NEXT: loproc                  LOPROC+0x0
# GNU-NEXT: fooproc                 LOPROC+0xF00
# GNU-NEXT: hiproc                  LOPROC+0xFFFFFFF
# GNU-NEXT: louser                  LOUSER+0x0
# GNU-NEXT: foouser                 LOUSER+0xF00
# GNU-NEXT: hiuser                  LOUSER+0x7FFFFFFF
# GNU-NEXT: .symtab                 SYMTAB
# GNU-NEXT: .strtab                 STRTAB

--- !ELF
FileHeader:
  Class:   ELFCLASS64
  Data:    ELFDATA2LSB
  Type:    ET_REL
  Machine: EM_X86_64
Sections:
  - Name: progbits
    Type: SHT_PROGBITS
  - Name: rela
    Type: SHT_RELA
    Info: progbits
  - Name: hash
    Type: SHT_HASH
    Content: ''
  - Name: dynamic
    Type: SHT_DYNAMIC
  - Name: note
    Type: SHT_NOTE
  - Name: nobits
    Type: SHT_NOBITS
  - Name: rel
    Type: SHT_REL
    Info: progbits
  - Name: shlib
    Type: SHT_SHLIB
  - Name: dynsym
    Type: SHT_DYNSYM
    Link: .strtab
  - Name: init_array
    Type: SHT_INIT_ARRAY
  - Name: fini_array
    Type: SHT_FINI_ARRAY
  - Name: preinit_array
    Type: SHT_PREINIT_ARRAY
  - Name: group
    Type: SHT_GROUP
    Info: foo
    Members:
        - SectionOrType: 0
  - Name: symtab_shndx
    Type: SHT_SYMTAB_SHNDX
    Link: .symtab
    Entries: [ 0, 1 ]
  - Name: relr
    Type: SHT_RELR
  - Name: android_rel
    Type: SHT_ANDROID_REL
  - Name: android_rela
    Type: SHT_ANDROID_RELA
  - Name: android_relr
    Type: SHT_ANDROID_RELR
  - Name: llvm_odrtab
    Type: SHT_LLVM_ODRTAB
  - Name: linker_options
    Type: SHT_LLVM_LINKER_OPTIONS
  - Name: llvm_call_graph_profile
    Type: SHT_LLVM_CALL_GRAPH_PROFILE
  - Name: llvm_addrsig
    Type: SHT_LLVM_ADDRSIG
    Symbols:
  - Name: .deplibs
    Type: SHT_LLVM_DEPENDENT_LIBRARIES
  - Name: .llvm_sympart.f
    Type: SHT_LLVM_SYMPART
  - Name: part1
    Type: SHT_LLVM_PART_EHDR
  - Name: .phdrs
    Type: SHT_LLVM_PART_PHDR
  - Name: gnu_attributes
    Type: SHT_GNU_ATTRIBUTES
  - Name: gnu_hash
    Type: SHT_GNU_HASH
  - Name: gnu_verdef
    Type: SHT_GNU_verdef
    Info: 0
    Entries:
  - Name: gnu_verneed
    Type: SHT_GNU_verneed
    Info: 0
    Dependencies:
  - Name: unknown
    Type: 0x1000
  - Name: loos
    Type: 0x60000000
  - Name: fooos
    Type: 0x60000F00
  - Name: hios
    Type: 0x6fffffff
    Entries: []
  - Name: loproc
    Type: 0x70000000
  - Name: fooproc
    Type: 0x70000F00
  - Name: hiproc
    Type: 0x7fffffff
  - Name: louser
    Type: 0x80000000
  - Name: foouser
    Type: 0x80000F00
  - Name: hiuser
    Type: 0xffffffff
Symbols:
  - Name:    foo
    Binding: STB_GLOBAL
