## Check how llvm-readobj prints sections with --sections.
## We test the --sections flag for llvm-readelf in the gnu-sections.test.

# RUN: yaml2obj %s -o %t64
# RUN: llvm-readobj --sections %t64 | FileCheck %s --check-prefixes=ELF,ELF64
# RUN: yaml2obj -DBITS=32 %s -o %t32
# RUN: llvm-readobj --sections %t32 | FileCheck %s --check-prefixes=ELF,ELF32

## Check flag aliases produce identical output.
# RUN: llvm-readobj --sections %t64 > %t64.llvm.sections
# RUN: llvm-readobj -S %t64 > %t64.llvm.upper.s
# RUN: cmp %t64.llvm.sections %t64.llvm.upper.s
# RUN: llvm-readobj -s %t64 > %t64.llvm.lower.s
# RUN: cmp %t64.llvm.sections %t64.llvm.lower.s
# RUN: llvm-readobj --section-headers %t64 > %t64.llvm.section-headers
# RUN: cmp %t64.llvm.sections %t64.llvm.section-headers

# RUN: llvm-readobj --sections %t32 > %t32.llvm.sections
# RUN: llvm-readobj -S %t32 > %t32.llvm.upper.s
# RUN: cmp %t32.llvm.sections %t32.llvm.upper.s
# RUN: llvm-readobj -s %t32 > %t32.llvm.lower.s
# RUN: cmp %t32.llvm.sections %t32.llvm.lower.s
# RUN: llvm-readobj --section-headers %t32 > %t32.llvm.section-headers
# RUN: cmp %t32.llvm.sections %t32.llvm.section-headers

# ELF:      Sections [
# ELF-NEXT:   Section {
# ELF-NEXT:     Index: 0
# ELF-NEXT:     Name:  (0)
# ELF-NEXT:     Type: SHT_NULL (0x0)
# ELF-NEXT:     Flags [ (0x0)
# ELF-NEXT:     ]
# ELF-NEXT:     Address: 0x0
# ELF-NEXT:     Offset: 0x0
# ELF-NEXT:     Size: 0
# ELF-NEXT:     Link: 0
# ELF-NEXT:     Info: 0
# ELF-NEXT:     AddressAlignment: 0
# ELF-NEXT:     EntrySize: 0
# ELF-NEXT:   }
# ELF-NEXT:   Section {
# ELF-NEXT:     Index: 1
# ELF-NEXT:     Name: .foo (1)
# ELF-NEXT:     Type: SHT_PROGBITS (0x1)
# ELF-NEXT:     Flags [ (0x3)
# ELF-NEXT:       SHF_ALLOC (0x2)
# ELF-NEXT:       SHF_WRITE (0x1)
# ELF-NEXT:     ]
# ELF-NEXT:     Address: 0x2
# ELF64-NEXT:   Offset: 0x41
# ELF32-NEXT:   Offset: 0x37
# ELF-NEXT:     Size: 3
# ELF-NEXT:     Link: 4
# ELF-NEXT:     Info: 1
# ELF-NEXT:     AddressAlignment: 5
# ELF-NEXT:     EntrySize: 6
# ELF-NEXT:   }
# ELF-NEXT:   Section {
# ELF-NEXT:     Index: 2
# ELF-NEXT:     Name: .strtab (16)
# ELF-NEXT:     Type: SHT_STRTAB (0x3)
# ELF-NEXT:     Flags [ (0x0)
# ELF-NEXT:     ]
# ELF-NEXT:     Address: 0x0
# ELF64-NEXT:   Offset: 0x44
# ELF32-NEXT:   Offset: 0x3A
# ELF-NEXT:     Size: 1
# ELF-NEXT:     Link: 0
# ELF-NEXT:     Info: 0
# ELF-NEXT:     AddressAlignment: 1
# ELF-NEXT:     EntrySize: 0
# ELF-NEXT:   }
# ELF-NEXT:   Section {
# ELF-NEXT:     Index: 3
# ELF-NEXT:     Name: .shstrtab (6)
# ELF-NEXT:     Type: SHT_STRTAB (0x3)
# ELF-NEXT:     Flags [ (0x0)
# ELF-NEXT:     ]
# ELF-NEXT:     Address: 0x0
# ELF64-NEXT:   Offset: 0x45
# ELF32-NEXT:   Offset: 0x3B
# ELF-NEXT:     Size: 24
# ELF-NEXT:     Link: 0
# ELF-NEXT:     Info: 0
# ELF-NEXT:     AddressAlignment: 1
# ELF-NEXT:     EntrySize: 0
# ELF-NEXT:   }
# ELF-NEXT: ]

--- !ELF
FileHeader:
  Class: ELFCLASS[[BITS=64]]
  Data:  ELFDATA2LSB
  Type:  ET_REL
Sections:
  - Name:         .foo
    Type:         SHT_PROGBITS
    Info:         1
    Address:      0x2
    Size:         0x3
    Flags:        [ SHF_WRITE, SHF_ALLOC ]
    Link:         4
    AddressAlign: 5
    EntSize:      6
