## Check that llvm-readelf and llvm-readobj can
## dump SHT_GROUP sections properly.

# RUN: yaml2obj %s -o %t.o
# RUN: llvm-readobj -g %t.o | FileCheck %s
# RUN: llvm-readelf -g %t.o | FileCheck --check-prefix=GNU %s

# CHECK:      Groups {
# CHECK-NEXT:   Group {
# CHECK-NEXT:     Name: .group
# CHECK-NEXT:     Index: 1
# CHECK-NEXT:     Link: 7
# CHECK-NEXT:     Info: 1
# CHECK-NEXT:     Type: COMDAT
# CHECK-NEXT:     Signature: foo
# CHECK-NEXT:     Section(s) in group [
# CHECK-NEXT:       .text.foo
# CHECK-NEXT:       .rela.text.foo
# CHECK-NEXT:     ]
# CHECK-NEXT:   }
# CHECK-NEXT:   Group {
# CHECK-NEXT:     Name: .group1
# CHECK-NEXT:     Index: 2
# CHECK-NEXT:     Link: 7
# CHECK-NEXT:     Info: 2
# CHECK-NEXT:     Type: COMDAT
# CHECK-NEXT:     Signature: bar
# CHECK-NEXT:     Section(s) in group [
# CHECK-NEXT:       .text.bar
# CHECK-NEXT:       .rela.text.bar
# CHECK-NEXT:     ]
# CHECK-NEXT:   }

# GNU:      COMDAT group section [    1] `.group' [foo] contains 2 sections:
# GNU-NEXT:  [Index]  Name
# GNU-NEXT:  [    3] .text.foo
# GNU-NEXT:  [    4] .rela.text.foo
# GNU:      COMDAT group section [    2] `.group1' [bar] contains 2 sections:
# GNU-NEXT:  [Index]  Name
# GNU-NEXT:  [    5] .text.bar
# GNU-NEXT:  [    6] .rela.text.bar

--- !ELF
FileHeader:
  Class:   ELFCLASS64
  Data:    ELFDATA2LSB
  Type:    ET_REL
  Machine: EM_X86_64
Sections:
  - Name: .group
    Type: SHT_GROUP
    Link: .symtab
    Info: foo
    Members:
      - SectionOrType: GRP_COMDAT
      - SectionOrType: .text.foo
      - SectionOrType: .rela.text.foo
  - Name: .group1
    Type: SHT_GROUP
    Link: .symtab
    Info: bar
    Members:
      - SectionOrType: GRP_COMDAT
      - SectionOrType: .text.bar
      - SectionOrType: .rela.text.bar
  - Name:  .text.foo
    Type:  SHT_PROGBITS
  - Name: .rela.text.foo
    Type: SHT_RELA
    Link: .symtab
    Info: .text.foo
  - Name: .text.bar
    Type: SHT_PROGBITS
  - Name: .rela.text.bar
    Type: SHT_RELA
    Link: .symtab
    Info: .text.bar
Symbols:
  - Name:    foo
    Section: .text.foo
  - Name:    bar
    Section: .text.bar
