Lines Matching refs:Section

254 static bool isRequiredForExecution(const SectionRef Section) {  in isRequiredForExecution()  argument
255 const ObjectFile *Obj = Section.getObject(); in isRequiredForExecution()
257 return ELFSectionRef(Section).getFlags() & ELF::SHF_ALLOC; in isRequiredForExecution()
259 const coff_section *CoffSection = COFFObj->getCOFFSection(Section); in isRequiredForExecution()
276 static bool isReadOnlyData(const SectionRef Section) { in isReadOnlyData() argument
277 const ObjectFile *Obj = Section.getObject(); in isReadOnlyData()
279 return !(ELFSectionRef(Section).getFlags() & in isReadOnlyData()
282 return ((COFFObj->getCOFFSection(Section)->Characteristics & in isReadOnlyData()
294 static bool isZeroInit(const SectionRef Section) { in isZeroInit() argument
295 const ObjectFile *Obj = Section.getObject(); in isZeroInit()
297 return ELFSectionRef(Section).getType() == ELF::SHT_NOBITS; in isZeroInit()
299 return COFFObj->getCOFFSection(Section)->Characteristics & in isZeroInit()
303 unsigned SectionType = MachO->getSectionType(Section); in isZeroInit()
324 const SectionRef &Section = *SI; in computeTotalAllocSize() local
326 bool IsRequired = isRequiredForExecution(Section); in computeTotalAllocSize()
331 uint64_t DataSize = Section.getSize(); in computeTotalAllocSize()
332 uint64_t Alignment64 = Section.getAlignment(); in computeTotalAllocSize()
333 bool IsCode = Section.isText(); in computeTotalAllocSize()
334 bool IsReadOnly = isReadOnlyData(Section); in computeTotalAllocSize()
335 Check(Section.getName(Name)); in computeTotalAllocSize()
338 uint64_t StubBufSize = computeSectionStubBufSize(Obj, Section); in computeTotalAllocSize()
394 const SectionRef &Section) { in computeSectionStubBufSize() argument
406 if (!(RelSecI == Section)) in computeSectionStubBufSize()
416 uint64_t DataSize = Section.getSize(); in computeSectionStubBufSize()
417 uint64_t Alignment64 = Section.getAlignment(); in computeSectionStubBufSize()
530 const SectionRef &Section, bool IsCode) { in emitSection() argument
533 uint64_t Alignment64 = Section.getAlignment(); in emitSection()
539 bool IsRequired = isRequiredForExecution(Section); in emitSection()
540 bool IsVirtual = Section.isVirtual(); in emitSection()
541 bool IsZeroInit = isZeroInit(Section); in emitSection()
542 bool IsReadOnly = isReadOnlyData(Section); in emitSection()
543 uint64_t DataSize = Section.getSize(); in emitSection()
544 Check(Section.getName(Name)); in emitSection()
546 StubBufSize = computeSectionStubBufSize(Obj, Section); in emitSection()
561 Check(Section.getContents(data)); in emitSection()
618 const SectionRef &Section, in findOrEmitSection() argument
623 ObjSectionToIDMap::iterator i = LocalSections.find(Section); in findOrEmitSection()
627 SectionID = emitSection(Obj, Section, IsCode); in findOrEmitSection()
628 LocalSections[Section] = SectionID; in findOrEmitSection()