Lines Matching refs:config

81 ConfigWrapper elf::config;  member in elf
88 if (config->noinhibitExec) in errorOrWarn()
153 config = ConfigWrapper(); in link()
161 config->progName = args[0]; in link()
254 if (!config->fatLTOObjects) in tryAddFatLTOFile()
274 if (config->formatBinary) { in addFile()
328 if (config->isStatic) { in addFile()
380 if (config->emachine == EM_MIPS && config->gnuHash) in checkOptions()
383 if (config->emachine == EM_ARM) { in checkOptions()
384 if (!config->cmseImplib) { in checkOptions()
385 if (!config->cmseInputLib.empty()) in checkOptions()
387 if (!config->cmseOutputLib.empty()) in checkOptions()
391 if (config->cmseImplib) in checkOptions()
393 if (!config->cmseInputLib.empty()) in checkOptions()
395 if (!config->cmseOutputLib.empty()) in checkOptions()
399 if (config->fixCortexA53Errata843419 && config->emachine != EM_AARCH64) in checkOptions()
402 if (config->fixCortexA8 && config->emachine != EM_ARM) in checkOptions()
405 if (config->armBe8 && config->emachine != EM_ARM) in checkOptions()
408 if (config->fixCortexA8 && !config->isLE) in checkOptions()
411 if (config->tocOptimize && config->emachine != EM_PPC64) in checkOptions()
414 if (config->pcRelOptimize && config->emachine != EM_PPC64) in checkOptions()
417 if (config->relaxGP && config->emachine != EM_RISCV) in checkOptions()
420 if (config->pie && config->shared) in checkOptions()
423 if (!config->shared && !config->filterList.empty()) in checkOptions()
426 if (!config->shared && !config->auxiliaryList.empty()) in checkOptions()
429 if (config->strip == StripPolicy::All && config->emitRelocs) in checkOptions()
432 if (config->zText && config->zIfuncNoplt) in checkOptions()
435 if (config->relocatable) { in checkOptions()
436 if (config->shared) in checkOptions()
438 if (config->gdbIndex) in checkOptions()
440 if (config->icf != ICFLevel::None) in checkOptions()
442 if (config->pie) in checkOptions()
444 if (config->exportDynamic) in checkOptions()
446 if (config->debugNames) in checkOptions()
450 if (config->executeOnly) { in checkOptions()
451 if (config->emachine != EM_AARCH64) in checkOptions()
454 if (config->singleRoRx && !script->hasSectionsCommand) in checkOptions()
458 if (config->zRetpolineplt && config->zForceIbt) in checkOptions()
461 if (config->emachine != EM_AARCH64) { in checkOptions()
462 if (config->zPacPlt) in checkOptions()
464 if (config->zForceBti) in checkOptions()
466 if (config->zBtiReport != "none") in checkOptions()
468 if (config->zPauthReport != "none") in checkOptions()
470 if (config->zGcsReport != "none") in checkOptions()
472 if (config->zGcs != GcsPolicy::Implicit) in checkOptions()
476 if (config->emachine != EM_386 && config->emachine != EM_X86_64 && in checkOptions()
477 config->zCetReport != "none") in checkOptions()
665 if (config->timeTraceEnabled) in linkerMain()
666 timeTraceProfilerInitialize(config->timeTraceGranularity, config->progName); in linkerMain()
685 if (config->timeTraceEnabled) { in linkerMain()
687 args.getLastArgValue(OPT_time_trace_eq).str(), config->outputFile)); in linkerMain()
706 bool diagRegular = !config->shared, diagShlib = !config->shared; in setUnresolvedSymbolPolicy()
750 config->unresolvedSymbols = in setUnresolvedSymbolPolicy()
752 config->unresolvedSymbolsInShlib = in setUnresolvedSymbolPolicy()
795 config->noDynamicLinker = true; in getDynamicLinker()
804 if (config->androidMemtagStack) in getMemtagMode()
807 else if (config->androidMemtagHeap) in getMemtagMode()
946 if (config->warnSymbolOrdering) in readCallGraph()
969 config->callGraphProfile[std::make_pair(from, to)] += count; in readCallGraph()
1007 symbolIndices.push_back(rel.getSymbol(config->isMips64EL)); in processCallGraphRelocations()
1014 symbolIndices.push_back(rel.getSymbol(config->isMips64EL)); in processCallGraphRelocations()
1047 config->callGraphProfile[{from, to}] += cgpe.cgp_weight; in readCallGraphsFromObjectFiles()
1170 if (!names.insert(s) && config->warnSymbolOrdering) in getSymbolOrderingFile()
1180 config->emachine); in getIsRela()
1199 const char *argv[] = {config->progName.data(), opt.data()}; in parseClangOption()
1220 config->remapInputs[fields[0]] = fields[1]; in remapInputs()
1222 config->remapInputsWildcards.emplace_back(std::move(*pat), fields[1]); in remapInputs()
1236 config->allowMultipleDefinition = in readConfigs()
1240 config->androidMemtagHeap = in readConfigs()
1242 config->androidMemtagStack = args.hasFlag(OPT_android_memtag_stack, in readConfigs()
1244 config->fatLTOObjects = in readConfigs()
1246 config->androidMemtagMode = getMemtagMode(args); in readConfigs()
1247 config->auxiliaryList = args::getStrings(args, OPT_auxiliary); in readConfigs()
1248 config->armBe8 = args.hasArg(OPT_be8); in readConfigs()
1253 config->bsymbolic = BsymbolicKind::NonWeakFunctions; in readConfigs()
1255 config->bsymbolic = BsymbolicKind::Functions; in readConfigs()
1257 config->bsymbolic = BsymbolicKind::NonWeak; in readConfigs()
1259 config->bsymbolic = BsymbolicKind::All; in readConfigs()
1261 config->callGraphProfileSort = getCGProfileSortKind(args); in readConfigs()
1262 config->checkSections = in readConfigs()
1264 config->chroot = args.getLastArgValue(OPT_chroot); in readConfigs()
1266 config->compressDebugSections = in readConfigs()
1269 config->cref = args.hasArg(OPT_cref); in readConfigs()
1270 config->optimizeBBJumps = in readConfigs()
1272 config->debugNames = args.hasFlag(OPT_debug_names, OPT_no_debug_names, false); in readConfigs()
1273 config->demangle = args.hasFlag(OPT_demangle, OPT_no_demangle, true); in readConfigs()
1274 config->dependencyFile = args.getLastArgValue(OPT_dependency_file); in readConfigs()
1275config->dependentLibraries = args.hasFlag(OPT_dependent_libraries, OPT_no_dependent_libraries, tru… in readConfigs()
1276 config->disableVerify = args.hasArg(OPT_disable_verify); in readConfigs()
1277 config->discard = getDiscard(args); in readConfigs()
1278 config->dwoDir = args.getLastArgValue(OPT_plugin_opt_dwo_dir_eq); in readConfigs()
1279 config->dynamicLinker = getDynamicLinker(args); in readConfigs()
1280 config->ehFrameHdr = in readConfigs()
1282 config->emitLLVM = args.hasArg(OPT_lto_emit_llvm); in readConfigs()
1283 config->emitRelocs = args.hasArg(OPT_emit_relocs); in readConfigs()
1284 config->enableNewDtags = in readConfigs()
1286 config->enableNonContiguousRegions = in readConfigs()
1288 config->entry = args.getLastArgValue(OPT_entry); in readConfigs()
1293 config->executeOnly = in readConfigs()
1295 config->exportDynamic = in readConfigs()
1298 config->filterList = args::getStrings(args, OPT_filter); in readConfigs()
1299 config->fini = args.getLastArgValue(OPT_fini, "_fini"); in readConfigs()
1300 config->fixCortexA53Errata843419 = args.hasArg(OPT_fix_cortex_a53_843419) && in readConfigs()
1302 config->cmseImplib = args.hasArg(OPT_cmse_implib); in readConfigs()
1303 config->cmseInputLib = args.getLastArgValue(OPT_in_implib); in readConfigs()
1304 config->cmseOutputLib = args.getLastArgValue(OPT_out_implib); in readConfigs()
1305 config->fixCortexA8 = in readConfigs()
1307 config->fortranCommon = in readConfigs()
1309 config->gcSections = args.hasFlag(OPT_gc_sections, OPT_no_gc_sections, false); in readConfigs()
1310 config->gnuUnique = args.hasFlag(OPT_gnu_unique, OPT_no_gnu_unique, true); in readConfigs()
1311 config->gdbIndex = args.hasFlag(OPT_gdb_index, OPT_no_gdb_index, false); in readConfigs()
1312 config->icf = getICF(args); in readConfigs()
1313 config->ignoreDataAddressEquality = in readConfigs()
1315 config->ignoreFunctionAddressEquality = in readConfigs()
1317 config->init = args.getLastArgValue(OPT_init, "_init"); in readConfigs()
1318 config->ltoAAPipeline = args.getLastArgValue(OPT_lto_aa_pipeline); in readConfigs()
1319 config->ltoCSProfileGenerate = args.hasArg(OPT_lto_cs_profile_generate); in readConfigs()
1320 config->ltoCSProfileFile = args.getLastArgValue(OPT_lto_cs_profile_file); in readConfigs()
1321 config->ltoPGOWarnMismatch = args.hasFlag(OPT_lto_pgo_warn_mismatch, in readConfigs()
1323 config->ltoDebugPassManager = args.hasArg(OPT_lto_debug_pass_manager); in readConfigs()
1324 config->ltoEmitAsm = args.hasArg(OPT_lto_emit_asm); in readConfigs()
1325 config->ltoNewPmPasses = args.getLastArgValue(OPT_lto_newpm_passes); in readConfigs()
1326 config->ltoWholeProgramVisibility = in readConfigs()
1329 config->ltoValidateAllVtablesHaveTypeInfos = in readConfigs()
1332 config->ltoo = args::getInteger(args, OPT_lto_O, 2); in readConfigs()
1333 if (config->ltoo > 3) in readConfigs()
1334 error("invalid optimization level for LTO: " + Twine(config->ltoo)); in readConfigs()
1336 args::getInteger(args, OPT_lto_CGO, args::getCGOptLevel(config->ltoo)); in readConfigs()
1338 config->ltoCgo = *level; in readConfigs()
1341 config->ltoObjPath = args.getLastArgValue(OPT_lto_obj_path_eq); in readConfigs()
1342 config->ltoPartitions = args::getInteger(args, OPT_lto_partitions, 1); in readConfigs()
1343 config->ltoSampleProfile = args.getLastArgValue(OPT_lto_sample_profile); in readConfigs()
1344 config->ltoBBAddrMap = in readConfigs()
1347 config->ltoBasicBlockSections = in readConfigs()
1349 config->ltoUniqueBasicBlockSectionNames = in readConfigs()
1352 config->mapFile = args.getLastArgValue(OPT_Map); in readConfigs()
1353 config->mipsGotSize = args::getInteger(args, OPT_mips_got_size, 0xfff0); in readConfigs()
1354 config->mergeArmExidx = in readConfigs()
1356 config->mmapOutputFile = in readConfigs()
1358 config->nmagic = args.hasFlag(OPT_nmagic, OPT_no_nmagic, false); in readConfigs()
1359 config->noinhibitExec = args.hasArg(OPT_noinhibit_exec); in readConfigs()
1360 config->nostdlib = args.hasArg(OPT_nostdlib); in readConfigs()
1361 config->oFormatBinary = isOutputFormatBinary(args); in readConfigs()
1362 config->omagic = args.hasFlag(OPT_omagic, OPT_no_omagic, false); in readConfigs()
1363 config->optRemarksFilename = args.getLastArgValue(OPT_opt_remarks_filename); in readConfigs()
1364 config->optStatsFilename = args.getLastArgValue(OPT_plugin_opt_stats_file); in readConfigs()
1373 config->optRemarksHotnessThreshold = *resultOrErr; in readConfigs()
1376 config->optRemarksPasses = args.getLastArgValue(OPT_opt_remarks_passes); in readConfigs()
1377 config->optRemarksWithHotness = args.hasArg(OPT_opt_remarks_with_hotness); in readConfigs()
1378 config->optRemarksFormat = args.getLastArgValue(OPT_opt_remarks_format); in readConfigs()
1379 config->optimize = args::getInteger(args, OPT_O, 1); in readConfigs()
1380 config->orphanHandling = getOrphanHandling(args); in readConfigs()
1381 config->outputFile = args.getLastArgValue(OPT_o); in readConfigs()
1382 config->packageMetadata = args.getLastArgValue(OPT_package_metadata); in readConfigs()
1383 config->pie = args.hasFlag(OPT_pie, OPT_no_pie, false); in readConfigs()
1384 config->printIcfSections = in readConfigs()
1386 config->printGcSections = in readConfigs()
1388 config->printMemoryUsage = args.hasArg(OPT_print_memory_usage); in readConfigs()
1389 config->printArchiveStats = args.getLastArgValue(OPT_print_archive_stats); in readConfigs()
1390 config->printSymbolOrder = in readConfigs()
1392 config->rejectMismatch = !args.hasArg(OPT_no_warn_mismatch); in readConfigs()
1393 config->relax = args.hasFlag(OPT_relax, OPT_no_relax, true); in readConfigs()
1394 config->relaxGP = args.hasFlag(OPT_relax_gp, OPT_no_relax_gp, false); in readConfigs()
1395 config->rpath = getRpath(args); in readConfigs()
1396 config->relocatable = args.hasArg(OPT_relocatable); in readConfigs()
1397 config->resolveGroups = in readConfigs()
1403 config->saveTempsArgs.insert(s); in readConfigs()
1408 config->saveTempsArgs.insert(s); in readConfigs()
1414 config->searchPaths = args::getStrings(args, OPT_library_path); in readConfigs()
1415 config->sectionStartMap = getSectionStartMap(args); in readConfigs()
1416 config->shared = args.hasArg(OPT_shared); in readConfigs()
1417 config->singleRoRx = !args.hasFlag(OPT_rosegment, OPT_no_rosegment, true); in readConfigs()
1418 config->soName = args.getLastArgValue(OPT_soname); in readConfigs()
1419 config->sortSection = getSortSection(args); in readConfigs()
1420 config->splitStackAdjustSize = args::getInteger(args, OPT_split_stack_adjust_size, 16384); in readConfigs()
1421 config->strip = getStrip(args); in readConfigs()
1422 config->sysroot = args.getLastArgValue(OPT_sysroot); in readConfigs()
1423 config->target1Rel = args.hasFlag(OPT_target1_rel, OPT_target1_abs, false); in readConfigs()
1424 config->target2 = getTarget2(args); in readConfigs()
1425 config->thinLTOCacheDir = args.getLastArgValue(OPT_thinlto_cache_dir); in readConfigs()
1426 config->thinLTOCachePolicy = CHECK( in readConfigs()
1429 config->thinLTOEmitImportsFiles = args.hasArg(OPT_thinlto_emit_imports_files); in readConfigs()
1430 config->thinLTOEmitIndexFiles = args.hasArg(OPT_thinlto_emit_index_files) || in readConfigs()
1433 config->thinLTOIndexOnly = args.hasArg(OPT_thinlto_index_only) || in readConfigs()
1435 config->thinLTOIndexOnlyArg = args.getLastArgValue(OPT_thinlto_index_only_eq); in readConfigs()
1436 config->thinLTOObjectSuffixReplace = in readConfigs()
1438 std::tie(config->thinLTOPrefixReplaceOld, config->thinLTOPrefixReplaceNew, in readConfigs()
1439 config->thinLTOPrefixReplaceNativeObject) = in readConfigs()
1441 if (config->thinLTOEmitIndexFiles && !config->thinLTOIndexOnly) { in readConfigs()
1449 if (!config->thinLTOPrefixReplaceNativeObject.empty() && in readConfigs()
1450 config->thinLTOIndexOnlyArg.empty()) { in readConfigs()
1454 config->thinLTOModulesToCompile = in readConfigs()
1456 config->timeTraceEnabled = args.hasArg(OPT_time_trace_eq); in readConfigs()
1457 config->timeTraceGranularity = in readConfigs()
1459 config->trace = args.hasArg(OPT_trace); in readConfigs()
1460 config->undefined = args::getStrings(args, OPT_undefined); in readConfigs()
1461 config->undefinedVersion = in readConfigs()
1463 config->unique = args.hasArg(OPT_unique); in readConfigs()
1464 config->useAndroidRelrTags = args.hasFlag( in readConfigs()
1466 config->warnBackrefs = in readConfigs()
1468 config->warnCommon = args.hasFlag(OPT_warn_common, OPT_no_warn_common, false); in readConfigs()
1469 config->warnSymbolOrdering = in readConfigs()
1471 config->whyExtract = args.getLastArgValue(OPT_why_extract); in readConfigs()
1472 config->zCombreloc = getZFlag(args, "combreloc", "nocombreloc", true); in readConfigs()
1473 config->zCopyreloc = getZFlag(args, "copyreloc", "nocopyreloc", true); in readConfigs()
1474 config->zForceBti = hasZOption(args, "force-bti"); in readConfigs()
1475 config->zForceIbt = hasZOption(args, "force-ibt"); in readConfigs()
1476 config->zGcs = getZGcs(args); in readConfigs()
1477 config->zGlobal = hasZOption(args, "global"); in readConfigs()
1478 config->zGnustack = getZGnuStack(args); in readConfigs()
1479 config->zHazardplt = hasZOption(args, "hazardplt"); in readConfigs()
1480 config->zIfuncNoplt = hasZOption(args, "ifunc-noplt"); in readConfigs()
1481 config->zInitfirst = hasZOption(args, "initfirst"); in readConfigs()
1482 config->zInterpose = hasZOption(args, "interpose"); in readConfigs()
1483 config->zKeepTextSectionPrefix = getZFlag( in readConfigs()
1485 config->zLrodataAfterBss = in readConfigs()
1487 config->zNodefaultlib = hasZOption(args, "nodefaultlib"); in readConfigs()
1488 config->zNodelete = hasZOption(args, "nodelete"); in readConfigs()
1489 config->zNodlopen = hasZOption(args, "nodlopen"); in readConfigs()
1490 config->zNow = getZFlag(args, "now", "lazy", false); in readConfigs()
1491 config->zOrigin = hasZOption(args, "origin"); in readConfigs()
1492 config->zPacPlt = hasZOption(args, "pac-plt"); in readConfigs()
1493 config->zRelro = getZFlag(args, "relro", "norelro", true); in readConfigs()
1494 config->zRetpolineplt = hasZOption(args, "retpolineplt"); in readConfigs()
1495 config->zRodynamic = hasZOption(args, "rodynamic"); in readConfigs()
1496 config->zSeparate = getZSeparate(args); in readConfigs()
1497 config->zShstk = hasZOption(args, "shstk"); in readConfigs()
1498 config->zStackSize = args::getZOptionValue(args, OPT_z, "stack-size", 0); in readConfigs()
1499 config->zStartStopGC = in readConfigs()
1501 config->zStartStopVisibility = getZStartStopVisibility(args); in readConfigs()
1502 config->zText = getZFlag(args, "text", "notext", true); in readConfigs()
1503 config->zWxneeded = hasZOption(args, "wxneeded"); in readConfigs()
1505 config->power10Stubs = args.getLastArgValue(OPT_power10_stubs_eq) != "no"; in readConfigs()
1509 config->optEB = true; in readConfigs()
1511 config->optEL = true; in readConfigs()
1542 config->shuffleSections.emplace_back(std::move(*pat), uint32_t(v)); in readConfigs()
1547 auto reports = {std::make_pair("bti-report", &config->zBtiReport), in readConfigs()
1548 std::make_pair("cet-report", &config->zCetReport), in readConfigs()
1549 std::make_pair("gcs-report", &config->zGcsReport), in readConfigs()
1550 std::make_pair("pauth-report", &config->zPauthReport)}; in readConfigs()
1585 config->compressSections.emplace_back(std::move(*pat), type, level); in readConfigs()
1609 config->deadRelocInNonAlloc.emplace_back(std::move(*pat), v); in readConfigs()
1635 config->passPlugins = args::getStrings(args, OPT_load_pass_plugins); in readConfigs()
1640 config->mllvmOpts.emplace_back(arg->getValue()); in readConfigs()
1643 config->ltoKind = LtoKind::Default; in readConfigs()
1647 config->ltoKind = LtoKind::UnifiedThin; in readConfigs()
1649 config->ltoKind = LtoKind::UnifiedRegular; in readConfigs()
1651 config->ltoKind = LtoKind::Default; in readConfigs()
1667 config->thinLTOJobs = v; in readConfigs()
1673 config->thinLTOJobs = arg->getValue(); in readConfigs()
1674 config->threadCount = parallel::strategy.compute_thread_count(); in readConfigs()
1676 if (config->ltoPartitions == 0) in readConfigs()
1678 if (!get_threadpool_strategy(config->thinLTOJobs)) in readConfigs()
1679 error("--thinlto-jobs: invalid job count: " + config->thinLTOJobs); in readConfigs()
1681 if (config->splitStackAdjustSize < 0) in readConfigs()
1695 std::tie(config->ekind, config->emachine, config->osabi) = in readConfigs()
1697 config->mipsN32Abi = in readConfigs()
1699 config->emulation = s; in readConfigs()
1706 config->sysvHash = true; in readConfigs()
1708 config->gnuHash = true; in readConfigs()
1710 config->sysvHash = config->gnuHash = true; in readConfigs()
1716 config->mapFile = "-"; in readConfigs()
1721 if (config->nmagic || config->omagic || config->relocatable) in readConfigs()
1722 config->zRelro = false; in readConfigs()
1724 std::tie(config->buildId, config->buildIdVector) = getBuildId(args); in readConfigs()
1727 config->relrGlibc = true; in readConfigs()
1728 config->relrPackDynRelocs = true; in readConfigs()
1730 std::tie(config->androidPackDynRelocs, config->relrPackDynRelocs) = in readConfigs()
1739 config->symbolOrderingFile = getSymbolOrderingFile(*buffer); in readConfigs()
1742 config->callGraphProfileSort = CGProfileSortKind::None; in readConfigs()
1746 assert(config->versionDefinitions.empty()); in readConfigs()
1747 config->versionDefinitions.push_back( in readConfigs()
1749 config->versionDefinitions.push_back( in readConfigs()
1755 config->versionDefinitions[VER_NDX_LOCAL].nonLocalPatterns.push_back( in readConfigs()
1759 config->versionDefinitions[VER_NDX_GLOBAL].nonLocalPatterns.push_back( in readConfigs()
1766 config->warnBackrefsExclude.push_back(std::move(*pat)); in readConfigs()
1778 config->dynamicList.push_back( in readConfigs()
1785 config->symbolic = in readConfigs()
1786 config->bsymbolic == BsymbolicKind::All || args.hasArg(OPT_dynamic_list); in readConfigs()
1806 ELFKind k = config->ekind; in setConfigs()
1807 uint16_t m = config->emachine; in setConfigs()
1809 config->copyRelocs = (config->relocatable || config->emitRelocs); in setConfigs()
1810 config->is64 = (k == ELF64LEKind || k == ELF64BEKind); in setConfigs()
1811 config->isLE = (k == ELF32LEKind || k == ELF64LEKind); in setConfigs()
1812 config->endianness = config->isLE ? endianness::little : endianness::big; in setConfigs()
1813 config->isMips64EL = (k == ELF64LEKind && m == EM_MIPS); in setConfigs()
1814 config->isPic = config->pie || config->shared; in setConfigs()
1815 config->picThunk = args.hasArg(OPT_pic_veneer, config->isPic); in setConfigs()
1816 config->wordsize = config->is64 ? 8 : 4; in setConfigs()
1832 config->isRela = getIsRela(args); in setConfigs()
1839 config->writeAddends = args.hasFlag(OPT_apply_dynamic_relocs, in setConfigs()
1841 !config->isRela; in setConfigs()
1850 config->checkDynamicRelocs = in setConfigs()
1853 config->tocOptimize = in setConfigs()
1855 config->pcRelOptimize = in setConfigs()
1859 if (config->emachine == EM_MIPS) in setConfigs()
1860 config->sysvHash = true; in setConfigs()
1862 config->sysvHash = config->gnuHash = true; in setConfigs()
1867 config->warnMissingEntry = in setConfigs()
1868 (!config->entry.empty() || (!config->shared && !config->relocatable)); in setConfigs()
1869 if (config->entry.empty() && !config->relocatable) in setConfigs()
1870 config->entry = config->emachine == EM_MIPS ? "__start" : "_start"; in setConfigs()
1871 if (config->outputFile.empty()) in setConfigs()
1872 config->outputFile = "a.out"; in setConfigs()
1879 if (auto e = tryCreateFile(config->outputFile)) in setConfigs()
1880 error("cannot open output file " + config->outputFile + ": " + in setConfigs()
1882 if (auto e = tryCreateFile(config->mapFile)) in setConfigs()
1883 error("cannot open map file " + config->mapFile + ": " + e.message()); in setConfigs()
1884 if (auto e = tryCreateFile(config->whyExtract)) in setConfigs()
1885 error("cannot open --why-extract= file " + config->whyExtract + ": " + in setConfigs()
1906 config->isStatic = config->relocatable; in createFiles()
1948 config->asNeeded = true; in createFiles()
1951 config->formatBinary = isFormatBinary(arg->getValue()); in createFiles()
1954 config->asNeeded = false; in createFiles()
1959 config->isStatic = true; in createFiles()
1962 if (!config->relocatable) in createFiles()
1963 config->isStatic = false; in createFiles()
2010 stack.emplace_back(config->asNeeded, config->isStatic, inWholeArchive); in createFiles()
2017 std::tie(config->asNeeded, config->isStatic, inWholeArchive) = stack.back(); in createFiles()
2031 if (config->ekind != ELFNoneKind) in inferMachineType()
2040 config->ekind = f->ekind; in inferMachineType()
2041 config->emachine = f->emachine; in inferMachineType()
2042 config->mipsN32Abi = config->emachine == EM_MIPS && isMipsN32Abi(f); in inferMachineType()
2044 config->osabi = f->osabi; in inferMachineType()
2061 if (config->nmagic || config->omagic) { in getMaxPageSize()
2078 if (config->nmagic || config->omagic) { in getCommonPageSize()
2084 if (val > config->maxPageSize) in getCommonPageSize()
2085 val = config->maxPageSize; in getCommonPageSize()
2103 if ((v % config->maxPageSize) != 0) in getImageBase()
2164 if (!config->whyExtract.empty()) in handleUndefined()
2192 if (!config->whyExtract.empty()) in handleLibcall()
2199 if (config->printArchiveStats.empty()) in writeArchiveStats()
2203 raw_fd_ostream os = ctx.openAuxiliaryFile(config->printArchiveStats, ec); in writeArchiveStats()
2205 error("--print-archive-stats=: cannot open " + config->printArchiveStats + in writeArchiveStats()
2229 if (config->whyExtract.empty()) in writeWhyExtract()
2233 raw_fd_ostream os = ctx.openAuxiliaryFile(config->whyExtract, ec); in writeWhyExtract()
2235 error("cannot open --why-extract= file " + config->whyExtract + ": " + in writeWhyExtract()
2255 for (const llvm::GlobPattern &pat : config->warnBackrefsExclude) in reportBackrefs()
2292 raw_fd_ostream os = ctx.openAuxiliaryFile(config->dependencyFile, ec); in writeDependencyFile()
2294 error("cannot open " + config->dependencyFile + ": " + ec.message()); in writeDependencyFile()
2321 os << config->outputFile << ":"; in writeDependencyFile()
2322 for (StringRef path : config->dependencyFiles) { in writeDependencyFile()
2328 for (StringRef path : config->dependencyFiles) { in writeDependencyFile()
2366 if (config->icf == ICFLevel::Safe || !(d->section->flags & SHF_EXECINSTR)) in markAddrsig()
2387 if (config->icf == ICFLevel::All && config->ignoreDataAddressEquality) in findKeepUniqueSections()
2455 if (!config->sectionStartMap.empty()) in readSymbolPartitionSection()
2458 if (config->emachine == EM_MIPS) in readSymbolPartitionSection()
2518 if (!config->relocatable) in compileBitcodeFiles()
2629 ? config->versionDefinitions[sym2->versionId].name == suffix1 + 1 in combineVersionedSymbol()
2660 if (config->versionDefinitions.size() > 2) in redirectSymbols()
2680 static void reportMissingFeature(StringRef config, const Twine &report) { in reportMissingFeature() argument
2681 if (config == "error") in reportMissingFeature()
2683 else if (config == "warning") in reportMissingFeature()
2687 static void checkAndReportMissingFeature(StringRef config, uint32_t features, in checkAndReportMissingFeature() argument
2690 reportMissingFeature(config, report); in checkAndReportMissingFeature()
2706 if (config->emachine != EM_386 && config->emachine != EM_X86_64 && in readSecurityNotes()
2707 config->emachine != EM_AARCH64) in readSecurityNotes()
2710 config->andFeatures = -1; in readSecurityNotes()
2713 if (config->emachine == EM_AARCH64) { in readSecurityNotes()
2727 config->zBtiReport, features, GNU_PROPERTY_AARCH64_FEATURE_1_BTI, in readSecurityNotes()
2732 config->zGcsReport, features, GNU_PROPERTY_AARCH64_FEATURE_1_GCS, in readSecurityNotes()
2737 config->zCetReport, features, GNU_PROPERTY_X86_FEATURE_1_IBT, in readSecurityNotes()
2742 config->zCetReport, features, GNU_PROPERTY_X86_FEATURE_1_SHSTK, in readSecurityNotes()
2746 if (config->zForceBti && !(features & GNU_PROPERTY_AARCH64_FEATURE_1_BTI)) { in readSecurityNotes()
2748 if (config->zBtiReport == "none") in readSecurityNotes()
2751 } else if (config->zForceIbt && in readSecurityNotes()
2753 if (config->zCetReport == "none") in readSecurityNotes()
2758 if (config->zPacPlt && !(features & GNU_PROPERTY_AARCH64_FEATURE_1_PAC)) { in readSecurityNotes()
2763 config->andFeatures &= features; in readSecurityNotes()
2769 reportMissingFeature(config->zPauthReport, in readSecurityNotes()
2786 if (config->zShstk) in readSecurityNotes()
2787 config->andFeatures |= GNU_PROPERTY_X86_FEATURE_1_SHSTK; in readSecurityNotes()
2790 if (config->zGcs == GcsPolicy::Always) in readSecurityNotes()
2791 config->andFeatures |= GNU_PROPERTY_AARCH64_FEATURE_1_GCS; in readSecurityNotes()
2792 else if (config->zGcs == GcsPolicy::Never) in readSecurityNotes()
2793 config->andFeatures &= ~GNU_PROPERTY_AARCH64_FEATURE_1_GCS; in readSecurityNotes()
2847 for (StringRef name : config->undefined) in link()
2853 config->hasDynSymTab = !ctx.sharedFiles.empty() || config->isPic; in link()
2856 if (Symbol *sym = symtab.find(config->entry)) in link()
2869 for (StringRef name : config->undefined) in link()
2874 if (Symbol *sym = dyn_cast_or_null<Defined>(symtab.find(config->init))) in link()
2876 if (Symbol *sym = dyn_cast_or_null<Defined>(symtab.find(config->fini))) in link()
2947 if (!config->relocatable) in link()
2955 if (!config->relocatable) { in link()
2967 const bool skipLinkedOutput = config->thinLTOIndexOnly || config->emitLLVM || in link()
2968 config->ltoEmitAsm || in link()
2969 !config->thinLTOModulesToCompile.empty(); in link()
2972 if (config->ltoValidateAllVtablesHaveTypeInfos) in link()
3067 if (config->strip != StripPolicy::None) { in link()
3083 if (!config->dependencyFile.empty()) in link()
3099 config->eflags = target->calcEFlags(); in link()
3104 config->maxPageSize = getMaxPageSize(args); in link()
3110 config->commonPageSize = getCommonPageSize(args); in link()
3112 config->imageBase = getImageBase(args); in link()
3115 if (!config->relocatable) in link()
3140 if (!config->relocatable) in link()
3144 if (config->emachine == EM_RISCV) in link()
3174 if (config->icf != ICFLevel::None) { in link()
3180 if (config->callGraphProfileSort != CGProfileSortKind::None) { in link()