blob: d5a0260711328aea09b96e240b638ca89d5acb93 [file] [log] [blame]
Alexander Shaposhnikov6ecc6e62018-03-21 19:53:44 +00001# 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