Lines Matching defs:osec

144   if (secRef && secRef->osec.location.empty()) {
154 sec->osec.location = std::string(location);
294 for (SectionCommand *subCmd : cast<OutputDesc>(cmd)->osec.commands)
331 cast<OutputDesc>(subCmd)->osec.name == name;
342 return to != nullptr && to->osec.name == cmd.where;
373 const OutputSection &sec = cast<OutputDesc>(cmd)->osec;
711 auto process = [this](OutputSection *osec) {
712 SmallVector<InputSectionBase *, 0> v = createInputSectionList(*osec);
716 if (osec->name == "/DISCARD/") {
719 discardSynthetic(*osec);
720 osec->commands.clear();
731 if (!matchConstraints(v, osec->constraint)) {
734 osec->commands.clear();
741 if (osec->subalignExpr) {
742 uint32_t subalign = osec->subalignExpr().getValue();
750 osec->partition = 1;
762 OutputSection *osec = &osd->osec;
763 if (process(osec) &&
764 !map.try_emplace(CachedHashStringRef(osec->name), osd).second)
765 Warn(ctx) << "OVERWRITE_SECTIONS specifies duplicate " << osec->name;
769 OutputSection *osec = &osd->osec;
770 if (OutputDesc *overwrite = map.lookup(CachedHashStringRef(osec->name))) {
771 Log(ctx) << overwrite->osec.location << " overwrites " << osec->name;
772 overwrite->osec.sectionIndex = i++;
774 } else if (process(osec)) {
775 osec->sectionIndex = i++;
805 OutputSection *os = &osd->osec;
826 if (osd->osec.partition == 1 && osd->osec.sectionIndex == UINT32_MAX)
864 for (SectionCommand *subCmd : osd->osec.commands)
876 if (osd->osec.name == name)
877 return &osd->osec;
884 osd->osec.recordSection(isec);
917 out->relocationSection = &osd->osec;
988 v.push_back(&osd->osec);
1351 auto *sec = &cast<OutputDesc>(cmd)->osec;
1415 OutputSection *sec = &osd->osec;
1444 maybePropagatePhdrs(osd->osec, defPhdrs);
1539 if (assignOffsets(&cast<OutputDesc>(cmd)->osec) && !changedOsec)
1540 changedOsec = &cast<OutputDesc>(cmd)->osec;
1567 OutputSection *osec = &osd->osec;
1568 if (!osec->memRegion)
1575 for (SectionCommand *cmd : reverse(osec->commands)) {
1576 if (!hasRegionOverflowed(osec->memRegion) &&
1577 !hasRegionOverflowed(osec->lmaRegion))
1610 osec->memRegion->curPos -= isec->getSize();
1611 if (osec->lmaRegion)
1612 osec->lmaRegion->curPos -= isec->getSize();
1617 if (!hasRegionOverflowed(osec->memRegion) &&
1618 !hasRegionOverflowed(osec->lmaRegion))
1786 const OutputSection *osec, uint64_t addr) {
1787 uint64_t osecEnd = addr + osec->size;
1790 ErrAlways(ctx) << "section '" << osec->name << "' will not fit in region '"