--- gcc/config/host-linux.c	2013-01-10 21:38:27.000000000 +0100
+++ gcc/config/host-linux.c	2013-12-09 09:36:14.566516055 +0100
@@ -212,7 +212,7 @@ linux_gt_pch_use_address (void *base, si
     {
       ssize_t nbytes;
 
-      nbytes = read (fd, base, MIN (size, SSIZE_MAX));
+      nbytes = read (fd, base, MIN (size, (size_t)-1 >> 1));
       if (nbytes <= 0)
         return -1;
       base = (char *) base + nbytes;
--- gcc/configure	2013-12-05 08:11:17.000000000 +0100
+++ gcc/configure	2013-12-11 09:36:03.628779968 +0100
@@ -11288,7 +11288,8 @@ else
 	*) realsrcdir=../${srcdir};;
 	esac
 	CC="${CC_FOR_BUILD}" CFLAGS="${CFLAGS_FOR_BUILD}" \
-	LDFLAGS="${LDFLAGS_FOR_BUILD}" GMPINC="" \
+	CXX="${CXX_FOR_BUILD}" CXXFLAGS="${CXXFLAGS_FOR_BUILD}" \
+	LDFLAGS="${LDFLAGS_FOR_BUILD}" \
 	${realsrcdir}/configure \
 		--enable-languages=${enable_languages-all} \
 		--target=$target_alias --host=$build_alias --build=$build_alias
--- gcc/configure.ac	2013-12-05 08:11:17.000000000 +0100
+++ gcc/configure.ac	2013-12-11 08:59:36.064751311 +0100
@@ -1530,7 +1530,8 @@ else
 	*) realsrcdir=../${srcdir};;
 	esac
 	CC="${CC_FOR_BUILD}" CFLAGS="${CFLAGS_FOR_BUILD}" \
-	LDFLAGS="${LDFLAGS_FOR_BUILD}" GMPINC="" \
+	CXX="${CXX_FOR_BUILD}" CXXFLAGS="${CXXFLAGS_FOR_BUILD}" \
+	LDFLAGS="${LDFLAGS_FOR_BUILD}" \
 	${realsrcdir}/configure \
 		--enable-languages=${enable_languages-all} \
 		--target=$target_alias --host=$build_alias --build=$build_alias
--- gcc/ada/system.ads	2011-08-29 12:14:45.000000000 +0200
+++ gcc/ada/system.ads	2013-12-11 10:13:51.496809683 +0100
@@ -39,7 +39,7 @@
 --  "proper" System, and since the compiler itself does not care about most
 --  System parameters, this generic version works fine.
 
-pragma Restrictions (No_Implicit_Dynamic_Code);
+--  pragma Restrictions (No_Implicit_Dynamic_Code);
 --  We want to avoid trampolines in the compiler, so it can be used in systems
 --  which prevent execution of code on the stack, e.g. in windows environments
 --  with DEP (Data Execution Protection) enabled.
