Hi Guys,

  There are several things to report this month:

    * GCC now supports targets configured to use the MUSL C library: 
        http://www.musl-libc.org/


    * The Compiler has a new warning option: -Wmisleading-indentation
    
      This generates warnings when the indentation of the code does
      not reflect the block structure.  For example:

        if (some_condition ())
          foo ();
          bar ();  /* Gotcha: this is not guarded by the "if".  */

      The warning is disabled by default.


    * The Compiler also has a new shift warning: -Wshift-negative-value
      
      This generates warnings when left shifting a negative value.
      The warning is enabled by -Wextra in C99 and C++11 modes (and
      newer).  The warning can be suppressed by an appropriate cast.
      For example:
      
        val |= ~0 << loaded;            // Generates warning
        val |= (unsigned) ~0 << loaded; // Does not warn


    * GCC supports a new option: -fno-plt

      When compiling position independent code this tells the compiler
      not to use PLT for external function calls.  Instead the address
      is loaded from the GOT and then branched to directly.  This
      leads to more efficient code by eliminating PLT stubs and
      exposing GOT load to optimizations.

      Not all architectures support this option, and some other
      optimization features, such as lazy binding, may disable it.


    * GCC's sanitizer has a new option: -fsanitize=bounds-strict

      This option enables strict instrumentation of array bounds.
      Most out of bounds accesses are detected, including flexible
      array members and flexible array member-like arrays.


    * The AArch64 backend supports a new option to enable a workaround
      for the ARM Cortex-A53 erratum number 843419.  The workaround
      itself is implemented in the linker, but it can be enabled via
      the compiler option:

        -mfix-cortex-a53-843419
      
      Note, specifying -mcpu=cortex-a53 is not enough to enable this
      option as not all versions of the A53 need the erratum.


    * The AArch64 backend also supports a new core type of "native".
      When used as -mcpu=native or -mtune=native it tells the backend
      to base its core selection on the host system.  If the compiler
      cannot recognise the processor of the host system then the
      option does nothing.


    * The Linker now supports the Intel MCU architecture:
        https://groups.google.com/forum/#!topic/ia32-abi/cn7TM6J_TIg


    * GDB 7.9.1 has been released!

      GDB 7.9.1 brings the following fixes and enhancements over GDB 7.9:

     + PR build/18033 (C++ style comment used in gdb/iq2000-tdep.c and
       gdb/compile/compile-*.c)
     + PR build/18298 ("compile" command cannot find compiler if tools
       configured with triplet instead of quadruplet)
     + PR tui/18311 (Random SEGV when displaying registers in TUI mode)
     + PR python/18299 (exception when registering a global
       pretty-printer in verbose mode)
     + PR python/18066 (argument "word" seems broken in Command.complete
       (text, word))
     + PR pascal/17815 (Fix pascal behavior for class fields with testcase)
     + PR python/18285 (ptype expr-with-xmethod causes SEGV)

Cheers
  Nick

================================================================

                 GCC Merge:

Toolchains that do not build GCC successfully:

  None.

Toolchains that do not build LIBGCC successfully:

  mep-elf:     ICE: in pre_and_rev_post_order_compute, at cfganal.c

Toolchains that do not build NEWLIB successfully:

  None.

Toolchains that do not build the target LIBIBERTY successfully:
                   
  None.

Toolchains that do not build LIBSTDC++-V3 successfully:

  cr16-elf:    ICE: in gen_rtx_SUBREG in emit-rtl.c
  m32c-elf:    ICE: in connect_traces, at dwarf2cfi.c

Toolchains that fail to build GDB:

  Not supported:

    arc-elf             cr16-elf        epiphany-elf
    ia64-elf            mcore-elf       mmix-mmixware
    nds32le-elf         nios2-elf       pdp11-aout
    tilepro-gnu-linux   visium-elf

  No sim:
  
    mips64vr-elf

Toolchains that DO build all their target libraries and gdb:

    aarch64-elf         arm-eabi        avr-elf
    bfin-elf            c6x-elf         cris-elf
    frv-elf             h8300-elf       i386-elf
    iq2000-elf          lm32-elf        m32r-elf
    mipsisa32-elf       mipsisa64-elf   mn10300-elf
    moxie-elf           msp430-elf      rl78-elf
    powerpc-eabispe     powerpc-elf     rx-elf
    sh-elf              sh64-elf        spu-elf
    tx39-elf            v850e-elf       visium-elf
    xstormy16-elf 

----------------------------------------------------------------
    
