Log in

No account? Create an account

Previous Entry | Next Entry

Hi Guys,

  It has been two months since my last post, and a lot has changed in that time.  The current FSF gcc sources are rather unstable at the moment, with lots of common ports failing to build due to internal compiler errors.  No doubt these will be sorted out fairly soon though.  Meanwhile here are the highlights of the changes over the last couple of months:

  * GCC and NEWLIB now have support for the 64-bit ARM architecture.  This only leaves GDB lacking in support for aarch64-elf.
  * GCC has a new generic optimization command line option: -Og.  This enables optimizations that do not interfere with debugging.

  * GCC has a new command line option to control printing information about the effects of its optimization passes:
    The -<info> part of the option controls what is printed.  It can be 'optimized' to print information when an optimization takes place, 'missed' to print information when an optimization does not take place, 'note' to print more verbose information and 'optall' to print everything.

    The =<file> part of the option gives a name of a file into which the information is placed.  If this part of the option is not given then the print out will go to stderr.

    So for example:

      gcc -O2 -fopt-info-missed foo.c

    will print to stderr a list of optimizations that were enabled by -O2 but which had no effect when compiling foo.c.

  * GCC has a new optimization option: -fira-hoist-pressure
    This uses the register allocator to help decide when it is worthwhile moving expressions out of loops.  It can reduce the size of the compiler code, but it does slow the compiler down.  It is enabled by default at -Os.

  * GCC now supports the MOXIE architecture.

  * GCC now produces a stack backtrace whenever it encounters an internal error.  It does this with the help of a new library - libbacktrace - which has recently been incorporated into the gcc sources.

  * The GOLD linker now supports the TILEGX architecture.

  * READELF now has options to decode and display the contents of .debug_cu_index, .debug_tu_index and .debug_addr sections.
  * The LD linker now has a command line option to ignore unresolved references to specified symbols.  (--ignore-unresolved-symbol=<name>)

  * Both linkers now have a command line option to specify the size of a PT_GNU_STACK segment.  (-z stack-size=<val>)



( 2 comments — Leave a comment )
Nov. 4th, 2012 06:51 pm (UTC)
Nick...thanks for these updates. They are useful. But....are they posted anywhere other than Livejournal?
Miles Bader
Nov. 5th, 2012 06:37 am (UTC)
No mention of the LRA merge?

It's a pretty significant change (and responsible for some of the current breakage)...
( 2 comments — Leave a comment )


Deep Thought

Latest Month

November 2015
Powered by LiveJournal.com
Designed by chasethestars