Lines Matching refs:Stub

140   static void mapping(IO &IO, IFSStub &Stub) {  in mapping()
143 IO.mapRequired("IfsVersion", Stub.IfsVersion); in mapping()
144 IO.mapOptional("SoName", Stub.SoName); in mapping()
145 IO.mapOptional("Target", Stub.Target); in mapping()
146 IO.mapOptional("NeededLibs", Stub.NeededLibs); in mapping()
147 IO.mapRequired("Symbols", Stub.Symbols); in mapping()
153 static void mapping(IO &IO, IFSStubTriple &Stub) { in mapping()
156 IO.mapRequired("IfsVersion", Stub.IfsVersion); in mapping()
157 IO.mapOptional("SoName", Stub.SoName); in mapping()
158 IO.mapOptional("Target", Stub.Target.Triple); in mapping()
159 IO.mapOptional("NeededLibs", Stub.NeededLibs); in mapping()
160 IO.mapRequired("Symbols", Stub.Symbols); in mapping()
181 std::unique_ptr<IFSStubTriple> Stub(new IFSStubTriple()); in readIFSFromBuffer() local
183 YamlIn >> *Stub; in readIFSFromBuffer()
185 YamlIn >> *static_cast<IFSStub *>(Stub.get()); in readIFSFromBuffer()
191 if (Stub->IfsVersion > IFSVersionCurrent) in readIFSFromBuffer()
193 "IFS version " + Stub->IfsVersion.getAsString() + " is unsupported.", in readIFSFromBuffer()
195 if (Stub->Target.ArchString) { in readIFSFromBuffer()
197 ELF::convertArchNameToEMachine(*Stub->Target.ArchString); in readIFSFromBuffer()
201 "IFS arch '" + *Stub->Target.ArchString + "' is unsupported"); in readIFSFromBuffer()
202 Stub->Target.Arch = eMachine; in readIFSFromBuffer()
204 for (const auto &Item : Stub->Symbols) { in readIFSFromBuffer()
210 return std::move(Stub); in readIFSFromBuffer()
213 Error ifs::writeIFSToOutputStream(raw_ostream &OS, const IFSStub &Stub) { in writeIFSToOutputStream() argument
215 std::unique_ptr<IFSStubTriple> CopyStub(new IFSStubTriple(Stub)); in writeIFSToOutputStream()
216 if (Stub.Target.Arch) { in writeIFSToOutputStream()
218 std::string(ELF::convertEMachineToArchName(*Stub.Target.Arch)); in writeIFSToOutputStream()
220 IFSTarget Target = Stub.Target; in writeIFSToOutputStream()
232 IFSStub &Stub, std::optional<IFSArch> OverrideArch, in overrideIFSTarget() argument
238 if (Stub.Target.Arch && *Stub.Target.Arch != *OverrideArch) { in overrideIFSTarget()
242 Stub.Target.Arch = *OverrideArch; in overrideIFSTarget()
245 if (Stub.Target.Endianness && in overrideIFSTarget()
246 *Stub.Target.Endianness != *OverrideEndianness) { in overrideIFSTarget()
250 Stub.Target.Endianness = *OverrideEndianness; in overrideIFSTarget()
253 if (Stub.Target.BitWidth && *Stub.Target.BitWidth != *OverrideBitWidth) { in overrideIFSTarget()
257 Stub.Target.BitWidth = *OverrideBitWidth; in overrideIFSTarget()
260 if (Stub.Target.Triple && *Stub.Target.Triple != *OverrideTriple) { in overrideIFSTarget()
264 Stub.Target.Triple = *OverrideTriple; in overrideIFSTarget()
269 Error ifs::validateIFSTarget(IFSStub &Stub, bool ParseTriple) { in validateIFSTarget() argument
271 if (Stub.Target.Triple) { in validateIFSTarget()
272 if (Stub.Target.Arch || Stub.Target.BitWidth || Stub.Target.Endianness || in validateIFSTarget()
273 Stub.Target.ObjectFormat) { in validateIFSTarget()
279 IFSTarget TargetFromTriple = parseTriple(*Stub.Target.Triple); in validateIFSTarget()
280 Stub.Target.Arch = TargetFromTriple.Arch; in validateIFSTarget()
281 Stub.Target.BitWidth = TargetFromTriple.BitWidth; in validateIFSTarget()
282 Stub.Target.Endianness = TargetFromTriple.Endianness; in validateIFSTarget()
286 if (!Stub.Target.Arch || !Stub.Target.BitWidth || !Stub.Target.Endianness) { in validateIFSTarget()
288 if (!Stub.Target.Arch) { in validateIFSTarget()
292 if (!Stub.Target.BitWidth) { in validateIFSTarget()
296 if (!Stub.Target.Endianness) { in validateIFSTarget()
328 void ifs::stripIFSTarget(IFSStub &Stub, bool StripTriple, bool StripArch, in stripIFSTarget() argument
331 Stub.Target.Arch.reset(); in stripIFSTarget()
332 Stub.Target.ArchString.reset(); in stripIFSTarget()
335 Stub.Target.Endianness.reset(); in stripIFSTarget()
338 Stub.Target.BitWidth.reset(); in stripIFSTarget()
341 Stub.Target.Triple.reset(); in stripIFSTarget()
343 if (!Stub.Target.Arch && !Stub.Target.BitWidth && !Stub.Target.Endianness) { in stripIFSTarget()
344 Stub.Target.ObjectFormat.reset(); in stripIFSTarget()
348 Error ifs::filterIFSSyms(IFSStub &Stub, bool StripUndefined, in filterIFSSyms() argument
369 llvm::erase_if(Stub.Symbols, Filter); in filterIFSSyms()