# HG changeset patch # User hgs # Date 1285684111 -3600 # Node ID 2b433474f2ba3f584091cbfa2926518d0451bbe3 # Parent c7e97f847492f99736e56b249458f24587c7708e 201037_14 diff -r c7e97f847492 -r 2b433474f2ba 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