File tree Expand file tree Collapse file tree 3 files changed +2
-61
lines changed
test/tools/llvm-objcopy/ELF Expand file tree Collapse file tree 3 files changed +2
-61
lines changed Original file line number Diff line number Diff line change @@ -2239,17 +2239,8 @@ Error Object::removeSections(
2239
2239
// Transfer removed sections into the Object RemovedSections container for use
2240
2240
// later.
2241
2241
std::move (Iter, Sections.end (), std::back_inserter (RemovedSections));
2242
- // Now get rid of them altogether .
2242
+ // Now finally get rid of them all together .
2243
2243
Sections.erase (Iter, std::end (Sections));
2244
-
2245
- // Finally erase empty SHT_GROUP sections.
2246
- llvm::erase_if (Sections, [](const SecPtr &Sec) {
2247
- if (auto GroupSec = dyn_cast<GroupSection>(Sec.get ()))
2248
- return GroupSec->getMembersCount () == 0 ;
2249
-
2250
- return false ;
2251
- });
2252
-
2253
2244
return Error::success ();
2254
2245
}
2255
2246
Original file line number Diff line number Diff line change @@ -964,8 +964,6 @@ class GroupSection : public SectionBase {
964
964
const DenseMap<SectionBase *, SectionBase *> &FromTo) override ;
965
965
void onRemove () override ;
966
966
967
- size_t getMembersCount () const { return GroupMembers.size (); }
968
-
969
967
static bool classof (const SectionBase *S) {
970
968
return S->OriginalType == ELF::SHT_GROUP;
971
969
}
Original file line number Diff line number Diff line change 1
1
## This checks that the group section is shrunk when its member is removed.
2
2
3
- # RUN: yaml2obj --docnum=1 %s -o - \
3
+ # RUN: yaml2obj %s -o - \
4
4
# RUN: | llvm-objcopy -R .foo - - \
5
5
# RUN: | obj2yaml - \
6
6
# RUN: | FileCheck %s
@@ -35,51 +35,3 @@ Symbols:
35
35
- Name: foo_bar_grp
36
36
Section: .group
37
37
Binding: STB_GLOBAL
38
-
39
- # RUN: yaml2obj --docnum=2 %s -o %t
40
- # RUN: llvm-objcopy --remove-section=.debug_macro %t
41
- # RUN: llvm-readelf --section-groups %t | FileCheck %s --check-prefix=GROUP-REMOVED
42
-
43
- --- !ELF
44
- FileHeader:
45
- Class: ELFCLASS64
46
- Data: ELFDATA2LSB
47
- Type: ET_REL
48
- Machine: EM_X86_64
49
- Sections:
50
- - Name: .group
51
- Type: SHT_GROUP
52
- Info: foo_grp
53
- Members:
54
- - SectionOrType: GRP_COMDAT
55
- - SectionOrType: .debug_macro
56
- - Name: .debug_macro
57
- Type: SHT_PROGBITS
58
- Flags: [ SHF_GROUP ]
59
- Symbols:
60
- - Name: foo_grp
61
- Section: .group
62
-
63
- # GROUP-REMOVED: There are no section groups in this file.
64
-
65
- # RUN: yaml2obj --docnum=3 %s -o %t
66
- # RUN: llvm-objcopy --remove-section=.group %t
67
- # RUN: llvm-readelf --section-groups %t | FileCheck %s --check-prefix=EMPTY-GROUP-REMOVED
68
-
69
- --- !ELF
70
- FileHeader:
71
- Class: ELFCLASS64
72
- Data: ELFDATA2LSB
73
- Type: ET_REL
74
- Machine: EM_X86_64
75
- Sections:
76
- - Name: .group
77
- Type: SHT_GROUP
78
- Info: foo_grp
79
- Members:
80
- - SectionOrType: GRP_COMDAT
81
- Symbols:
82
- - Name: foo_grp
83
- Section: .group
84
-
85
- # EMPTY-GROUP-REMOVED: There are no section groups in this file.
You can’t perform that action at this time.
0 commit comments