]> granicus.if.org Git - clang/commitdiff
Tweak linkage order for solaris.
authorDavid Chisnall <csdavec@swan.ac.uk>
Tue, 13 Mar 2012 14:14:54 +0000 (14:14 +0000)
committerDavid Chisnall <csdavec@swan.ac.uk>
Tue, 13 Mar 2012 14:14:54 +0000 (14:14 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@152627 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Driver/Tools.cpp

index acd8b3a9451761e626a3fc71004b97607a7f748f..4c0542419210c0be2b47e2d46a11d5601cf71ffe 100644 (file)
@@ -4301,11 +4301,12 @@ void solaris::Link::ConstructJob(Compilation &C, const JobAction &JA,
       CmdArgs.push_back(Args.MakeArgString(LibPath + "values-Xa.o"));
       CmdArgs.push_back(Args.MakeArgString(GCCLibPath + "crtbegin.o"));
     } else {
-      CmdArgs.push_back(Args.MakeArgString(LibPath + "cxa_finalize.o"));
       CmdArgs.push_back(Args.MakeArgString(LibPath + "crti.o"));
       CmdArgs.push_back(Args.MakeArgString(LibPath + "values-Xa.o"));
       CmdArgs.push_back(Args.MakeArgString(GCCLibPath + "crtbegin.o"));
     }
+    if (getToolChain().getDriver().CCCIsCXX)
+      CmdArgs.push_back(Args.MakeArgString(LibPath + "cxa_finalize.o"));
   }
 
   CmdArgs.push_back(Args.MakeArgString("-L" + GCCLibPath));