201037_14
authorhgs
Tue, 28 Sep 2010 15:28:31 +0100
changeset 275 2b433474f2ba
parent 274 c7e97f847492
child 276 c36ee65c5fa1
child 279 957c583b417b
201037_14
kernel/eka/euser/us_func.cpp
--- a/kernel/eka/euser/us_func.cpp	Tue Sep 28 15:14:12 2010 +0100
+++ b/kernel/eka/euser/us_func.cpp	Tue Sep 28 15:28:31 2010 +0100
@@ -2017,6 +2017,12 @@
 	0xb40bbe37, 0xc30c8ea1, 0x5a05df1b, 0x2d02ef8d
 	};
 
+/* RVCT 3.1 and 4.0 read past the end of arrays when unrolling loops.
+ * This only happens when using -O3 -Otime, so force to -O2.
+ */
+#pragma push
+#pragma O2
+
 /**
 Performs a CCITT CRC-32 checksum on the specified data.
 
@@ -2036,3 +2042,4 @@
 		crc = (crc >> 8) ^ CrcTab32[(crc ^ *p++) & 0xff];
 	aCrc = crc;
 	}
+#pragma pop