GCC ARM Embedded Changelog

New in version 4.9 Update 2

June 23rd, 2015
  • Features:
  • All GCC 4.9 features, plus latest mainline features
  • Cortex-M7 support
  • Small multiply support with options:
  • -mcpu=cortex-m1.small-multiply
  • -mcpu=cortex-m0.small-multiply
  • -mcpu=cortex-m0plus.small-multiply
  • Dedicated multilib for Cortex-M7:
  • cortex-m7
  • cortex-m7/fpu/fpv5-d16
  • cortex-m7/fpu/fpv5-sp-d16
  • cortex-m7/softfp/fpv5-d16
  • cortex-m7/softfp/fpv5-sp-d16
  • Define aeabi_memcpy and aeabi_memcpy4 routines in newlib.
  • Define aeabi_memmove, aeabi_memset and aeabi_memclr routines in newlib.
  • Thumb-1 library optimizations.
  • Additional code size optimizations.
  • Add gdb python build (arm-none-eabi-gdb-py).
  • Object file without attribute section can be linked with any others.
  • The options -mapcs, -mapcs-frame, -mtpcs-frame and -mtpcs-leaf-frame will be deprecated in gcc 5.0, hence recommend to avoid them.
  • Important bugs fixed in 4.9 update 2 release:
  • Updated some inline assembly code in Newlib to work with old targets https://www.sourceware.org/ml/newlib/2015/msg00386.html
  • Avoid wastage caused by section size promotion https://answers.launchpad.net/gcc-arm-embedded/+question/262160
  • Local register variables don't work correctly with inline asm operands https://bugs.launchpad.net/gcc-arm-embedded/+bug/1411655

New in version 4.9 Update 1 (March 20th, 2015)

  • Features:
  • All GCC 4.9 features, plus latest mainline features
  • - Cortex-M7 support
  • - Small multiply support with options:
  • . -mcpu=cortex-m1.small-multiply
  • . -mcpu=cortex-m0.small-multiply
  • . -mcpu=cortex-m0plus.small-multiply
  • Dedicated multilib for Cortex-M7
  • - cortex-m7
  • - cortex-m7/fpu/fpv5-d16
  • - cortex-m7/fpu/fpv5-sp-d16
  • - cortex-m7/softfp/fpv5-d16
  • - cortex-m7/softfp/fpv5-sp-d16
  • Define aeabi_memcpy and aeabi_memcpy4 routines in newlib.
  • Define aeabi_memmove, aeabi_memset and aeabi_memclr routines in newlib.
  • Thumb-1 library optimizations.
  • Additional code size optimizations.
  • Add gdb python build (arm-none-eabi-gdb-py).
  • Object file without attribute section can be linked with any others.
  • The options -mapcs, -mapcs-frame, -mtpcs-frame and -mtpcs-leaf-frame will be deprecated in gcc 5.0, hence recommend to avoid them.
  • Important bugs fixed in 4.9 update 1 release:
  • LD backport to keep zero length section in final axf file
  • Fix GDB crash caused by discarding the grouped debug sections
  • Add a Thumb1 insn pattern to legalize the instruction that moves pc to low register
  • Update GCC to generate Tag_ABI_HardFP_use per the latest EABI doc
  • Live high register not saved in function prolog with -Os
  • --var-info-path-expression fails for nested structs

New in version 4.8 (December 23rd, 2013)

  • 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-embedded/+question/234131 https://bugs.launchpad.net/gcc-arm-embedded/+bug/1248981
  • ICE when use high register as PIC base register for thumb-1 target

New in version 4.7 Update 3 (September 26th, 2013)

  • Crash when compile fixed-point app with LTO https://answers.launchpad.net/gcc-arm-embedded/+question/235582
  • Branch to target specified by a linker script symbol https://sourceware.org/bugzilla/show_bug.cgi?id=15302
  • Windows hosted gdb hang at some breakpoint https://bugs.launchpad.net/gcc-arm-embedded/+bug/1197615
  • Nano missing reference to _mallopt_r https://mbed.org/forum/mbed/topic/2701/?page=3#comment-22549

New in version 4.7 Update 2 (June 28th, 2013)

  • Upgrade doc/*.texi to the latest texinfo package https://answers.launchpad.net/gcc-arm-embedded/+question/227685
  • Fix ICE with -mtune option https://answers.launchpad.net/gcc-arm-embedded/+question/227667
  • Fix --debug option in build script https://answers.launchpad.net/gcc-arm-embedded/+question/229127
  • Fix unnecessary lr save in thumb1 leaf function

New in version 4.7 Update 1 (March 29th, 2013)

  • This update release fixes a couple of issues found in 4.7 major:
  • Mac OS host version has python dependence
  • LTO failure when installed in directory with space in path name http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50293
  • Load address of data sections containing aligned data http://sourceware.org/bugzilla/show_bug.cgi?id=15222
  • libnosys doesn't check stack overflow https://answers.launchpad.net/gcc-arm-embedded/+question/218972
  • librdimon.a doesn't match newlib-nano
  • It also gets the build configuration adjusted to enable:
  • Basic Cortex-A profile multilib
  • LTO (Link Time Optimization)