Index: lib/Sema/SemaDeclAttr.cpp
===================================================================
--- lib/Sema/SemaDeclAttr.cpp	(revision 125833)
+++ lib/Sema/SemaDeclAttr.cpp	(working copy)
@@ -1603,7 +1603,7 @@
   if (Format == "scanf" || Format == "printf" || Format == "printf0" ||
       Format == "strfmon" || Format == "cmn_err" || Format == "strftime" ||
       Format == "NSString" || Format == "CFString" || Format == "vcmn_err" ||
-      Format == "zcmn_err")
+      Format == "zcmn_err" || Format == "kprintf")
     return SupportedFormat;
 
   if (Format == "gcc_diag" || Format == "gcc_cdiag" ||
Index: lib/Sema/AttributeList.cpp
===================================================================
--- lib/Sema/AttributeList.cpp	(revision 125833)
+++ lib/Sema/AttributeList.cpp	(working copy)
@@ -126,6 +126,7 @@
     .Case("__fastcall", AT_fastcall)
     .Case("__thiscall", AT_thiscall)
     .Case("__pascal", AT_pascal)
+    .Case("bounded", IgnoredAttribute)
     .Case("constant", AT_constant)
     .Case("device", AT_device)
     .Case("global", AT_global)
Index: lib/Lex/Lexer.cpp
===================================================================
--- lib/Lex/Lexer.cpp	(revision 125833)
+++ lib/Lex/Lexer.cpp	(working copy)
@@ -1516,6 +1516,7 @@
   return true;
 }
 
+#undef __SSE2__
 #ifdef __SSE2__
 #include <emmintrin.h>
 #elif __ALTIVEC__
Index: lib/Driver/Tools.cpp
===================================================================
--- lib/Driver/Tools.cpp	(revision 125833)
+++ lib/Driver/Tools.cpp	(working copy)
@@ -3080,9 +3080,9 @@
 
     if (Args.hasArg(options::OPT_pthread))
       CmdArgs.push_back("-pthread");
+      //CmdArgs.push_back("-lpthread");
     if (!Args.hasArg(options::OPT_shared))
       CmdArgs.push_back("-lc");
-    CmdArgs.push_back("-lgcc");
   }
 
   if (!Args.hasArg(options::OPT_nostdlib) &&
