It has been a strangely quiet month in the GNU Toolchain world. There have however been a few new features added, and here they are:
* The ARM AArch64 toolchain now supports a 32-bit ABI as well as the previous 64-bit ABI. The abi can be selected by the new: -mabi=<name> command line option. -mabi=ilp32 selects the 32-bit ABI where the int, long and pointer types are all 32-bits long. The -mabi-lp64 selects the 64-bit ABI where the int type is 32-bits but the long and pointer types are 64-bits. The two ABIs are incompatible. The default depends upon how the toolchain was configured.
* The PowerPC toolchain now has support for the Power8 architecture, including support for the ISA 2.07 specification for transactional memory. This is enabled via the new -mhtm command line option.
* Support for the Andes NDS32 part has been added to NEWLIB.
* The Microblaze target now supports Big Endian as well as little endian code generation.
* Linker scripts normally ensure that the alignment of an output section is the maximum of the alignment requirements of all of its input sections. In cases where the output section has different load (LMA) and run-time addresses (VMA) however, the load address was not forced to the meet the alignment requirement. Using the new linker script directive ALIGN_WITH_INPUT will make sure that the load address also meets the alignment requirements.
* The MIPS assembler and linker now support a new command line option: --insn32. This controls the choice of microMIPS instructions used in code generated by the either of the tools - for example when generating PLT entries or lazy binding stubs, or in relaxation. If -insn32 is specified, then only 32-bit instruction encodings with be used. By default or if --no-insn32 is specified, all instruction encodings are used, including 16-bit ones where possible.
* The MIPS assembler also supports a new command line option: -mnan=<encoding>
This select between the IEEE 754-2008 (-mnan=2008) or the legacy (-mnan=legacy) NaN encoding format. The latter is the default.
* All support for MIPS ECOFF based targets has been removed from the toolchain.