# Check that llvm-readobj shows arch specific ELF section flags.

# RUN: yaml2obj -docnum 1 %s > %t-amdgpu.o
# RUN: llvm-readobj -s %t-amdgpu.o | FileCheck -check-prefix=AMD %s

# AMD:      Flags [ (0x300000)
# AMD-NEXT:   SHF_AMDGPU_HSA_GLOBAL (0x100000)
# AMD-NEXT:   SHF_AMDGPU_HSA_READONLY (0x200000)
# AMD-NEXT: ]

# amdgpu.o
--- !ELF
FileHeader:
  Class:    ELFCLASS64
  Data:     ELFDATA2LSB
  OSABI:    ELFOSABI_GNU
  Type:     ET_REL
  Machine:  EM_AMDGPU
  Flags:    []
Sections:
  - Name:   .amdgpu
    Type:   SHT_PROGBITS
    Flags:  [SHF_AMDGPU_HSA_GLOBAL, SHF_AMDGPU_HSA_READONLY]
    Size:   4

# RUN: yaml2obj -docnum 2 %s > %t-hex.o
# RUN: llvm-readobj -s %t-hex.o | FileCheck -check-prefix=HEX %s

# HEX:      Flags [ (0x10000000)
# HEX-NEXT:   SHF_HEX_GPREL (0x10000000)
# HEX-NEXT: ]

# hex.o
--- !ELF
FileHeader:
  Class:    ELFCLASS32
  Data:     ELFDATA2LSB
  Type:     ET_REL
  Machine:  EM_HEXAGON
  Flags:    []
Sections:
  - Name:   .hex
    Type:   SHT_PROGBITS
    Flags:  [SHF_HEX_GPREL]
    Size:   4

# RUN: yaml2obj -docnum 3 %s > %t-mips.o
# RUN: llvm-readobj -s %t-mips.o | FileCheck -check-prefix=MIPS %s

# MIPS:      Flags [ (0x38000000)
# MIPS-NEXT:   SHF_MIPS_GPREL (0x10000000)
# MIPS-NEXT:   SHF_MIPS_MERGE (0x20000000)
# MIPS-NEXT:   SHF_MIPS_NOSTRIP (0x8000000)
# MIPS-NEXT: ]

# mips.o
--- !ELF
FileHeader:
  Class:    ELFCLASS32
  Data:     ELFDATA2LSB
  Type:     ET_REL
  Machine:  EM_MIPS
  Flags:    []
Sections:
  - Name:   .mips
    Type:   SHT_PROGBITS
    Flags:  [SHF_MIPS_GPREL, SHF_MIPS_MERGE, SHF_MIPS_NOSTRIP]
    Size:   4

# RUN: yaml2obj -docnum 4 %s > %t-x86_64.o
# RUN: llvm-readobj -s %t-x86_64.o | FileCheck -check-prefix=X86_64 %s

# X86_64:      Flags [ (0x10000000)
# X86_64-NEXT:   SHF_X86_64_LARGE (0x10000000)
# X86_64-NEXT: ]

# x86_64.o
--- !ELF
FileHeader:
  Class:    ELFCLASS64
  Data:     ELFDATA2LSB
  Type:     ET_REL
  Machine:  EM_X86_64
  Flags:    []
Sections:
  - Name:   .x86_64
    Type:   SHT_PROGBITS
    Flags:  [SHF_X86_64_LARGE]
    Size:   4
...
