Unify the name of compiler-rt builtins library on Linux.
Call it "libclang_rt.builtins-<arch>.a" to be consistent with sanitizers/profile libraries naming. Modify Makefile and CMake build systems and Clang driver accordingly. Fixes PR19822. llvm-svn: 209474
This commit is contained in:
parent
00997e29e5
commit
99ee10d2b8
|
@ -1891,14 +1891,15 @@ static SmallString<128> getCompilerRTLibDir(const ToolChain &TC) {
|
|||
return Res;
|
||||
}
|
||||
|
||||
// This adds the static libclang_rt.arch.a directly to the command line
|
||||
// This adds the static libclang_rt.builtins-arch.a directly to the command line
|
||||
// FIXME: Make sure we can also emit shared objects if they're requested
|
||||
// and available, check for possible errors, etc.
|
||||
static void addClangRTLinux(
|
||||
const ToolChain &TC, const ArgList &Args, ArgStringList &CmdArgs) {
|
||||
SmallString<128> LibClangRT = getCompilerRTLibDir(TC);
|
||||
llvm::sys::path::append(LibClangRT,
|
||||
Twine("libclang_rt.") + getArchNameForCompilerRTLib(TC) + ".a");
|
||||
llvm::sys::path::append(LibClangRT, Twine("libclang_rt.builtins-") +
|
||||
getArchNameForCompilerRTLib(TC) +
|
||||
".a");
|
||||
|
||||
CmdArgs.push_back(Args.MakeArgString(LibClangRT));
|
||||
CmdArgs.push_back("-lgcc_s");
|
||||
|
|
|
@ -126,7 +126,7 @@ TryCompile = \
|
|||
|
||||
# We try to build 32-bit runtimes both on 32-bit hosts and 64-bit hosts.
|
||||
Runtime32BitConfigs = \
|
||||
full-i386.a profile-i386.a san-i386.a asan-i386.a asan_cxx-i386.a \
|
||||
builtins-i386.a profile-i386.a san-i386.a asan-i386.a asan_cxx-i386.a \
|
||||
ubsan-i386.a ubsan_cxx-i386.a
|
||||
|
||||
# We currently only try to generate runtime libraries on x86.
|
||||
|
@ -136,7 +136,7 @@ endif
|
|||
|
||||
ifeq ($(ARCH),x86_64)
|
||||
RuntimeLibrary.linux.Configs += \
|
||||
full-x86_64.a profile-x86_64.a san-x86_64.a asan-x86_64.a \
|
||||
builtins-x86_64.a profile-x86_64.a san-x86_64.a asan-x86_64.a \
|
||||
asan_cxx-x86_64.a tsan-x86_64.a msan-x86_64.a ubsan-x86_64.a \
|
||||
ubsan_cxx-x86_64.a dfsan-x86_64.a lsan-x86_64.a
|
||||
# We need to build 32-bit ASan/UBsan libraries on 64-bit platform, and add them
|
||||
|
|
|
@ -49,9 +49,9 @@
|
|||
// CHECK-LD-RT: "-L[[SYSROOT]]/usr/lib/gcc/x86_64-unknown-linux/4.6.0/../../.."
|
||||
// CHECK-LD-RT: "-L[[SYSROOT]]/lib"
|
||||
// CHECK-LD-RT: "-L[[SYSROOT]]/usr/lib"
|
||||
// CHECK-LD-RT: libclang_rt.x86_64.a" "-lgcc_s"
|
||||
// CHECK-LD-RT: libclang_rt.builtins-x86_64.a" "-lgcc_s"
|
||||
// CHECK-LD-RT: "-lc"
|
||||
// CHECK-LD-RT: libclang_rt.x86_64.a" "-lgcc_s"
|
||||
// CHECK-LD-RT: libclang_rt.builtins-x86_64.a" "-lgcc_s"
|
||||
//
|
||||
// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
|
||||
// RUN: --target=x86_64-unknown-linux \
|
||||
|
|
Loading…
Reference in New Issue