reference, declarationdefinition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced

References

tools/lld/lib/Driver/DarwinLdDriver.cpp
  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();