r184708 - The profile library must come before the C library so that it can use
Chandler Carruth
chandlerc at gmail.com
Mon Jun 24 02:38:46 PDT 2013
Author: chandlerc
Date: Mon Jun 24 04:38:45 2013
New Revision: 184708
URL: http://llvm.org/viewvc/llvm-project?rev=184708&view=rev
Log:
The profile library must come before the C library so that it can use
atexit.
Modified:
cfe/trunk/lib/Driver/Tools.cpp
cfe/trunk/test/Driver/coverage-ld.c
Modified: cfe/trunk/lib/Driver/Tools.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Driver/Tools.cpp?rev=184708&r1=184707&r2=184708&view=diff
==============================================================================
--- cfe/trunk/lib/Driver/Tools.cpp (original)
+++ cfe/trunk/lib/Driver/Tools.cpp Mon Jun 24 04:38:45 2013
@@ -6206,6 +6206,9 @@ void gnutools::Link::ConstructJob(Compil
if (Sanitize.needsLsanRt())
addLsanRTLinux(getToolChain(), Args, CmdArgs);
+ // The profile runtime also needs access to system libraries.
+ addProfileRTLinux(getToolChain(), Args, CmdArgs);
+
if (D.CCCIsCXX &&
!Args.hasArg(options::OPT_nostdlib) &&
!Args.hasArg(options::OPT_nodefaultlibs)) {
@@ -6262,8 +6265,6 @@ void gnutools::Link::ConstructJob(Compil
}
}
- addProfileRTLinux(getToolChain(), Args, CmdArgs);
-
C.addCommand(new Command(JA, *this, ToolChain.Linker.c_str(), CmdArgs));
}
Modified: cfe/trunk/test/Driver/coverage-ld.c
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Driver/coverage-ld.c?rev=184708&r1=184707&r2=184708&view=diff
==============================================================================
--- cfe/trunk/test/Driver/coverage-ld.c (original)
+++ cfe/trunk/test/Driver/coverage-ld.c Mon Jun 24 04:38:45 2013
@@ -7,7 +7,7 @@
// RUN: | FileCheck --check-prefix=CHECK-LINUX-I386 %s
//
// CHECK-LINUX-I386: "{{(.*[^-.0-9A-Z_a-z])?}}ld{{(.exe)?}}"
-// CHECK-LINUX-I386: "{{.*}}/Inputs/resource_dir/lib/linux/libclang_rt.profile-i386.a"
+// CHECK-LINUX-I386: "{{.*}}/Inputs/resource_dir/lib/linux/libclang_rt.profile-i386.a" {{.*}} "-lc"
//
// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
// RUN: -target x86_64-unknown-linux --coverage \
@@ -16,4 +16,4 @@
// RUN: | FileCheck --check-prefix=CHECK-LINUX-X86-64 %s
//
// CHECK-LINUX-X86-64: "{{(.*[^-.0-9A-Z_a-z])?}}ld{{(.exe)?}}"
-// CHECK-LINUX-X86-64: "{{.*}}/Inputs/resource_dir/lib/linux/libclang_rt.profile-x86_64.a"
+// CHECK-LINUX-X86-64: "{{.*}}/Inputs/resource_dir/lib/linux/libclang_rt.profile-x86_64.a" {{.*}} "-lc"
More information about the cfe-commits
mailing list