The Linaro Toolchain Working Group (TCWG) is pleased to announce the 2017.08 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.2+svn251138 and includes performance improvements and bug fixes backported from mainline GCC. The contents of this snapshot will be part of the 2017.11 stable2 quarterly release.
Interesting changes in this GCC source package snapshot include:f
- Updates to GCC 7.2+svn251138
- Backport of [Bugfix] [AArch32] PR target/79665: Improve Cortex-A53 shift bypass
- Backport of [Bugfix] PR lto/69866 lto1: internal compiler error: in add_symbol_to_partition_1, at lto/lto-partition.c:158
- Backport of [AArch32] Improve Cortex-A53 FP scheduler
- Backport of [AArch64] Add rcpc extension
- Backport of [AArch64] Do not increase data alignment at -Os and with -fconserve-stack.
- Backport of [AArch64] Emit SIMD moves as mov
- Backport of [AArch64] Enable software prefetching (-fprefetch-loop-arrays) for ThunderX 88xxx
- Backport of [AArch64] Fix atomic_cmp_exchange_zero_reg_1.c with +lse
- Backport of [AArch64] Fix failing lrint inline tests on bare-metal
- Backport of [AArch64] Fix ILP32 memory access
- Backport of [AArch64] Improve/correct ThunderX 1 cost model for Arith_shift
- Backport of [AArch64] Improve dup pattern
- Backport of [AArch64] Inline calls to lrint when possible
- Backport of [AArch64] Literal vector construction through vcombine is poor
- Backport of [Misc] Fold (A / (1 << B)) to (A >> B)
- Backport of [Testsuite] [AArch32] Allow arm_arch_*_ok to test several macros
- Backport of [Testsuite] [AArch32] Make gcc.target/arm/its.c more robust
- Backport of [Testsuite] [AArch32] Require arm_arch_v8a_ok for sdiv_costs_1.c
- Backport of [Testsuite] [AArch32] sdiv_costs_1.c: Disable on softfloat
- Backport of [Testsuite] [AArch32] sdiv_costs_1.c: Require arm_v8_vfp_ok
- Backport of [Testsuite] [AArch32] sdiv_costs_1.c: Use dg-add-options
- Backport of [Cleanup] [AArch64] Rearrange the processors in aarch64-cores.def
- Backport of [Cleanup] Update comment about is_leaf
- Backport of [Doc] [AArch64] Document RcPc extension
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.