[SIM based] GCC DG Testsuite Results

  The chart below is sorted on the number of unexpected
  failures, rather than alphabetically, in order to provide a
  small guide to toolchain quality.  [The better/worse number
  shows how the results have changed compared to last month].

    x86_64 native   ...  failures:  0    [better by 1]
    arm-eabi        ...  failures:  0
    mipsisa32-elf   ...  failures:  0    [better by 22]
    mipsisa64-elf   ...  failures:  0    [better by 24]
    sh-elf          ...  failures:  1
    mn10300-elf     ...  failures:  1    [better by 3]
    m32r-elf        ...  failures:  2    [better by 8]
    rx-elf          ...  failures:  2    [better by 7]
    msp430-elf      ...  failures:  3    [better by 5]
    frv-elf         ...  failures:  4    [better by 1]
    h8300-elf       ...  failures:  4    [better by 18]
    v850e-elf       ...  failures:  4    [better by 4]
    powerpc-eabispe ...  failures:  7    [better by 5]
    rl78-elf        ...  failures:  7    [better by 10]
    bfin-elf        ...  failures: 11    [better by 8]
    powerpc-elf     ...  failures: 11    [better by 2]
    iq2000-elf      ...  failures: 35    [better by 8]
    aarch64-elf     ...  failures: 40    [better by 28]
    mcore-elf       ...  failures: 58    [better by 36]

----------------------------------------------------------------

                x86_64 native bootstrap:
BEFORE:
  Success.

AFTER:
  Success.
  
----------------------------------------------------------------

x86_64  GCC  testsuite          BEFORE           AFTER
                                ------          ------
  # of expected passes          110473          110955
  # of unexpected failures         160             161
  # of unexpected successes         18              18
  # of expected failures           278             279
  # of unresolved testcases          7               7
  # of unsupported tests          1674            1678

Tests that used to PASS but now FAIL:

  gcc.dg/uninit-19.c


x86_64  G++  testsuite          BEFORE          AFTER
                                ------          -----
  # of expected passes           85278          85739
  # of unexpected failures          54             54
  # of unexpected successes         12             12
  # of expected failures           272            272
  # of unresolved testcases         15             15
  # of unsupported tests          3623           3637

Tests that used to PASS but now FAIL:

  None.


x86_64  GDB  testsuite          BEFORE          AFTER
                                ------          -----
  # of expected passes           22402          22415
  # of unexpected failures         143            230
  # of expected failures            30             30
  # of known failures               53             53
  # of unresolved testcases          5              5
  # of untested testcases          120            120
  # of unsupported tests           100            100

Tests that used to PASS but now FAIL:

  None.

================================================================

                BINUTILS MERGE

All ports build successfully before and after the merge.

Ports which have FEWER failures after the merge: 

  mep-elf               s390-linux

Ports that have the SAME number of failures before and after the
merge:

  aarch64-elf           alpha-netbsd            am33_2.0-linux 
  arc-elf               arm-eabi                avr-elf 
  bfin-elf              c6x-elf                 cr16-elf 
  cris-elf              crx-elf                 dlx-elf 
  epiphany-elf          fido-elf                fr30-elf 
  frv-elf               frv-uclinux             ft32-elf 
  h8300-elf             hppa-linux-gnu          i386-darwin 
  i386-elf              i386-netware            i386-pc-go32 
  i686-pc-cygwin        i686-pc-linux-gnu       ia64-elf 
  iq2000-elf            lm32-elf                lm32-rtems4.0 
  m32c-elf              m32r-elf                m68hc12-elf 
  mcore-elf             mcore-pe                microblaze-elf 
  mingw32-pe            mips64vr-elf            mipsisa32-elf 
  mipsisa64-elf         mmix-mmixware           mn10300-elf 
  moxie-elf             msp430-elf              mt-elf 
  nds32le-elf           nios2-elf               or1k-elf 
  pdp11-aout            powerpc-eabispe         powerpc-elf 
  powerpc64-linux-gnu   ppc-linux               rl78-elf 
  rx-elf                s390x-ibm-tpf           sh-elf 
  sh-pe                 sh64-elf                spu-elf 
  tic6x-elf             tilegx-gnu-linux        tilepro-gnu-linux 
  tx39-elf              v850e-elf               vax-netbsdelf 
  visium-elf            x86_64-pc-cygwin        x86_64-pc-linux-gnu 
  x86_64-pc-mingw64     xstormy16-elf           xtensa-elf 
  z8k-coff

Ports which have MORE failures after the merge:

  None.

Reply via email to