Features:
* All GCC 4.8 features, plus latest mainline features
- Cortex-R7 support
* Additional code size optimizations
- Don't expand multiply instruction for Thumb-1.
- Avoid unnecessary lr save instruction for Thumb-1.
* Newlib-nano: newlib branch optimized for code size
* Cortex-A profile multilib
* Link Time Optimization (LTO)
* A new compiler option -mslow-flash-data to minimize the literal load to
boost performance for some armv7-m targets.
* A new compiler option -mpic-data-is-text-relative to enable/disable
addressing data with PC relative.
* Avoid missing _sbrk issue when .specs is used.
* Support multiple RAM sessions in startup code.
* A GCC plugin to optimize Finite State Machine program.
Tests:
* Tested on a variety of Cortex-M0/M0+/M3/M4/A9 boards
* Tested on Qemu
Important bugs fixed in 4.8 2013q4 major release:
* Branch to symbol defined in linker script
http://sourceware.org/bugzilla/show_bug.cgi?id=15302* GDB is upgraded to 7.6 to better support dwarf-3 and later standard
https://answers.launchpad.net/gcc-arm-embed...question/234131 https://bugs.launchpad.net/gcc-arm-embedded/+bug/1248981* ICE when use high register as PIC base register for thumb-1 target
Known Changes and Issues:
* Unlike the previous releases, this release O2 optimization level doesn't
unroll loop. To tune the strategy to get better performance for your
case, please refer to unrolling related parameters in associated gcc manual.
* The gcc regression test case pr42575.c now fails due to suboptimal code
on 64-bit integer multiply caused by gcc new rtx cost model.
* This version of GCC still cannot handle volatile packed structure correctly.
Please avoid such usage in source code.