# RUN: yaml2obj %s -o %t.o
# RUN: llvm-objcopy %t.o %t.2.o
# RUN: llvm-readelf --elf-section-groups --sections %t.o | FileCheck %s --check-prefix=IN
# RUN: llvm-readelf --elf-section-groups --sections %t.2.o | FileCheck %s --check-prefix=OUT

# In this test, .group gets moved to the beginning. Run readelf -gS on input as
# well as output to make sure it really moved, as well as to verify that we
# aren't purely sorting based on offsets (it gets moved to the beginning
# despite having a larger offset).

# IN:      There are 7 section headers, starting at offset 0x160:
# IN:        [Nr] Name              Type            Address          Off    Size
# IN-NEXT:   [ 0]                   NULL            0000000000000000 000000 000000
# IN-NEXT:   [ 1] .foo              PROGBITS        0000000000000000 000040 000040
# IN-NEXT:   [ 2] .group            GROUP           0000000000000000 000080 000008
# IN-NEXT:   [ 3] .bar              PROGBITS        0000000000000000 000088 000040

# IN:      COMDAT group section [    2] `.group' [bar] contains 1 sections:
# IN-NEXT:    [Index]    Name
# IN-NEXT:    [    3]   .bar

# OUT:      There are 7 section headers, starting at offset 0x160:
# OUT:        [Nr] Name              Type            Address          Off    Size
# OUT-NEXT:   [ 0]                   NULL            0000000000000000 000000 000000
# OUT-NEXT:   [ 1] .group            GROUP           0000000000000000 000040 000008
# OUT-NEXT:   [ 2] .foo              PROGBITS        0000000000000000 000048 000040
# OUT-NEXT:   [ 3] .bar              PROGBITS        0000000000000000 000088 000040

# OUT:      COMDAT group section [    1] `.group' [bar] contains 1 sections:
# OUT-NEXT:    [Index]    Name
# OUT-NEXT:    [    3]   .bar

--- !ELF
FileHeader:
  Class:           ELFCLASS64
  Data:            ELFDATA2LSB
  Type:            ET_REL
  Machine:         EM_X86_64
Sections:
  - Name:            .foo
    Type:            SHT_PROGBITS
    Flags:           [ SHF_ALLOC, SHF_EXECINSTR ]
    Size:            64
  - Name:            .group
    Type:            SHT_GROUP
    Link:            .symtab
    Info:            bar
    Members:
      - SectionOrType:   GRP_COMDAT
      - SectionOrType:   .bar
  - Name:            .bar
    Type:            SHT_PROGBITS
    Flags:           [ SHF_ALLOC, SHF_EXECINSTR, SHF_GROUP ]
    Size:            64
Symbols:
  - Name:            .foo
    Type:            STT_SECTION
    Section:         .foo
  - Name:            .bar
    Type:            STT_SECTION
    Section:         .bar
  - Name:            bar
    Type:            STT_FUNC
    Section:         .foo
