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