Lines Matching refs:Options
167 static Error verifyOptions(const DsymutilOptions &Options) { in verifyOptions() argument
168 if (Options.InputFiles.empty()) { in verifyOptions()
173 if (Options.LinkOpts.Update && llvm::is_contained(Options.InputFiles, "-")) { in verifyOptions()
184 if (!Options.Flat && Options.OutputFile == "-") in verifyOptions()
189 if (Options.InputFiles.size() > 1 && Options.Flat && in verifyOptions()
190 !Options.OutputFile.empty()) in verifyOptions()
195 if (Options.PaperTrailWarnings && Options.InputIsYAMLDebugMap) in verifyOptions()
200 if (!Options.ReproducerPath.empty() && in verifyOptions()
201 Options.ReproMode != ReproducerMode::Use) in verifyOptions()
277 DsymutilOptions Options; in getOptions() local
279 Options.DumpDebugMap = Args.hasArg(OPT_dump_debug_map); in getOptions()
280 Options.DumpStab = Args.hasArg(OPT_symtab); in getOptions()
281 Options.Flat = Args.hasArg(OPT_flat); in getOptions()
282 Options.InputIsYAMLDebugMap = Args.hasArg(OPT_yaml_input); in getOptions()
283 Options.PaperTrailWarnings = Args.hasArg(OPT_papertrail); in getOptions()
286 Options.Verify = *Verify; in getOptions()
291 Options.LinkOpts.NoODR = Args.hasArg(OPT_no_odr); in getOptions()
292 Options.LinkOpts.VerifyInputDWARF = in getOptions()
293 flagIsSet(Options.Verify, DWARFVerify::Input); in getOptions()
294 Options.LinkOpts.NoOutput = Args.hasArg(OPT_no_output); in getOptions()
295 Options.LinkOpts.NoTimestamp = Args.hasArg(OPT_no_swiftmodule_timestamp); in getOptions()
296 Options.LinkOpts.Update = Args.hasArg(OPT_update); in getOptions()
297 Options.LinkOpts.Verbose = Args.hasArg(OPT_verbose); in getOptions()
298 Options.LinkOpts.Statistics = Args.hasArg(OPT_statistics); in getOptions()
299 Options.LinkOpts.KeepFunctionForStatic = in getOptions()
303 Options.ReproMode = ReproducerMode::Use; in getOptions()
304 Options.ReproducerPath = ReproducerPath->getValue(); in getOptions()
307 Options.ReproMode = *ReproMode; in getOptions()
314 Options.LinkOpts.TheAccelTableKind = *AccelKind; in getOptions()
320 Options.SymbolMap = SymbolMap->getValue(); in getOptions()
323 Options.LinkOpts.Update = true; in getOptions()
326 getInputs(Args, Options.LinkOpts.Update)) { in getOptions()
327 Options.InputFiles = std::move(*InputFiles); in getOptions()
333 Options.Archs.push_back(Arch->getValue()); in getOptions()
336 Options.LinkOpts.PrependPath = OsoPrependPath->getValue(); in getOptions()
340 Options.LinkOpts.ObjectPrefixMap.insert( in getOptions()
345 Options.OutputFile = OutputFile->getValue(); in getOptions()
348 Options.Toolchain = Toolchain->getValue(); in getOptions()
351 Options.LinkOpts.FileType = OutputFileType::Assembly; in getOptions()
354 Options.LinkOpts.Threads = atoi(NumThreads->getValue()); in getOptions()
356 Options.LinkOpts.Threads = 0; // Use all available hardware threads in getOptions()
358 if (Options.DumpDebugMap || Options.LinkOpts.Verbose) in getOptions()
359 Options.LinkOpts.Threads = 1; in getOptions()
362 Options.PaperTrailWarnings = true; in getOptions()
365 Options.LinkOpts.RemarksPrependPath = RemarksPrependPath->getValue(); in getOptions()
371 Options.LinkOpts.RemarksFormat = *FormatOrErr; in getOptions()
376 if (Error E = verifyOptions(Options)) in getOptions()
378 return Options; in getOptions()
498 getOutputFileName(StringRef InputFile, const DsymutilOptions &Options) { in getOutputFileName() argument
499 if (Options.OutputFile == "-") in getOutputFileName()
500 return OutputLocation(Options.OutputFile); in getOutputFileName()
503 if (Options.OutputFile.empty() && in getOutputFileName()
504 (Options.LinkOpts.Update || !Options.SymbolMap.empty())) in getOutputFileName()
509 if (Options.DumpDebugMap) in getOutputFileName()
513 if (Options.Flat) { in getOutputFileName()
514 if (Options.OutputFile.empty()) { in getOutputFileName()
520 return OutputLocation(Options.OutputFile); in getOutputFileName()
533 SmallString<128> Path(Options.OutputFile); in getOutputFileName()
536 if (!Options.LinkOpts.NoOutput) { in getOutputFileName()
539 if (auto E = createPlistFile(DwarfFile, Path, Options.Toolchain)) in getOutputFileName()
590 auto &Options = *OptionsOrErr; in dsymutil_main() local
597 auto Repro = Reproducer::createReproducer(Options.ReproMode, in dsymutil_main()
598 Options.ReproducerPath, argc, argv); in dsymutil_main()
604 Options.LinkOpts.VFS = (*Repro)->getVFS(); in dsymutil_main()
606 for (const auto &Arch : Options.Archs) in dsymutil_main()
613 SymbolMapLoader SymMapLoader(Options.SymbolMap); in dsymutil_main()
615 for (auto &InputFile : Options.InputFiles) { in dsymutil_main()
617 if (Options.DumpStab) { in dsymutil_main()
618 if (!dumpStab(Options.LinkOpts.VFS, InputFile, Options.Archs, in dsymutil_main()
619 Options.LinkOpts.PrependPath)) in dsymutil_main()
625 parseDebugMap(Options.LinkOpts.VFS, InputFile, Options.Archs, in dsymutil_main()
626 Options.LinkOpts.PrependPath, Options.PaperTrailWarnings, in dsymutil_main()
627 Options.LinkOpts.Verbose, Options.InputIsYAMLDebugMap); in dsymutil_main()
637 Options.LinkOpts.NumDebugMaps = DebugMapPtrsOrErr->size(); in dsymutil_main()
639 if (Options.LinkOpts.Update) { in dsymutil_main()
654 BinaryHolder BinHolder(Options.LinkOpts.VFS); in dsymutil_main()
658 getOutputFileName(InputFile, Options); in dsymutil_main()
663 Options.LinkOpts.ResourceDir = OutputLocationOrErr->getResourceDir(); in dsymutil_main()
669 Options.LinkOpts.Statistics ? 1 : Options.LinkOpts.Threads); in dsymutil_main()
670 if (Options.LinkOpts.Threads == 0) { in dsymutil_main()
681 !Options.DumpDebugMap && (Options.OutputFile != "-") && in dsymutil_main()
682 (DebugMapPtrsOrErr->size() != 1 || Options.LinkOpts.Update); in dsymutil_main()
683 bool VerifyOutput = flagIsSet(Options.Verify, DWARFVerify::Output); in dsymutil_main()
684 if (VerifyOutput && Options.LinkOpts.NoOutput) { in dsymutil_main()
700 if (Options.LinkOpts.Verbose || Options.DumpDebugMap) in dsymutil_main()
703 if (Options.DumpDebugMap) in dsymutil_main()
706 if (!Options.SymbolMap.empty()) in dsymutil_main()
707 Options.LinkOpts.Translator = SymMapLoader.Load(InputFile, *Map); in dsymutil_main()
737 Options.LinkOpts.NoOutput ? "-" : OutputFile, EC, in dsymutil_main()
748 LinkOptions Options) { in dsymutil_main() argument
750 linkDwarf(*Stream, BinHolder, *Map, std::move(Options))); in dsymutil_main()
754 OutputFile, Map->getTriple().getArchName(), Options.Verbose)); in dsymutil_main()
762 LinkLambda(OS, Options.LinkOpts); in dsymutil_main()
764 Threads.async(LinkLambda, OS, Options.LinkOpts); in dsymutil_main()
796 ErrorOr<vfs::Status> stat = Options.LinkOpts.VFS->status(File.path()); in dsymutil_main()
808 Options.LinkOpts, SDKPath)) in dsymutil_main()