]> granicus.if.org Git - clang/commitdiff
Merge libgcc spec changes for darwin::Link::ConstructJob.
authorDaniel Dunbar <daniel@zuster.org>
Fri, 4 Sep 2009 18:35:47 +0000 (18:35 +0000)
committerDaniel Dunbar <daniel@zuster.org>
Fri, 4 Sep 2009 18:35:47 +0000 (18:35 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@81022 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Driver/Tools.cpp

index d9fea2e98db98871319f551fab49bc4ec95f0071..a35d745cf13376fd0a76604d4d0c1e1534bbff38 100644 (file)
@@ -1700,7 +1700,9 @@ void darwin::Link::ConstructJob(Compilation &C, const JobAction &JA,
             CmdArgs.push_back("-lcrt0.o");
           } else {
             // Derived from darwin_crt1 spec.
-            if (isMacosxVersionLT(MacosxVersion, 10, 5))
+            if (getDarwinToolChain().isIPhone()) {
+              CmdArgs.push_back("-lcrt1.o");
+            } else if (isMacosxVersionLT(MacosxVersion, 10, 5))
               CmdArgs.push_back("-lcrt1.o");
             else if (isMacosxVersionLT(MacosxVersion, 10, 6))
               CmdArgs.push_back("-lcrt1.10.5.o");
@@ -1789,7 +1791,11 @@ void darwin::Link::ConstructJob(Compilation &C, const JobAction &JA,
         CmdArgs.push_back("-lgcc_eh");
       } else if (Args.hasArg(options::OPT_miphoneos_version_min_EQ)) {
         // Derived from darwin_iphoneos_libgcc spec.
-        CmdArgs.push_back("-lgcc_s.10.5");
+        if (getDarwinToolChain().isIPhone()) {
+          CmdArgs.push_back("-lgcc_s.1");
+        } else {
+          CmdArgs.push_back("-lgcc_s.10.5");
+        }
       } else if (Args.hasArg(options::OPT_shared_libgcc) ||
                  // FIXME: -fexceptions -fno-exceptions means no exceptions
                  Args.hasArg(options::OPT_fexceptions) ||
@@ -1808,7 +1814,8 @@ void darwin::Link::ConstructJob(Compilation &C, const JobAction &JA,
           CmdArgs.push_back("-lgcc_s.10.5");
       }
 
-      if (isMacosxVersionLT(MacosxVersion, 10, 6)) {
+      if (getDarwinToolChain().isIPhone() ||
+          isMacosxVersionLT(MacosxVersion, 10, 6)) {
         CmdArgs.push_back("-lgcc");
         CmdArgs.push_back("-lSystem");
       } else {