Lines Matching refs:Stub
181 explicit ELFStubBuilder(const IFSStub &Stub) { in ELFStubBuilder() argument
192 for (const IFSSymbol &Sym : Stub.Symbols) in ELFStubBuilder()
194 for (const std::string &Lib : Stub.NeededLibs) in ELFStubBuilder()
196 if (Stub.SoName) in ELFStubBuilder()
197 DynStr.Content.add(*Stub.SoName); in ELFStubBuilder()
214 for (const IFSSymbol &Sym : Stub.Symbols) { in ELFStubBuilder()
230 for (const std::string &Lib : Stub.NeededLibs) in ELFStubBuilder()
232 if (Stub.SoName) in ELFStubBuilder()
234 DynStr.Content.getOffset(*Stub.SoName)); in ELFStubBuilder()
253 initELFHeader<ELFT>(ElfHeader, static_cast<uint16_t>(*Stub.Target.Arch)); in ELFStubBuilder()
656 static Error writeELFBinaryToFile(StringRef FilePath, const IFSStub &Stub, in writeELFBinaryToFile() argument
658 ELFStubBuilder<ELFT> Builder{Stub}; in writeELFBinaryToFile()
711 Error writeBinaryStub(StringRef FilePath, const IFSStub &Stub, in writeBinaryStub() argument
713 assert(Stub.Target.Arch); in writeBinaryStub()
714 assert(Stub.Target.BitWidth); in writeBinaryStub()
715 assert(Stub.Target.Endianness); in writeBinaryStub()
716 if (Stub.Target.BitWidth == IFSBitWidthType::IFS32) { in writeBinaryStub()
717 if (Stub.Target.Endianness == IFSEndiannessType::Little) { in writeBinaryStub()
718 return writeELFBinaryToFile<ELF32LE>(FilePath, Stub, WriteIfChanged); in writeBinaryStub()
720 return writeELFBinaryToFile<ELF32BE>(FilePath, Stub, WriteIfChanged); in writeBinaryStub()
723 if (Stub.Target.Endianness == IFSEndiannessType::Little) { in writeBinaryStub()
724 return writeELFBinaryToFile<ELF64LE>(FilePath, Stub, WriteIfChanged); in writeBinaryStub()
726 return writeELFBinaryToFile<ELF64BE>(FilePath, Stub, WriteIfChanged); in writeBinaryStub()