You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

126 lines
4.9 KiB
Plaintext

Release notes for
*************************************************
GNU Tools for ARM Embedded Processors 6
- Q2 2017
*************************************************
This release includes the following items:
* Bare metal EABI pre-built binaries for running on a Windows host
* Bare metal EABI pre-built binaries for running on a Linux host
* Bare metal EABI pre-built binaries for running on a Mac OS X host
* Source code package (together with build scripts and instructions to setup
build environment), composed of:
* gcc : ARM/embedded-6-branch revision 249437
svn://gcc.gnu.org/svn/gcc/branches/ARM/embedded-6-branch/
* binutils : 2.28
git://sourceware.org/git/binutils-gdb.git commit c0a558756bcf42dc2554aa778b84bf6e13232819
* newlib and newlib-nano :
git://sourceware.org/git/newlib-cygwin.git commit 0d79b021a4ec4e6b9aa1a9f6db0e29a137005ce7
* gdb : 7.12 without target sim support
git://sourceware.org/git/binutils-gdb.git commit 17265fcd6b8b6406821d8e6bdcfbb4760bdf28aa
Note that some or all of the following prerequisites are downloaded when
building from source:
* EnvVarUpdate NSIS script :
http://nsis.sourceforge.net/mediawiki/images/a/ad/EnvVarUpdate.7z
* expat 2.1.1 :
http://jaist.dl.sourceforge.net/project/expat/expat/2.1.1/expat-2.1.1.tar.bz2
* gmp 6.1.0 : ftp://gcc.gnu.org/pub/gcc/infrastructure/gmp-6.1.0.tar.bz2
* isl 0.15 : ftp://gcc.gnu.org/pub/gcc/infrastructure/isl-0.15.tar.bz2
* libelf 0.8.13 : http://www.mr511.de/software/libelf-0.8.13.tar.gz
* libiconv 1.14 :
http://ftp.gnu.org/gnu/libiconv/libiconv-1.14.tar.gz
* mpc 1.0.3 : ftp://gcc.gnu.org/pub/gcc/infrastructure/mpc-1.0.3.tar.gz
* mpfr 3.1.4 : ftp://gcc.gnu.org/pub/gcc/infrastructure/mpfr-3.1.4.tar.bz2
* python 2.7.13 : https://www.python.org/ftp/python/2.7.13/python-2.7.13.msi
* zlib 1.2.8
http://sourceforge.net/projects/libpng/files/zlib/1.2.8/zlib-1.2.8.tar.gz/download
Supported hosts:
* Windows 7 32/64 bits (with installer and alternative zip package)
* Linux 64 bits
- Ubuntu 14.04 or later (tarball)
- Ubuntu 14.04/16.04/16.10 (tarball and PPA)
- RHEL 7 (tarball)
* Mac OS X 10.7.3 and newer 64 bits (tarball)
Supported target OS:
* Bare metal EABI only
Features:
* All GCC 6 features, plus latest mainline features:
+ Full ARMv8-M support including atomics and Security Extensions
+ ARM PURECODE support for ARMv7-M and ARMv8-M Baseline and Mainline
+ Co-processor intrinsics support
+ Cortex-M23 and Cortex-M33 support
+ -mthumb optional for Cortex-M devices
* Support for OS-retargeting of locking routines in newlib
* Advanced SIMD-optimized memchr implementation in newlib
* Enable setting options for Windows installer on command line
Tests:
* Tested on a variety of Cortex-M0/M0+/M3/M4/M7/A9 boards
* Tested on Qemu
* Tested on ARM Fast Models
Important bugs fixed in 6 release:
* Fix redundant load in loop
https://answers.launchpad.net/gcc-arm-embedded/+question/259553
* Fixed stack corruption when using high registers and LR register
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77933
* Fixed internal compiler error when compiling empty FIQ interrupt handler
https://bugs.launchpad.net/gcc-arm-embedded/+bug/1454506
* Fix internal compiler error with LTO when building g++.dg/lto/20081219 testcase
* Fixed callee-saved register trashing when clobbering SP register
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77904
* Fixed internal compiler error when using -mslow-flash-data and floating-point
operations
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71607
* Fixed wrong code generation with indirect sibbling calls
https://bugs.launchpad.net/gcc-arm-embedded/+bug/1616992
* Fixed spurious code removal
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78617
Important bugs fixed in 6 update 1 release:
* Fix Mac GDB crash with invalid commands
https://bugs.launchpad.net/gcc-arm-embedded/+bug/1655778
* Fix Windows wildcard support
* Fix selection of newlib.h variant with nano.specs and g++
https://bugs.launchpad.net/gcc-arm-embedded/+bug/1661882
* Allow VCMP immediate without prefix in unified syntax
https://bugs.launchpad.net/gcc-arm-embedded/+bug/1641333
Important changes in 6 update 2 release:
* GCC incorrectly assumes Cortex-r[578] have 64-bit single-copy atomic LDRD
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80082
* LDR pseudo-op generates MOVS
https://bugs.launchpad.net/gcc-arm-embedded/+bug/1682620
* Fixed FPSCR getter and setter builtins
* SG import libraries that were created as executable now fixed to relocatable
* Enable setting options for Windows installer on command line
* PURECODE support enabled for ARMv8-M.Baseline
* Advanced SIMD-optimized memchr implementation in newlib
Known Changes and Issues:
* Thumb1 code size regression due to new register allocation:
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=59535
* Multilib is now enabled with --with-multilib-list=rmprofile when building the
toolchain from source