reference, declaration → definition definition → references, declarations, derived classes, virtual overrides reference to multiple definitions → definitions unreferenced |
440 ctx.configure(fileType, arch, os, minOSVersion, exportDynamicSymbols); 444 ctx.setEntrySymbolName(entry->getValue()); 448 ctx.setOutputPath(outpath->getValue()); 450 ctx.setOutputPath("a.out"); 458 } else if (baseAddress < ctx.pageZeroSize()) { 461 } else if (baseAddress % ctx.pageSize()) { 463 llvm::utohexstr(ctx.pageSize()) + ")"); 467 ctx.setBaseAddress(baseAddress); 472 ctx.setDeadStripping(true); 481 ctx.setInstallName(installName->getValue()); 483 ctx.setInstallName(ctx.outputPath()); 483 ctx.setInstallName(ctx.outputPath()); 487 ctx.setDeadStrippableDylib(true); 491 if (ctx.outputMachOType() != llvm::MachO::MH_DYLIB) { 500 ctx.setCompatibilityVersion(parsedVers); 504 if (ctx.outputMachOType() != llvm::MachO::MH_DYLIB) { 513 ctx.setCurrentVersion(parsedVers); 518 ctx.setBundleLoader(loader->getValue()); 543 ctx.addSectionAlignment(segName, sectName, align); 548 ctx.appendLLVMOption(llvmArg->getValue()); 553 ctx.setPrintAtoms(); 557 ctx.setLogInputFiles(true); 561 ctx.setDemangleSymbols(true); 565 ctx.setKeepPrivateExterns(true); 566 if (ctx.outputMachOType() != llvm::MachO::MH_OBJECT) 572 if (std::error_code ec = ctx.createDependencyFile(depInfo->getValue())) 581 ctx.setTestingFileUsage(); 584 ctx.setDoNothing(true); 588 ctx.addExistingPathForDebug(existingPath->getValue()); 593 if (!ctx.doNothing()) { 594 ctx.registry().addSupportMachOObjects(ctx); 594 ctx.registry().addSupportMachOObjects(ctx); 595 ctx.registry().addSupportArchives(ctx.logInputFiles()); 595 ctx.registry().addSupportArchives(ctx.logInputFiles()); 596 ctx.registry().addSupportYamlFiles(); 616 ctx.setSysLibRoots(sysLibRoots); 622 ctx.addModifiedSearchDir(libPath->getValue()); 627 ctx.addFrameworkSearchDir(fwPath->getValue()); 632 ctx.addModifiedSearchDir("/usr/lib", true); 633 ctx.addModifiedSearchDir("/usr/local/lib", true); 634 ctx.addFrameworkSearchDir("/Library/Frameworks", true); 635 ctx.addFrameworkSearchDir("/System/Library/Frameworks", true); 642 for (auto path : ctx.searchDirs()) { 646 for (auto path : ctx.frameworkDirs()) { 653 if (ctx.exportMode() == MachOLinkingContext::ExportMode::blackList) { 658 ctx.setExportMode(MachOLinkingContext::ExportMode::whiteList); 659 if (std::error_code ec = parseExportsList(expFile->getValue(), ctx)) { 668 if (ctx.exportMode() == MachOLinkingContext::ExportMode::blackList) { 673 ctx.setExportMode(MachOLinkingContext::ExportMode::whiteList); 674 ctx.addExportSymbol(symbol->getValue()); 679 if (ctx.exportMode() == MachOLinkingContext::ExportMode::whiteList) { 684 ctx.setExportMode(MachOLinkingContext::ExportMode::blackList); 685 if (std::error_code ec = parseExportsList(expFile->getValue(), ctx)) { 694 if (ctx.exportMode() == MachOLinkingContext::ExportMode::whiteList) { 699 ctx.setExportMode(MachOLinkingContext::ExportMode::blackList); 700 ctx.addExportSymbol(symbol->getValue()); 708 else if (ctx.outputMachOType() != llvm::MachO::MH_DYLIB) 731 switch (ctx.outputMachOType()) { 733 switch (ctx.os()) { 757 ctx.setPIE(pie->getOption().getID() == OPT_pie); 785 switch (ctx.outputMachOType()) { 787 ctx.setGenerateVersionLoadCommand(false); 794 ctx.setGenerateVersionLoadCommand(true); 797 ctx.setGenerateVersionLoadCommand(true); 803 ctx.setGenerateVersionLoadCommand(true); 809 ctx.setGenerateVersionLoadCommand(true); 833 switch (ctx.outputMachOType()) { 835 ctx.setGenerateFunctionStartsLoadCommand(false); 842 ctx.setGenerateFunctionStartsLoadCommand(true); 845 ctx.setGenerateFunctionStartsLoadCommand(true); 851 ctx.setGenerateFunctionStartsLoadCommand(true); 857 ctx.setGenerateFunctionStartsLoadCommand(true); 881 switch (ctx.outputMachOType()) { 884 ctx.setGenerateDataInCodeLoadCommand(true); 891 ctx.setGenerateDataInCodeLoadCommand(true); 894 ctx.setGenerateDataInCodeLoadCommand(true); 900 ctx.setGenerateDataInCodeLoadCommand(true); 906 ctx.setGenerateDataInCodeLoadCommand(true); 926 ctx.setSdkVersion(sdkVersion); 927 } else if (ctx.generateVersionLoadCommand()) { 934 ctx.setSdkVersion(ctx.osMinVersion()); 934 ctx.setSdkVersion(ctx.osMinVersion()); 945 ctx.setSourceVersion(version); 955 if ((stackSizeVal % ctx.pageSize()) != 0) { 957 llvm::utohexstr(ctx.pageSize()) + ")"); 961 ctx.setStackSize(stackSizeVal); 966 ctx.setDebugInfoMode(MachOLinkingContext::DebugInfoMode::noDebugMap); 970 if (std::error_code ec = parseOrderFile(orderFile->getValue(), ctx)) { 981 ctx.setUseFlatNamespace(true); 1001 if (ctx.useFlatNamespace()) { 1017 ctx.setUndefinedMode(UndefMode); 1022 ctx.setMergeObjCCategories(false); 1026 switch (ctx.outputMachOType()) { 1030 if (!ctx.minOS("10.5", "2.0")) { 1031 if (ctx.os() == MachOLinkingContext::OS::macOSX) 1045 ctx.addRpath(rPath->getValue()); 1051 parseLLVMOptions(ctx); 1061 addFile(arg->getValue(), ctx, globalWholeArchive, false); 1064 addFile(arg->getValue(), ctx, false, true); 1067 addFile(arg->getValue(), ctx, true, false); 1072 resolvedPath = ctx.searchLibrary(arg->getValue()); 1077 } else if (ctx.testingFileUsage()) { 1081 addFile(resolvedPath.getValue(), ctx, globalWholeArchive, upward); 1086 resolvedPath = ctx.findPathForFramework(arg->getValue()); 1091 } else if (ctx.testingFileUsage()) { 1095 addFile(resolvedPath.getValue(), ctx, globalWholeArchive, upward); 1098 if (auto ec = loadFileList(arg->getValue(), ctx, globalWholeArchive)) { 1118 ctx.addSectCreateSection(seg, sect, std::move(*contentOrErr)); 1124 if (ctx.getNodes().empty()) { 1130 return ctx.validate();