The Linaro Toolchain Working Group (TCWG) is pleased to announce the 2017.06 snapshot of the Linaro GCC 7 source package.
The GCC 7 series introduced an ABI change for ARM targets by fixing a bug (present since GCC 5, see link below) that affects conformance to the procedure call standard (AAPCS). The bug affects some C++ code where class objects are passed by value to functions and could result in incorrect or inconsistent code being generated. If the option -Wpsabi is enabled (on by default) the compiler will emit a diagnostic note for code that might be affected by this ABI change.
For an explanation of the changes please see the following website:
This monthly snapshot1 is based on FSF GCC 7.1+svn249190 and includes performance improvements and bug fixes backported from mainline GCC. The contents of this snapshot will be part of the 2017.08 stable2 quarterly release.
Interesting changes in this GCC source package snapshot include:f
- Updates to GCC 7.1+svn249190
- Backport of [Bugfix] [AArch32] PR target/71607 Fix ICE when loading constant
- Backport of [Bugfix] [AArch64] PR target/80671 config/aarch64/cortex-a57-fma-steering.c:416: bad statement order
- Backport of [Bugfix] PR tree-optimization/79697 unused realloc(0, n) not eliminated
- Backport of [Bugfix] PR tree-optimization/80613 ICE in is_gimple_reg_type with -O2
- Backport of [AArch32] Add a new target hook to compute the frame layout
- Backport of [AArch32] Add fuchsia support to libgcc
- Backport of [AArch32] FreeBSD arm libgcc config.host
- Backport of [AArch32] Model Cortex-A53 load forwarding
- Backport of [AArch64] Accept more addressing modes for PRFM
- Backport of [AArch64] Add aes and sha reservations for Thunderx2t99
- Backport of [AArch64] Add crc reservations for Thunderx2t99
- Backport of [AArch64] Improve float to int moves
- Backport of [AArch64] Set jump alignment to 4 for Cortex cores
- Backport of [AArch64] Tighten move constraints for symbolic operands
- Backport of [Misc] Check the alternate cost model just as costs_lt_p
- Backport of [Misc] Record equivalences for spill registers
- Backport of [Testsuite] [AArch32] Only test tls-disable-literal-pool.c if target supports native TLS
- Backport of [Testsuite] [AArch32] Replace absolute line numbers in gcc.target/arm
- Backport of [Testsuite] [AArch64] Replace absolute line numbers in gcc.target/aarch64
Feedback and Support
Subscribe to the important Linaro mailing lists and join our IRC channels to stay on top of Linaro development.
- Linaro Toolchain Development mailing list
- Linaro Toolchain IRC channel on irc.freenode.net at
- Bug reports should be filed in bugzilla against GCC product:http://bugs.linaro.org/enter_bug.cgi?product=GCC
- Interested in commercial support? inquire at Linaro support
1 Source package snapshots are defined when the compiler is only put through unit-testing and full validation is not performed.
2 Stable source package releases are defined as releases where the full Linaro Toolchain validation plan is executed.