1# RUN: yaml2obj %s > %t
2# RUN: llvm-objcopy -remove-section=.text.bar %t %t2
3# RUN: llvm-readobj -elf-section-groups %t2 | FileCheck %s
4
5# In this test the section .text.bar is getting removed, as a result,
6# the indices of the sections which go after .text.bar will change,
7# thus the fields Link, Info and the content of .group should be updated.
8
9# CHECK:           Name: .group
10# CHECK-NEXT:      Index: 1
11# CHECK-NEXT:      Link: 3
12# CHECK-NEXT:      Info: 2
13# CHECK-NEXT:      Type: COMDAT (0x1)
14# CHECK-NEXT:      Signature: foo
15# CHECK:           .text.foo (2)
16
17--- !ELF
18FileHeader:
19  Class:           ELFCLASS64
20  Data:            ELFDATA2MSB
21  Type:            ET_REL
22  Machine:         EM_X86_64
23Sections:
24  - Name:            .group
25    Type:            SHT_GROUP
26    Link:            .symtab
27    AddressAlign:    0x0000000000000004
28    Info:            foo
29    Members:
30      - SectionOrType:   GRP_COMDAT
31      - SectionOrType:   .text.foo
32  - Name:            .text.bar
33    Type:            SHT_PROGBITS
34    Flags:           [ SHF_ALLOC, SHF_EXECINSTR ]
35    AddressAlign:    0x0000000000000010
36  - Name:            .text.foo
37    Type:            SHT_PROGBITS
38    Flags:           [ SHF_ALLOC, SHF_EXECINSTR, SHF_GROUP ]
39    AddressAlign:    0x0000000000000010
40Symbols:
41  Local:
42    - Name:            .text.bar
43      Type:            STT_SECTION
44      Section:         .text.bar
45    - Name:            .text.foo
46      Type:            STT_SECTION
47      Section:         .text.foo
48  Weak:
49    - Name:            bar
50      Type:            STT_FUNC
51      Section:         .text.bar
52      Size:            0x0000000000000000
53    - Name:            foo
54      Type:            STT_FUNC
55      Section:         .text.foo
56      Size:            0x0000000000000000
57