# Show that all machine-specific section types are properly printed for both LLVM and
# GNU styles for ELF files with that machine type.

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

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

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

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

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

# ARM-LLVM: Name: exidx
# ARM-LLVM: Type: SHT_ARM_EXIDX
# ARM-LLVM: Name: preemptmap
# ARM-LLVM: Type: SHT_ARM_PREEMPTMAP
# ARM-LLVM: Name: attributes
# ARM-LLVM: Type: SHT_ARM_ATTRIBUTES
# ARM-LLVM: Name: debugoverlay
# ARM-LLVM: Type: SHT_ARM_DEBUGOVERLAY
# ARM-LLVM: Name: overlaysection
# ARM-LLVM: Type: SHT_ARM_OVERLAYSECTION

# ARM-GNU: exidx          ARM_EXIDX
# ARM-GNU: preemptmap     ARM_PREEMPTMAP
# ARM-GNU: attributes     ARM_ATTRIBUTES
# ARM-GNU: debugoverlay   ARM_DEBUGOVERLAY
# ARM-GNU: overlaysection ARM_OVERLAYSECTION

# X86-LLVM: Name: unwind
# X86-LLVM: Type: SHT_X86_64_UNWIND

# X86-GNU: unwind X86_64_UNWIND

# MIPS-LLVM: Name: reginfo
# MIPS-LLVM: Type: SHT_MIPS_REGINFO
# MIPS-LLVM: Name: options
# MIPS-LLVM: Type: SHT_MIPS_OPTIONS
# MIPS-LLVM: Name: abiflags
# MIPS-LLVM: Type: SHT_MIPS_ABIFLAGS
# MIPS-LLVM: Name: dwarf
# MIPS-LLVM: Type: SHT_MIPS_DWARF

# MIPS-GNU: reginfo  MIPS_REGINFO
# MIPS-GNU: options  MIPS_OPTIONS
# MIPS-GNU: abiflags MIPS_ABIFLAGS
# MIPS-GNU: dwarf    MIPS_DWARF

# AARCH64-LLVM: Name: aarch64_auth_relr
# AARCH64-LLVM: Type: SHT_AARCH64_AUTH_RELR
# AARCH64-LLVM: Name: .memtag.globals.dynamic
# AARCH64-LLVM: Type: SHT_AARCH64_MEMTAG_GLOBALS_DYNAMIC
# AARCH64-LLVM: Name: .memtag.globals.static
# AARCH64-LLVM: Type: SHT_AARCH64_MEMTAG_GLOBALS_STATIC

# AARCH64-GNU: aarch64_auth_relr       AARCH64_AUTH_RELR
# AARCH64-GNU: .memtag.globals.dynamic AARCH64_MEMTAG_GLOBALS_DYNAMIC
# AARCH64-GNU: .memtag.globals.static  AARCH64_MEMTAG_GLOBALS_STATIC

# HEXAGON-LLVM: Name: hexagon_ordered
# HEXAGON-LLVM: Type: SHT_HEX_ORDERED
# HEXAGON-LLVM: Name: .hexagon.attributes
# HEXAGON-LLVM: Type: SHT_HEXAGON_ATTRIBUTES

# HEXAGON-GNU: hexagon_ordered HEX_ORDERED

--- !ELF
FileHeader:
  Class:   ELFCLASS64
  Data:    ELFDATA2LSB
  Type:    ET_REL
  Machine: EM_ARM
Sections:
  - Name: exidx
    Type: SHT_ARM_EXIDX
  - Name: preemptmap
    Type: SHT_ARM_PREEMPTMAP
  - Name: attributes
    Type: SHT_ARM_ATTRIBUTES
  - Name: debugoverlay
    Type: SHT_ARM_DEBUGOVERLAY
  - Name: overlaysection
    Type: SHT_ARM_OVERLAYSECTION

--- !ELF
FileHeader:
  Class:   ELFCLASS64
  Data:    ELFDATA2LSB
  Type:    ET_REL
  Machine: EM_X86_64
Sections:
  - Name: unwind
    Type: SHT_X86_64_UNWIND

--- !ELF
FileHeader:
  Class:   ELFCLASS64
  Data:    ELFDATA2LSB
  Type:    ET_REL
  Machine: EM_MIPS
Sections:
  - Name: reginfo
    Type: SHT_MIPS_REGINFO
  - Name: options
    Type: SHT_MIPS_OPTIONS
  - Name: abiflags
    Type: SHT_MIPS_ABIFLAGS
    ISA:  MIPS64
  - Name: dwarf
    Type: SHT_MIPS_DWARF

--- !ELF
FileHeader:
  Class:   ELFCLASS64
  Data:    ELFDATA2LSB
  Type:    ET_REL
  Machine: EM_AARCH64
Sections:
  - Name: aarch64_auth_relr
    Type: SHT_AARCH64_AUTH_RELR
  - Name:  .memtag.globals.dynamic
    Type:  SHT_AARCH64_MEMTAG_GLOBALS_DYNAMIC
  - Name:  .memtag.globals.static
    Type:  SHT_AARCH64_MEMTAG_GLOBALS_STATIC

--- !ELF
FileHeader:
  Class:   ELFCLASS32
  Data:    ELFDATA2LSB
  Type:    ET_REL
  Machine: EM_HEXAGON
Sections:
  - Name: hexagon_ordered
    Type: SHT_HEX_ORDERED
  - Name: .hexagon.attributes
    Type: SHT_HEXAGON_ATTRIBUTES
