nickclifton (nickclifton) wrote,

February 2014 GNU Toolchain Update

Hi Guys,

  There are only a few new features to report this month:

  * GCC now supports a couple of new function attributes to improve its pointer alignment analysis:


    Tells gcc that the annotated function returns a pointer to memory whose alignment is specified by parameter N (counting from 1).  So for example:

      void * my_alloc (size_t A, size_t B) __attribute__((alloc_align(2)));

    tells gcc that my_alloc returns memory aligned to the value of the B parameter.

    If the alignment is fixed a different function attribute can be used:


    This tells gcc that the function returns a pointer to memory that is aligned to a N-byte boundary.

  * The x86 port of GCC now supports a couple of new command line options:

    This makes the long double type 128 bits long, which is compatible with the 64-bit Bionic C library.


     Generates code that can run in 16-bit mode.  The int, long and pointer types are still 32-bits long, but the code will work in a 16-bit environment.

   * The ARM port of GCC now accepts v7ve as an architecture name. This is the arm V7-A architecture with the virtualization extensions supported.

Starting this month, I am going to try to report changes in GDB as well.  I am not a GDB expert so feel free to let me know of any mistakes I make or features I miss.  To start with though I am just going to cheat and reproduce some of the information found in the gdb/NEWS file about changes made to the development version of GDB since the 7.7 release:

    * GDB now has support for scripting using Guile (version 2.0.9 or later).  Whether this feature is actually is available in a specific gdb executable is determined at configure time.  A couple of new commands are available to make use of the feature:

       guile <code>   Passes <code> to the Guile interpreter.
       guile-repl        Starts a Guile interactive prompt.
       set guile print-stack (none|message|full)
                                 Displays a stack trace when an error is encountered in a Guile script.

      The source command is now capable of sourcing Guile scripts.

    * GDB now supports the PowerPC64 GNU/Linux little-endian target.

    * The GDBserver has support for a new command line option:


      This enables the generation of timestamps to accompany any text output.
      It is intended that the --debug-format= option will be extended with other parameters in the future.

    * The command record function-call-history supports a new modifier /c to indent the function names based on their call stack depth.

    * The btrace record target now supports the record goto command.  For locations inside the execution trace, the back trace is computed based on the information stored in the execution trace.
      The btrace record target now also supports limited reverse execution and replay.  But the target does not record data and therefore does not allow reading memory or registers.


  • 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