nickclifton (nickclifton) wrote,

January 2015 GNU Toolchain Update

Hi Guys,

  There have been three toolchain component releases this month:

  * GDB 7.8.2 has been released.

    This is mainly a bug-fix release.  A branch for GDB 7.9 has been created, so a new major release can be expected soon.

  * BINUTILS 2.25 has been released.

    Important changes in this release include:

    * The strings program now defaults to displaying text from any part of the executable, not just its data sections.  This means that, by default, strings does not need to use the BFD library to scan the binary, and so it is not exposed to bug that might be present in that library.  The old behaviour - of only showing strings from inside non-code sections, can be enabled via the --data command line option.

      The strings program also now has a --include-all-whitespace command line option, so that newlines carriage returns are also considered to be part of a string.

    * The objcopy program gains a --dump-section <name>=<file> command line option to place a raw copy of the contents of the specified section into the specified file.

    * Support has been added for the Andes NDS32 and AVR Tiny microcontrollers.  In addition the openrisc and or32 targets have been replaced by the or1k target.

     * The ARM port to gas can now accept the assembler output from the CodeComposer Studio tool.

     * PE binaries now once again contain real timestamps by default, although this can be disabled via the --no-insert-timestamps.  Timestamps are needed because some other (non-GNU) tools cannot handle PE binaries without them.

     * COFF based targets now have support for the --build-id command line option to add a unique signature to a binary.

  * NEWLIB 2.2.0 has been released.

    Changes in this version include:
    * Multiple functional/performance enhancements for arm/aarch64.

    * New nano formatted I/O support for small memory targets.

    * Adds a reentrant safe sorting routine: qsort_r.

    * Additional long double math routines.

    * Adds the itoa/utoa/ltoa integer to string conversion routines.
    * Restructuring of gmtime/localtime so tz functions are only linked by localtime.

    * Unlocked I/O functions.

  In the development versions of the tools there has also been a lot  of changes too:

  * The --compress-debug-sections is now turned on for Linux/x86 by default in the binutils.

  * GCC has a new command line option: -fopenacc

    This enables handling of the OpenACC #pragma acc.  This makes the compiler generate accelerated code according to the OpenACC Application Programming Interface v2.0 (  This is an experimental feature, incomplete, and subject to change in future versions of GCC. See for more information.

  * The GCC command line option -Warray-bounds can now take a numeric argument, as in -Warray-bounds=[1,2].  The default value is 1, which matches the old behaviour.  If a value of 2 is used then warnings will also be generated for out of bounds access for arrays at the end of a struct and for arrays accessed through pointers.  This warning level may give a larger number of false positives which is why it is not enabled by default.
  * The GCC stack protection feature (-fstack-protector) can now be enabled only for specifically attributed functions via the use of the -fstack-protector-explicit command line option and the stack_protect function attribute.

  * G++ has a new command line option: -fsized-deallocation

    This is part of the C++14 specification.  It enables the built-in declaration of the global functions:

     void operator delete (void *, std::size_t) noexcept;
      void operator delete[] (void *, std::size_t) noexcept;

    which provides for faster deallocation of fixed size objects.  The new command line option: -Wsized-deallocation can be enabled to warn about places that might want to make use of this feature.

  * G++ also has a new warning option: -Wc++14-compat

    This warns about C++ constructs whose meaning differs between ISO C++ 2011 and ISO C++ 2014.  This warning is enabled by -Wall.

  * The ARM port now supports the XGene 1 core.


  • October/November GNU Toolchain Update

    Hi Guys, Sorry for the delay beqwteen these updates. My new job is keeping me very busy... Anyway here are the highlights of the changes in the GNU…

  • September 2015 GNU Toolchain Update

    Hi Guys, There are lots of things to report in this month's update... * The G++ ABI has been increased to version 10. This adds mangling of…

  • July/Augist 2015 GNU Toolchain Update

    Hi Guys, Sorry for the delay in bringing you this update; I have been very busy in the last few months. Anyway the highlights of the changes to the…

  • Post a new comment


    Anonymous comments are disabled in this journal

    default userpic

    Your IP address will be recorded