Lines Matching refs:osec
250 for (const OutputSection *osec : seg->getSections()) { in writeTo() local
251 if (osec->isHidden()) in writeTo()
257 memcpy(sectHdr->sectname, osec->name.data(), osec->name.size()); in writeTo()
260 sectHdr->addr = osec->addr; in writeTo()
261 sectHdr->offset = osec->fileOff; in writeTo()
262 sectHdr->align = Log2_32(osec->align); in writeTo()
263 sectHdr->flags = osec->flags; in writeTo()
264 sectHdr->size = osec->getSize(); in writeTo()
265 sectHdr->reserved1 = osec->reserved1; in writeTo()
266 sectHdr->reserved2 = osec->reserved2; in writeTo()
965 for (const OutputSection *osec : seg->getSections()) in sortSegmentsAndSections() local
966 if (isThreadLocalData(osec->flags) && osec->align > tlvAlign) in sortSegmentsAndSections()
967 tlvAlign = osec->align; in sortSegmentsAndSections()
969 for (OutputSection *osec : seg->getSections()) { in sortSegmentsAndSections()
972 if (!osec->isHidden()) in sortSegmentsAndSections()
973 osec->index = ++sectionIndex; in sortSegmentsAndSections()
974 if (isThreadLocalData(osec->flags)) { in sortSegmentsAndSections()
976 firstTLVDataSection = osec; in sortSegmentsAndSections()
977 osec->align = tlvAlign; in sortSegmentsAndSections()
981 if (auto *merged = dyn_cast<ConcatOutputSection>(osec)) { in sortSegmentsAndSections()
1020 ConcatOutputSection *osec = cast<ConcatOutputSection>(isec->parent); in createOutputSections() local
1021 osec->addInput(isec); in createOutputSections()
1022 osec->inputOrder = in createOutputSections()
1023 std::min(osec->inputOrder, static_cast<int>(isec->outSecOff)); in createOutputSections()
1030 ConcatOutputSection *osec = it.second; in createOutputSections() local
1032 if (osec->isNeeded()) { in createOutputSections()
1034 if (osec->name == section_names::ehFrame && in createOutputSections()
1036 osec->align = target->wordSize; in createOutputSections()
1041 if (isThreadLocalVariables(osec->flags)) in createOutputSections()
1042 osec->align = std::max<uint32_t>(osec->align, target->wordSize); in createOutputSections()
1044 getOrCreateOutputSegment(segname)->addOutputSection(osec); in createOutputSections()
1080 for (OutputSection *osec : seg->getSections()) { in finalizeAddresses()
1081 if (!osec->isNeeded()) in finalizeAddresses()
1084 if (auto *concatOsec = dyn_cast<ConcatOutputSection>(osec)) in finalizeAddresses()
1125 [](LinkEditSection *osec) { in finalizeLinkEditSegment() argument
1126 if (osec) in finalizeLinkEditSegment()
1127 osec->finalizeContents(); in finalizeLinkEditSegment()
1142 for (OutputSection *osec : seg->getSections()) { in assignAddresses()
1143 if (!osec->isNeeded()) in assignAddresses()
1145 addr = alignToPowerOf2(addr, osec->align); in assignAddresses()
1146 fileOff = alignToPowerOf2(fileOff, osec->align); in assignAddresses()
1147 osec->addr = addr; in assignAddresses()
1148 osec->fileOff = isZeroFill(osec->flags) ? 0 : fileOff; in assignAddresses()
1149 osec->finalize(); in assignAddresses()
1150 osec->assignAddressesToStartEndSymbols(); in assignAddresses()
1152 addr += osec->getSize(); in assignAddresses()
1153 fileOff += osec->getFileSize(); in assignAddresses()
1177 parallelForEach(osecs.begin(), osecs.end(), [&](const OutputSection *osec) { in writeSections() argument
1178 osec->writeTo(buf + osec->fileOff); in writeSections()