Lines Matching defs:Stub

256 static Error writeIFS(StringRef FilePath, IFSStub &Stub, bool WriteIfChanged) {
260 Error YAMLErr = writeIFSToOutputStream(OutStr, Stub);
395 IFSStub Stub;
406 Stub.IfsVersion = TargetStub->IfsVersion;
407 Stub.Target = TargetStub->Target;
408 Stub.SoName = TargetStub->SoName;
409 Stub.NeededLibs = TargetStub->NeededLibs;
411 if (Stub.IfsVersion != TargetStub->IfsVersion) {
412 if (Stub.IfsVersion.getMajor() != IfsVersionCurrent.getMajor()) {
414 << "Interface Stub: IfsVersion Mismatch."
416 << InputFilePath << "\nIfsVersion Values: " << Stub.IfsVersion
420 if (TargetStub->IfsVersion > Stub.IfsVersion)
421 Stub.IfsVersion = TargetStub->IfsVersion;
423 if (Stub.Target != TargetStub->Target && !TargetStub->Target.empty()) {
424 WithColor::error() << "Interface Stub: Target Mismatch."
429 if (Stub.SoName != TargetStub->SoName) {
430 WithColor::error() << "Interface Stub: SoName Mismatch."
433 << "\nSoName Values: " << Stub.SoName << " "
437 if (Stub.NeededLibs != TargetStub->NeededLibs) {
438 WithColor::error() << "Interface Stub: NeededLibs Mismatch."
454 WithColor::error() << "Interface Stub: Type Mismatch for "
462 WithColor::error() << "Interface Stub: Size Mismatch for "
479 if (Stub.IfsVersion != IfsVersionCurrent)
480 if (Stub.IfsVersion.getMajor() != IfsVersionCurrent.getMajor()) {
481 WithColor::error() << "Interface Stub: Bad IfsVersion: "
482 << Stub.IfsVersion << ", llvm-ifs supported version: "
488 Stub.Symbols.push_back(Entry.second);
492 Stub.SoName = *Config.SoName;
495 overrideIFSTarget(Stub, Config.OverrideArch, Config.OverrideEndianness,
501 Stub.NeededLibs.clear();
503 if (Error E = filterIFSSyms(Stub, Config.StripUndefined, Config.Exclude))
507 for (IFSSymbol &Sym : Stub.Symbols)
533 if (!Stub.Target.Triple) {
538 return writeTbdStub(llvm::Triple(*Stub.Target.Triple), Stub.Symbols,
542 Stub.IfsVersion = IfsVersionCurrent;
546 if (*Stub.Target.Arch != *HintTarget.Arch)
549 if (*Stub.Target.Endianness != *HintTarget.Endianness)
552 if (*Stub.Target.BitWidth != *HintTarget.BitWidth)
556 stripIFSTarget(Stub, true, false, false, false);
557 Stub.Target.Triple = *Config.HintIfsTarget;
559 stripIFSTarget(Stub, Config.StripIfsTarget, Config.StripIfsArch,
563 writeIFS(*Config.Output, Stub, Config.WriteIfChanged);
569 Error TargetError = validateIFSTarget(Stub, true);
573 writeBinaryStub(*Config.Output, Stub, Config.WriteIfChanged);
582 Error TargetError = validateIFSTarget(Stub, true);
586 writeBinaryStub(*Config.OutputElf, Stub, Config.WriteIfChanged);
591 Stub.IfsVersion = IfsVersionCurrent;
595 if (*Stub.Target.Arch != *HintTarget.Arch)
598 if (*Stub.Target.Endianness != *HintTarget.Endianness)
601 if (*Stub.Target.BitWidth != *HintTarget.BitWidth)
605 stripIFSTarget(Stub, true, false, false, false);
606 Stub.Target.Triple = *Config.HintIfsTarget;
608 stripIFSTarget(Stub, Config.StripIfsTarget, Config.StripIfsArch,
612 writeIFS(*Config.OutputIfs, Stub, Config.WriteIfChanged);
624 if (!Stub.Target.Triple) {
629 return writeTbdStub(llvm::Triple(*Stub.Target.Triple), Stub.Symbols,