void ConcatOutputSection::finalizeFlags(InputSection *input) {
switch (sectionType(input->getFlags())) {
default /*type-unspec'ed*/:
- // FIXME: Add additional logics here when supporting emitting obj files.
+ // FIXME: Add additional logic here when supporting emitting obj files.
break;
case S_4BYTE_LITERALS:
case S_8BYTE_LITERALS:
auto newNames = config->sectionRenameMap.find(key);
if (newNames != config->sectionRenameMap.end())
return newNames->second;
- auto newName = config->segmentRenameMap.find(key.first);
- if (newName != config->segmentRenameMap.end())
- return std::make_pair(newName->second, key.second);
return key;
}
static DenseMap<StringRef, OutputSegment *> nameToOutputSegment;
std::vector<OutputSegment *> macho::outputSegments;
+static StringRef maybeRenameSegment(StringRef name) {
+ auto newName = config->segmentRenameMap.find(name);
+ if (newName != config->segmentRenameMap.end())
+ return newName->second;
+ return name;
+}
+
OutputSegment *macho::getOrCreateOutputSegment(StringRef name) {
+ name = maybeRenameSegment(name);
+
OutputSegment *&segRef = nameToOutputSegment[name];
if (segRef)
return segRef;
# SECTSEGYES-NEXT: segname __TEXT
# SECTSEGYES: Section
# SECTSEGYES-NEXT: sectname __to_sect
-# SECTSEGYES-NEXT: segname __TO_SECT
-## FIXME: ^ This should use __SEG like ld64 does.
+# SECTSEGYES-NEXT: segname __SEG
## ...but rename_segment has no effect if it doesn't match the name after
## rename_section is applied.
# RUN: %lld -dylib \