@@ -85,7 +85,8 @@ void ananas::Linker::ConstructJob(Compilation &C, const JobAction &JA,
85
85
assert (Output.isNothing () && " Invalid output." );
86
86
}
87
87
88
- if (!Args.hasArg (options::OPT_nostdlib, options::OPT_nostartfiles)) {
88
+ if (!Args.hasArg (options::OPT_nostdlib, options::OPT_nostartfiles,
89
+ options::OPT_r)) {
89
90
if (!Args.hasArg (options::OPT_shared)) {
90
91
CmdArgs.push_back (Args.MakeArgString (ToolChain.GetFilePath (" crt0.o" )));
91
92
}
@@ -111,12 +112,15 @@ void ananas::Linker::ConstructJob(Compilation &C, const JobAction &JA,
111
112
112
113
AddLinkerInputs (ToolChain, Inputs, Args, CmdArgs, JA);
113
114
114
- if (ToolChain.ShouldLinkCXXStdlib (Args))
115
- ToolChain.AddCXXStdlibLibArgs (Args, CmdArgs);
116
- if (!Args.hasArg (options::OPT_nostdlib, options::OPT_nodefaultlibs))
115
+ if (!Args.hasArg (options::OPT_nostdlib, options::OPT_nodefaultlibs,
116
+ options::OPT_r)) {
117
+ if (ToolChain.ShouldLinkCXXStdlib (Args))
118
+ ToolChain.AddCXXStdlibLibArgs (Args, CmdArgs);
117
119
CmdArgs.push_back (" -lc" );
120
+ }
118
121
119
- if (!Args.hasArg (options::OPT_nostdlib, options::OPT_nostartfiles)) {
122
+ if (!Args.hasArg (options::OPT_nostdlib, options::OPT_nostartfiles,
123
+ options::OPT_r)) {
120
124
if (Args.hasArg (options::OPT_shared) || Args.hasArg (options::OPT_pie))
121
125
CmdArgs.push_back (Args.MakeArgString (ToolChain.GetFilePath (" crtendS.o" )));
122
126
else
0 commit comments