Lines Matching refs:virtual

58   virtual ~TargetLDBackend();
61 virtual void initTargetSegments(IRBuilder& pBuilder) {} in initTargetSegments()
62 virtual void initTargetSections(Module& pModule, ObjectBuilder& pBuilder) {} in initTargetSections()
63 virtual void initTargetSymbols(IRBuilder& pBuilder, Module& pModule) {} in initTargetSymbols()
64 virtual void initTargetRelocation(IRBuilder& pBuilder) {} in initTargetRelocation()
65 virtual bool initStandardSymbols(IRBuilder& pBuilder, Module& pModule) = 0;
67 virtual bool initRelocator() = 0;
69 virtual Relocator* getRelocator() = 0;
70 virtual const Relocator* getRelocator() const = 0;
73 virtual ArchiveReader* createArchiveReader(Module&) = 0;
74 virtual ObjectReader* createObjectReader(IRBuilder&) = 0;
75 virtual DynObjReader* createDynObjReader(IRBuilder&) = 0;
76 virtual BinaryReader* createBinaryReader(IRBuilder&) = 0;
77 virtual ObjectWriter* createWriter() = 0;
79 virtual bool initStdSections(ObjectBuilder& pBuilder) = 0;
82 virtual void layout(Module& pModule) = 0;
85 virtual void preLayout(Module& pModule, IRBuilder& pBuilder) = 0;
88 virtual void postLayout(Module& pModule, IRBuilder& pBuilder) = 0;
91 virtual void postProcessing(FileOutputBuffer& pOutput) = 0;
94 virtual size_t sectionStartOffset() const = 0;
97 virtual unsigned int getSectionOrder(const LDSection& pSectHdr) const = 0;
102 virtual void sizeNamePools(Module& pModule) = 0;
108 virtual bool finalizeSymbols() = 0;
112 virtual bool finalizeTLSSymbol(LDSymbol& pSymbol) = 0;
116 virtual bool allocateCommonSymbols(Module& pModule) = 0;
119 virtual void preMergeSections(Module& pModule) { } in preMergeSections()
122 virtual void postMergeSections(Module& pModule) { } in postMergeSections()
125 virtual bool mergeSection(Module& pModule, in mergeSection()
134 virtual void setUpReachedSectionsForGC( in setUpReachedSectionsForGC()
142 virtual bool updateSectionFlags(LDSection& pTo, const LDSection& pFrom) { in updateSectionFlags()
147 virtual bool readSection(Input& pInput, SectionData& pSD) { return true; } in readSection()
151 virtual void sizeInterp() = 0;
154 virtual llvm::StringRef getEntry(const Module& pModule) const = 0;
157 virtual bool initBRIslandFactory() = 0;
158 virtual bool initStubFactory() = 0;
159 virtual bool initTargetStubs() { return true; } in initTargetStubs()
161 virtual BranchIslandFactory* getBRIslandFactory() = 0;
162 virtual StubFactory* getStubFactory() = 0;
165 virtual bool relax(Module& pModule, IRBuilder& pBuilder) = 0;
168 virtual bool mayRelax() = 0;
171 virtual uint64_t commonPageSize() const = 0;
174 virtual uint64_t abiPageSize() const = 0;
178 virtual void sortRelocation(LDSection& pSection) = 0;
182 virtual void createAndSizeEhFrameHdr(Module& pModule) = 0;
186 virtual bool isSymbolPreemptible(const ResolveInfo& pSym) const = 0;
190 virtual bool mayHaveUnsafeFunctionPointerAccess(