forked from OSchip/llvm-project
Fix the clang driver when "-nostdlib" is present
This patch is a fix to r252901 which changed the behavior of clang driver. In the presence of "-nostdlib" none of the standard libraries should be passed to link line. Differential Revision: http://reviews.llvm.org/D15130 llvm-svn: 254535
This commit is contained in:
parent
7cc4477637
commit
b79fdff9e2
|
@ -8694,8 +8694,7 @@ void gnutools::Linker::ConstructJob(Compilation &C, const JobAction &JA,
|
|||
if (!isAndroid)
|
||||
CmdArgs.push_back(Args.MakeArgString(ToolChain.GetFilePath("crtn.o")));
|
||||
}
|
||||
} else if (Args.hasArg(options::OPT_rtlib_EQ))
|
||||
AddRunTimeLibs(ToolChain, D, CmdArgs, Args);
|
||||
}
|
||||
|
||||
C.addCommand(llvm::make_unique<Command>(JA, *this, Exec, CmdArgs, Inputs));
|
||||
}
|
||||
|
|
|
@ -9,3 +9,19 @@
|
|||
// RUN: %clang -### -nostartfiles -nostdlib -target i386-apple-darwin %s \
|
||||
// RUN: 2>&1 | FileCheck %s -check-prefix=ARGSCLAIMED
|
||||
// ARGSCLAIMED-NOT: warning:
|
||||
|
||||
// In the presence of -nostdlib, the standard libraries should not be
|
||||
// passed down to link line
|
||||
// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
|
||||
// RUN: -target i686-pc-linux-gnu -nostdlib --rtlib=compiler-rt \
|
||||
// RUN: -resource-dir=%S/Inputs/resource_dir -lclang_rt.builtins-i686 \
|
||||
// RUN: | FileCheck --check-prefix=CHECK-LINUX-NOSTDLIB %s
|
||||
//
|
||||
// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
|
||||
// RUN: -target i686-pc-linux-gnu --rtlib=compiler-rt -nostdlib \
|
||||
// RUN: -resource-dir=%S/Inputs/resource_dir -lclang_rt.builtins-i686 \
|
||||
// RUN: | FileCheck --check-prefix=CHECK-LINUX-NOSTDLIB %s
|
||||
//
|
||||
// CHECK-LINUX-NOSTDLIB: warning: argument unused during compilation: '--rtlib=compiler-rt'
|
||||
// CHECK-LINUX-NOSTDLIB: "{{(.*[^.0-9A-Z_a-z])?}}ld{{(.exe)?}}"
|
||||
// CHECK-LINUX-NOSTDLIB-NOT: "{{.*}}/Inputs/resource_dir{{/|\\\\}}lib{{/|\\\\}}linux{{/|\\\\}}libclang_rt.builtins-i686.a"
|
||||
|
|
Loading…
Reference in New Issue