For one of our products which is based on the TMS320F2812 processors we are using the C2000 v.6.1.3 compiler. The product was tested with compiled code with the "-g" option (Debug). Everything was working fine. The product team decided to release the code without the -g option "Release". An EEPROM chip on the SPI bus stopped working i.e. writes to it no longer work. The team decided to also try a newer compiler v 6.2.0 and realized that the EEPROM chip works with or without the "-g" switch in the compiler options.
Since we can calculate the CRC of exactly what goes into the flash of the CPU by adding the "_DEBUG" switch to the release build we were able to get the same CRC for version 6.2.0 for a build with "-g" and a build without "-g". When we tried this with 6.1.3 the CRC was different between the release and debug builds.
I have a version of the project were we stripped everything out but the EEPROM driver and the behavior is the same.