SF patch 730594:  assert from longobject.c, line 1215.
Some version of gcc in the "RTEMS port running on the Coldfire (m5200)
processor" generates bad code for a loop in long_from_binary_base(),
comparing the wrong half of an int to a short.  The patch changes the
decl of the short temp to be an int temp instead.  This "simplifies"
the code enough that gcc no longer blows it.
diff --git a/Objects/longobject.c b/Objects/longobject.c
index 15743f7..52c30c2 100644
--- a/Objects/longobject.c
+++ b/Objects/longobject.c
@@ -1201,8 +1201,8 @@
 	bits_in_accum = 0;
 	pdigit = z->ob_digit;
 	while (--p >= start) {
-		unsigned char ch = (unsigned char)*p;
-		digit k;
+		int k;
+		char ch = *p;
 
 		if (ch <= '9')
 			k = ch - '0';
@@ -1212,8 +1212,8 @@
 			assert(ch >= 'A');
 			k = ch - 'A' + 10;
 		}
-		assert(k < base);
-		accum |= k << bits_in_accum;
+		assert(k >= 0 && k < base);
+		accum |= (twodigits)(k << bits_in_accum);
 		bits_in_accum += bits_per_char;
 		if (bits_in_accum >= SHIFT) {
 			*pdigit++ = (digit)(accum & MASK);