You are viewing nickclifton

Previous Entry | Next Entry

April 2014 GNU Toolchain Update

Deep Thought
Hi Guys,

  It has been quite an active month in GNU Toolchain land.  Here are the highlights:

  * The GCC 4.9 branch has been created and the first releas candidate has been made available.

  * The Openrisc and OR32 ports of the binutils have been replaced by a single new target: OR1K, which also includes support for the OpenRISC 1000 architecture.
  
  * Support for TI's RTOS has been added to Newlib.

  * A change has been made in the way Cygwin and MingGW targets add a default manifest resource to executables.  This used to be done automagically by the linker, but now it is the gcc toolchain driver program that performs this operation.

  * Support has been added to the linker to generate a build-id for COFF/PE binaries.

  * The ARM port of GAS has been enhanced to accept the assembler output from the CodeComposer Studio tool.

  * As an extension to the C language specification, GCC now accepts variable-length arrays as a member of a structure or a union.  For example:

     void
      foo (int n)
      {
        struct S { int x[n]; };
        [... use S ...]
      }


  * The compiler now supports a new warning option for checking calls to printf, scanf, etc:

      -Wformat-signedness

    This enables warnings if the format string requires an unsigned argument and the argument is signed and vice versa.

  * The compiler has a couple of new options for controlling the sanitizer:

    -fno-sanitize-recover
     -fsanitize-undefined-trap-on-error


   The -fno-sanitize-recover option changes the default behaviour of the sanitizer so that when it encounters an error the compiler stops and returns an non-zero exit value.  The default is to carry on compiling, possibly encountering further sanitization problems, and then to return an exit code dependent upon whether it was able to generate a binary.
   
   The -fsanitize-undefined-trap-on-error instructs the compiler to report undefined behavior using __builtin_trap () rather than a libubsan library routine.  The advantage of this is that the libubsan library is not needed and will not be linked in, so this is usable even for use in freestanding environments.

Cheers
  Nick

Profile

Deep Thought
nickclifton
nickclifton

Latest Month

December 2014
S M T W T F S
 123456
78910111213
14151617181920
21222324252627
28293031   
Powered by LiveJournal.com
Designed by chasethestars