nickclifton (nickclifton) wrote,

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 GNU Toolchain are as follows:

   * The GDB 7.10 branch has been created.  Expect a release soon.

   * Support for tracepoints on aarch64-linux was added in GDBserver.

   * A point update of the FSF Binutils - 2.25.1 - has been released.  No new features but lots of important bug fixes.

   * GCC 5.2 has been released.  This is a bug-fix update to the previous 5.1 release.

   * The linker now has experimental support for the removal of redundant sections from COFF and PE format files.  This is enabled via the --gc-sections linker command line option.

   * A new linker command line option --require-defined=<symbol> has been added.  This behaves in much the same way as the --undefined=<sym> option in that it creates a reference to an undefined symbol that should force a library to be pulled into the link or garbage collection not to remove a specific section.  The difference between --require-defined and --undefined is that with the former the linker will issue an error message if the specified symbol has not been defined by the end of the link.

  * The --disassemble (or -d) and --disassemble-all (or -D) options to objdump have received a subtle change.  With -d objdump will assume that any symbols present in a code section occur on the boundary between instructions and so it will refuse to disassemble across such a boundary.  With -D however this assumption is suppressed.  This means that it is possible for the output of -d and -D to differ if, for example, data is stored in a code section.

  * GCC has a couple of new warning options available:


    This generates a warning when the __builtin_frame_address or __builtin_return_address are called with an argument greater than 0.  Such calls may return indeterminate values or crash the program.


    This generates a warning if a self-comparison always evaluates to true or false.  This detects various mistakes such as:

      int i = 1;

      if (i > i) { ... }

  * With the Nios II port of GCC it is now possible to specify the target architecture variant with -march=r1 or -march=r2.  It is also possible to explicitly enable or disable the use of the r2 BMX (bit manipulation) and CDX (code density) instructions via the use of the new -mbmx -mno-bmx -mcdx and -mno-cdx options.


  • 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…

  • June 2015 GNU Toolchain Update

    Hi Guys, In this month's news we have: * GCC now supports a noplt function attribute. This specifies that the annotated function should not…

  • Post a new comment


    Anonymous comments are disabled in this journal

    default userpic

    Your IP address will be recorded