diff --git a/tools/ccc/ccclib/ToolChain.py b/tools/ccc/ccclib/ToolChain.py
index 20582a2..d0c1fe1 100644
--- a/tools/ccc/ccclib/ToolChain.py
+++ b/tools/ccc/ccclib/ToolChain.py
@@ -75,19 +75,25 @@
             Phases.LipoPhase : Tools.LipoTool(),
             }
 
+        if archName == 'x86_64':
+            self.filePathPrefixes.append(os.path.join(self.driver.driverDir,
+                                                      '../lib/gcc',
+                                                      self.getToolChainDir(),
+                                                      'x86_64'))
+            self.filePathPrefixes.append(os.path.join('/usr/lib/gcc',
+                                                      self.getToolChainDir(),
+                                                      'x86_64'))
         self.filePathPrefixes.append(os.path.join(self.driver.driverDir,
                                                   '../lib/gcc',
                                                   self.getToolChainDir()))
-        self.filePathPrefixes.append(os.path.join(self.driver.driverDir,
-                                                  '/usr/lib/gcc',
+        self.filePathPrefixes.append(os.path.join('/usr/lib/gcc',
                                                   self.getToolChainDir()))
 
         self.programPathPrefixes.append(os.path.join(self.driver.driverDir,
                                                   '../libexec/gcc',
                                                   self.getToolChainDir()))
-        self.programPathPrefixes.append(os.path.join(self.driver.driverDir,
-                                                  '/usr/libexec/gcc',
-                                                  self.getToolChainDir()))
+        self.programPathPrefixes.append(os.path.join('/usr/libexec/gcc',
+                                                     self.getToolChainDir()))
         self.programPathPrefixes.append(self.driver.driverDir)
 
     def getToolChainDir(self):
diff --git a/tools/ccc/ccclib/Tools.py b/tools/ccc/ccclib/Tools.py
index ae170d8..fbf17cb 100644
--- a/tools/ccc/ccclib/Tools.py
+++ b/tools/ccc/ccclib/Tools.py
@@ -1006,9 +1006,7 @@
             if arglist.getLastArg(arglist.parser.sharedLibgccOption):
                 if not arglist.getLastArg(arglist.parser.m_iphoneosVersionMinOption):
                     if macosxVersion < (10,5):
-                        # FIXME: gcc does a library search for this
-                        # file, this will be be broken currently.
-                        cmd_args.append('crt3.o')
+                        cmd_args.append(self.toolChain.getFilePath('crt3.o'))
 
         arglist.addAllArgs(cmd_args, arglist.parser.LOption)
         
