You are viewing nickclifton

Previous Entry | Next Entry

February 2014 GNU Toolchain Update

Deep Thought
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:

     __attribute__((alloc_align(N)))

    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:

    __attribute__((assume_aligned(N)))

    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:
  
      -mlong-double-128

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

      -m16

     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:

       --debug-format=timestamps

      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.

Cheers
  Nick

Profile

Deep Thought
nickclifton
nickclifton

Latest Month

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