Lines Matching refs:Stub
139 static void mapping(IO &IO, IFSStub &Stub) { in mapping()
142 IO.mapRequired("IfsVersion", Stub.IfsVersion); in mapping()
143 IO.mapOptional("SoName", Stub.SoName); in mapping()
144 IO.mapOptional("Target", Stub.Target); in mapping()
145 IO.mapOptional("NeededLibs", Stub.NeededLibs); in mapping()
146 IO.mapRequired("Symbols", Stub.Symbols); in mapping()
152 static void mapping(IO &IO, IFSStubTriple &Stub) { in mapping()
155 IO.mapRequired("IfsVersion", Stub.IfsVersion); in mapping()
156 IO.mapOptional("SoName", Stub.SoName); in mapping()
157 IO.mapOptional("Target", Stub.Target.Triple); in mapping()
158 IO.mapOptional("NeededLibs", Stub.NeededLibs); in mapping()
159 IO.mapRequired("Symbols", Stub.Symbols); in mapping()
180 std::unique_ptr<IFSStubTriple> Stub(new IFSStubTriple()); in readIFSFromBuffer() local
182 YamlIn >> *Stub; in readIFSFromBuffer()
184 YamlIn >> *static_cast<IFSStub *>(Stub.get()); in readIFSFromBuffer()
190 if (Stub->IfsVersion > IFSVersionCurrent) in readIFSFromBuffer()
192 "IFS version " + Stub->IfsVersion.getAsString() + " is unsupported.", in readIFSFromBuffer()
194 if (Stub->Target.ArchString) { in readIFSFromBuffer()
195 Stub->Target.Arch = in readIFSFromBuffer()
196 ELF::convertArchNameToEMachine(*Stub->Target.ArchString); in readIFSFromBuffer()
198 return std::move(Stub); in readIFSFromBuffer()
201 Error ifs::writeIFSToOutputStream(raw_ostream &OS, const IFSStub &Stub) { in writeIFSToOutputStream() argument
203 std::unique_ptr<IFSStubTriple> CopyStub(new IFSStubTriple(Stub)); in writeIFSToOutputStream()
204 if (Stub.Target.Arch) { in writeIFSToOutputStream()
206 std::string(ELF::convertEMachineToArchName(Stub.Target.Arch.value())); in writeIFSToOutputStream()
208 IFSTarget Target = Stub.Target; in writeIFSToOutputStream()
219 Error ifs::overrideIFSTarget(IFSStub &Stub, Optional<IFSArch> OverrideArch, in overrideIFSTarget() argument
225 if (Stub.Target.Arch && Stub.Target.Arch.value() != OverrideArch.value()) { in overrideIFSTarget()
229 Stub.Target.Arch = OverrideArch.value(); in overrideIFSTarget()
232 if (Stub.Target.Endianness && in overrideIFSTarget()
233 Stub.Target.Endianness.value() != OverrideEndianness.value()) { in overrideIFSTarget()
237 Stub.Target.Endianness = OverrideEndianness.value(); in overrideIFSTarget()
240 if (Stub.Target.BitWidth && in overrideIFSTarget()
241 Stub.Target.BitWidth.value() != OverrideBitWidth.value()) { in overrideIFSTarget()
245 Stub.Target.BitWidth = OverrideBitWidth.value(); in overrideIFSTarget()
248 if (Stub.Target.Triple && in overrideIFSTarget()
249 Stub.Target.Triple.value() != OverrideTriple.value()) { in overrideIFSTarget()
253 Stub.Target.Triple = OverrideTriple.value(); in overrideIFSTarget()
258 Error ifs::validateIFSTarget(IFSStub &Stub, bool ParseTriple) { in validateIFSTarget() argument
260 if (Stub.Target.Triple) { in validateIFSTarget()
261 if (Stub.Target.Arch || Stub.Target.BitWidth || Stub.Target.Endianness || in validateIFSTarget()
262 Stub.Target.ObjectFormat) { in validateIFSTarget()
268 IFSTarget TargetFromTriple = parseTriple(*Stub.Target.Triple); in validateIFSTarget()
269 Stub.Target.Arch = TargetFromTriple.Arch; in validateIFSTarget()
270 Stub.Target.BitWidth = TargetFromTriple.BitWidth; in validateIFSTarget()
271 Stub.Target.Endianness = TargetFromTriple.Endianness; in validateIFSTarget()
275 if (!Stub.Target.Arch || !Stub.Target.BitWidth || !Stub.Target.Endianness) { in validateIFSTarget()
277 if (!Stub.Target.Arch) { in validateIFSTarget()
281 if (!Stub.Target.BitWidth) { in validateIFSTarget()
285 if (!Stub.Target.Endianness) { in validateIFSTarget()
314 void ifs::stripIFSTarget(IFSStub &Stub, bool StripTriple, bool StripArch, in stripIFSTarget() argument
317 Stub.Target.Arch.reset(); in stripIFSTarget()
318 Stub.Target.ArchString.reset(); in stripIFSTarget()
321 Stub.Target.Endianness.reset(); in stripIFSTarget()
324 Stub.Target.BitWidth.reset(); in stripIFSTarget()
327 Stub.Target.Triple.reset(); in stripIFSTarget()
329 if (!Stub.Target.Arch && !Stub.Target.BitWidth && !Stub.Target.Endianness) { in stripIFSTarget()
330 Stub.Target.ObjectFormat.reset(); in stripIFSTarget()
334 Error ifs::filterIFSSyms(IFSStub &Stub, bool StripUndefined, in filterIFSSyms() argument
355 llvm::erase_if(Stub.Symbols, Filter); in filterIFSSyms()