Lines Matching refs:DefinedAtom
48 const DefinedAtom *atom;
115 void processAtomAttributes(const DefinedAtom *atom);
116 void assignAtomToSection(const DefinedAtom *atom);
149 typedef std::map<DefinedAtom::ContentType, SectionInfo*> TypeToSection;
155 SectionInfo *sectionForAtom(const DefinedAtom*);
156 SectionInfo *getRelocatableSection(DefinedAtom::ContentType type);
157 SectionInfo *getFinalSection(DefinedAtom::ContentType type);
158 void appendAtom(SectionInfo *sect, const DefinedAtom *atom);
163 uint16_t descBits(const DefinedAtom* atom);
167 const Atom *targetOfLazyPointer(const DefinedAtom *lpAtom);
168 const Atom *targetOfStub(const DefinedAtom *stubAtom);
169 llvm::Error getSymbolTableRegion(const DefinedAtom* atom,
174 void fixLazyReferenceImm(const DefinedAtom *atom, uint32_t offset,
200 const DefinedAtom *_entryAtom;
228 SectionInfo *Util::getRelocatableSection(DefinedAtom::ContentType type) { in getRelocatableSection()
257 {seg, sect, type, DefinedAtom::atomType }
263 DefinedAtom::ContentType atomType;
306 SectionInfo *Util::getFinalSection(DefinedAtom::ContentType atomType) { in getFinalSection()
312 case DefinedAtom::typeMachHeader: in getFinalSection()
313 case DefinedAtom::typeCode: in getFinalSection()
314 case DefinedAtom::typeStub: in getFinalSection()
315 case DefinedAtom::typeStubHelper: in getFinalSection()
318 case DefinedAtom::typeThunkTLV: in getFinalSection()
343 SectionInfo *Util::sectionForAtom(const DefinedAtom *atom) { in sectionForAtom()
344 if (atom->sectionChoice() == DefinedAtom::sectionBasedOnContent) { in sectionForAtom()
346 DefinedAtom::ContentType type = atom->contentType(); in sectionForAtom()
357 const DefinedAtom *firstAtom = sect->atomsAndOffsets.front().atom; in sectionForAtom()
376 void Util::appendAtom(SectionInfo *sect, const DefinedAtom *atom) { in appendAtom()
379 DefinedAtom::Alignment atomAlign = atom->alignment(); in appendAtom()
400 for (const DefinedAtom *atom : atomFile.defined()) { in processDefinedAtoms()
406 void Util::processAtomAttributes(const DefinedAtom *atom) { in processAtomAttributes()
428 void Util::assignAtomToSection(const DefinedAtom *atom) { in assignAtomToSection()
429 if (atom->contentType() == DefinedAtom::typeMachHeader) { in assignAtomToSection()
434 } else if (atom->contentType() == DefinedAtom::typeDSOHandle) in assignAtomToSection()
745 if (lookForEntry && (info.atom->contentType() == DefinedAtom::typeCode) && in buildAtomToAddressMap()
770 if (auto *definedAtom = dyn_cast<DefinedAtom>(atom)) { in buildAtomToAddressMap()
801 std::vector<const DefinedAtom*> atomsNeedingDebugNotes; in synthesizeDebugNotes()
808 if (const DefinedAtom *atom = dyn_cast<DefinedAtom>(info.atom)) { in synthesizeDebugNotes()
814 if (atom->contentType() == DefinedAtom::typeCFI || in synthesizeDebugNotes()
815 atom->contentType() == DefinedAtom::typeCString) in synthesizeDebugNotes()
841 [](const DefinedAtom *lhs, const DefinedAtom *rhs) { in synthesizeDebugNotes()
855 for (const DefinedAtom *atom : atomsNeedingDebugNotes) { in synthesizeDebugNotes()
912 if (atom->contentType() == DefinedAtom::typeCode) { in synthesizeDebugNotes()
947 uint16_t Util::descBits(const DefinedAtom* atom) { in descBits()
950 case lld::DefinedAtom::mergeNo: in descBits()
951 case lld::DefinedAtom::mergeAsTentative: in descBits()
953 case lld::DefinedAtom::mergeAsWeak: in descBits()
954 case lld::DefinedAtom::mergeAsWeakAndAddressUsed: in descBits()
957 case lld::DefinedAtom::mergeSameNameAndSize: in descBits()
958 case lld::DefinedAtom::mergeByLargestSection: in descBits()
959 case lld::DefinedAtom::mergeByContent: in descBits()
963 if (atom->contentType() == lld::DefinedAtom::typeResolver) in descBits()
965 if (atom->contentType() == lld::DefinedAtom::typeMachHeader) in descBits()
969 if (atom->deadStrip() == DefinedAtom::deadStripNever && in descBits()
971 if ((atom->contentType() != DefinedAtom::typeInitializerPtr) in descBits()
972 && (atom->contentType() != DefinedAtom::typeTerminatorPtr)) in descBits()
983 llvm::Error Util::getSymbolTableRegion(const DefinedAtom* atom, in getSymbolTableRegion()
1058 const DefinedAtom *atom = info.atom; in addSymbols()
1107 sym.desc = descBits(static_cast<const DefinedAtom*>(ai.atom)); in addSymbols()
1148 const Atom *Util::targetOfLazyPointer(const DefinedAtom *lpAtom) { in targetOfLazyPointer()
1157 const Atom *Util::targetOfStub(const DefinedAtom *stubAtom) { in targetOfStub()
1160 if (const DefinedAtom *lpAtom = dyn_cast<DefinedAtom>(ta)) { in targetOfStub()
1318 const DefinedAtom *atom = info.atom; in addSectionRelocs()
1323 if (si->relocsToDefinedCanBeImplicit && isa<DefinedAtom>(ref->target())) in addSectionRelocs()
1345 if (type == DefinedAtom::typeMachHeader) { in addFunctionStarts()
1349 if (type != DefinedAtom::typeCode) in addFunctionStarts()
1433 const DefinedAtom *atom = info.atom; in addRebaseAndBindingInfo()
1440 if (isa<DefinedAtom>(targ)) { in addRebaseAndBindingInfo()
1492 void Util::fixLazyReferenceImm(const DefinedAtom *atom, uint32_t offset, in fixLazyReferenceImm()
1495 const DefinedAtom *da = dyn_cast<DefinedAtom>(ref->target()); in fixLazyReferenceImm()
1539 const DefinedAtom *atom = info.atom; in addExportInfo()
1550 if (atom->merge() == DefinedAtom::mergeAsWeak) in addExportInfo()