Lines Matching +defs:run +defs:s
108 StringRef s = arg->getValue();
109 std::pair<StringRef, StringRef> ret = s.split(';');
112 << s;
138 static bool isCrtend(StringRef s) {
139 if (!s.consume_back(".o"))
141 if (s.ends_with("crtend"))
143 return !s.empty() && s.drop_back().ends_with("crtend");
444 StringRef s = file->getDirectives();
445 if (s.empty())
448 Log(ctx) << "Directives: " << file << ": " << s;
453 ParsedDirectives directives = parser.parseDirectives(s);
615 SmallString<128> s = filename;
616 sys::path::replace_extension(s, ".a");
617 StringRef libName = saver().save("lib" + s.str());
676 // Check the command line first, that's the user explicitly telling us what to
696 // not run vcvarsall), try to build a consistent link environment. If the
810 static std::string rewritePath(StringRef s) {
811 if (fs::exists(s))
812 return relativeToRoot(s);
813 return std::string(s);
816 // Reconstructs command line arguments so that so that you can re-run
1030 bool LinkerDriver::run() {
1073 std::string s(arg);
1074 if (ctx.config.machine == I386 && !isDecorated(s))
1075 s = "_" + s;
1077 if (set.count(s) == 0) {
1079 Warn(ctx) << "/order:" << arg << ": missing symbol: " << s
1082 ctx.config.order[s] = INT_MIN + ctx.config.order.size();
1164 static void markAddrsig(Symbol *s) {
1165 if (auto *d = dyn_cast_or_null<Defined>(s))
1205 for (Symbol *s : syms)
1206 markAddrsig(s);
1213 // of pdb's output path) and _EXT (expands to the extension of the output
1331 for (Symbol *s : ctx.symtabEC->expSymbols) {
1332 if (!s->isUsedInRegularObj)
1334 assert(s->getName().starts_with("EXP+"));
1336 (s->getName().substr(strlen("EXP+")) + "$hp_target").str();
1348 auto *undef = dyn_cast<Undefined>(s);
1404 ctx.symtab.forEachSymbol([&](Symbol *s) {
1405 auto *def = dyn_cast<Defined>(s);
1420 s->isUsedInRegularObj = true;
1426 // all command line options, so that other people can run lld again with exactly
1527 StringRef s = arg->getValue();
1528 if (s.getAsInteger(10, n))
1529 Err(ctx) << arg->getSpelling() << " number expected, but got " << s;
1625 for (StringRef s : vec) {
1626 if (s == "4037")
1628 else if (s == "4099")
1630 else if (s == "4217")
1632 else if (s == "longsections")
1676 for (StringRef s : vec) {
1677 if (s == "fastlink") {
1679 s = "full";
1681 if (s == "none") {
1689 } else if (s == "full" || s == "ghash" || s == "noghash") {
1693 if (s == "full" || s == "ghash")
1697 } else if (s == "dwarf") {
1704 } else if (s == "nodwarf") {
1706 } else if (s == "symtab") {
1709 } else if (s == "nosymtab") {
1712 Err(ctx) << "/debug: unknown option: " << s;
1920 for (StringRef s : vec) {
1921 if (s == "ref") {
1923 } else if (s == "noref") {
1925 } else if (s == "icf" || s.starts_with("icf=")) {
1927 } else if (s == "safeicf") {
1929 } else if (s == "noicf") {
1931 } else if (s == "lldtailmerge") {
1933 } else if (s == "nolldtailmerge") {
1935 } else if (s == "ltodebugpassmanager") {
1937 } else if (s == "noltodebugpassmanager") {
1939 } else if (s.consume_front("lldlto=")) {
1940 if (s.getAsInteger(10, config->ltoo) || config->ltoo > 3)
1941 Err(ctx) << "/opt:lldlto: invalid optimization level: " << s;
1942 } else if (s.consume_front("lldltocgo=")) {
1944 if (s.getAsInteger(10, *config->ltoCgo) || *config->ltoCgo > 3)
1946 << s;
1947 } else if (s.consume_front("lldltojobs=")) {
1948 if (!get_threadpool_strategy(s))
1949 Err(ctx) << "/opt:lldltojobs: invalid job count: " << s;
1950 config->thinLTOJobs = s.str();
1951 } else if (s.consume_front("lldltopartitions=")) {
1952 if (s.getAsInteger(10, config->ltoPartitions) ||
1954 Err(ctx) << "/opt:lldltopartitions: invalid partition count: " << s;
1955 } else if (s != "lbr" && s != "nolbr")
1956 Err(ctx) << "/opt: unknown option: " << s;
1970 for (const char *s : lldsaveTempsValues)
1971 config->saveTempsArgs.insert(s);
1974 StringRef s = arg->getValue();
1975 if (llvm::is_contained(lldsaveTempsValues, s))
1976 config->saveTempsArgs.insert(s);
1978 Err(ctx) << "unknown /lldsavetemps value: " << s;
1984 StringRef s = arg->getValue();
1985 if (s == "obj")
1987 else if (s == "llvm")
1989 else if (s == "asm")
1992 Err(ctx) << "/lldemit: unknown option: " << s;
2045 Warn(ctx) << "/align specified without /driver; image may not run";
2211 run();
2242 run();
2344 StringRef s = (config->machine == I386) ? "__DllMainCRTStartup@12"
2346 symtab.entry = symtab.addGCRoot(s, true);
2354 StringRef s = symtab.findDefaultEntry();
2355 if (s.empty())
2357 symtab.entry = symtab.addGCRoot(s, true);
2358 Log(ctx) << "Entry name inferred: " << s;
2397 std::string s = StringRef(arg->getValue()).lower();
2398 if (s == "exports")
2401 Err(ctx) << "unknown option: /mapinfo:" << s;
2428 // It's important to make the path absolute and remove dots. This path
2543 // file's symbol table. If any of those library functions are defined in
2549 for (auto *s : lto::LTO::getRuntimeLibcallSymbols(TT))
2550 symtab.addLibcall(s);
2565 } while (run());
2576 while (run())
2588 // should only need to be run once, since each new object file imported
2590 // but there's nothing stopping the __imp_ symbols from coming from a
2601 run();
2637 // in addCombinedLTOObject, so we are done if that's the case.
2644 run();
2656 run();