1. 26 Apr, 2018 14 commits
  2. 25 Apr, 2018 17 commits
  3. 24 Apr, 2018 9 commits
    • re PR fortran/85520 (Out of memory when declaring a character with len << 0) · 58da192e
      2018-04-24  Steven G. Kargl  <kargl@gcc.gnu.org>
      
      	PR fortran/85520
      	* decl.c (gfc_match_char_spec): Check for negative length and set to 0.
      
      2018-04-24  Steven G. Kargl  <kargl@gcc.gnu.org>
      
      	PR fortran/85520
      	* gfortran.dg/pr85520.f90: New test.
      
      From-SVN: r259623
      Steven G. Kargl committed
    • rs6000: Fix __powikf2 and __abskf2 spelling · 08417efa
      Both of these libfuncs had a "tkf" misspelling, which caused
      gcc.target/powerpc/pr85456.c to fail (there is no test for __abskf2).
      
      
      	* config/rs6000/rs6000.c (init_float128_ieee): Fix spelling mistakes
      	in __abskf2 and __powikf2.
      
      From-SVN: r259622
      Segher Boessenkool committed
    • x86: Update __CET__ check · ffc2fc06
      __CET__ has been changed by revision 259522:
      
      commit d59cfa9a4064339cf2bd2da828c4c133f13e57f0
      Author: hjl <hjl@138bc75d-0d04-0410-961f-82ee72b054a4>
      Date:   Fri Apr 20 13:30:13 2018 +0000
      
          Define __CET__ for -fcf-protection and remove -mibt
      
      to
      
          (__CET__ & 1) != 0: -fcf-protection=branch or -fcf-protection=full
          (__CET__ & 2) != 0: -fcf-protection=return or -fcf-protection=full
      
      We should check (__CET__ & 2) != 0 for shadow stack.
      
      libgcc/
      
      	* config/i386/linux-unwind.h: Add (__CET__ & 2) != 0 check
      	when including "config/i386/shadow-stack-unwind.h".
      
      libitm/
      
      	* config/x86/sjlj.S (_ITM_beginTransaction): Add
      	(__CET__ & 2) != 0 check for shadow stack.
      	(GTM_longjmp): Likewise.
      
      From-SVN: r259621
      H.J. Lu committed
    • x86/CET: Add -fcf-protection to STAGE4_CFLAGS · e59133c3
      Since profiledbootstrap uses
      
      STAGEfeedback_CFLAGS = $(STAGE4_CFLAGS) -fprofile-use
      
      add
      
      STAGE4_CFLAGS += -fcf-protection -mcet
      
      to bootstrap-cet.mk to support profiledbootstrap with CET.
      
      	PR bootstrap/85490
      	* bootstrap-cet.mk (STAGE4_CFLAGS): New.
      
      From-SVN: r259620
      H.J. Lu committed
    • [AArch64] PR target/85512: Tighten SIMD right shift immediate constraints · 0603375c
      In this testcase it is possible to generate an invalid SISD shift of zero:
      Error: immediate value out of range 1 to 64 at operand 3 -- `sshr v9.2s,v0.2s,0'
      
      The SSHR and USHR instructions require a shift from 1 up to the element size.
      However our constraints on the scalar shifts that generate these patterns
      allow a shift amount of zero as well. The pure GP-reg ASR and LSR instructions allow a shift amount of zero.
      
      It is unlikely that a shift of zero will survive till the end of compilation, but it's not impossible, as this PR shows.
      
      The patch tightens up the constraints in the offending patterns by adding two new constraints
      that allow shift amounts [1,32] and [1,64] and using them in *aarch64_ashr_sisd_or_int_<mode>3
      and *aarch64_lshr_sisd_or_int_<mode>3.
      The left-shift SISD instructions SHL and USHL allow a shift amount of zero so don't need adjustment
      The vector shift patterns that map down to SSHR and USHR already enforce the correct immediate range. 
      
              PR target/85512
              * config/aarch64/constraints.md (Usg, Usj): New constraints.
              * config/aarch64/iterators.md (cmode_simd): New mode attribute.
              * config/aarch64/aarch64.md (*aarch64_ashr_sisd_or_int_<mode>3):
              Use the above on operand 2.  Reindent.
              (*aarch64_lshr_sisd_or_int_<mode>3): Likewise.
      
              * gcc.dg/pr85512.c: New test.
      
      From-SVN: r259614
      Kyrylo Tkachov committed
    • x86/CET: Remove the -mcet command-lint option · 231baae2
      With revision 259496:
      
      commit b1384095a7c1d06a44b70853372ebe037b2f7867
      Author: hjl <hjl@138bc75d-0d04-0410-961f-82ee72b054a4>
      Date:   Thu Apr 19 15:15:04 2018 +0000
      
          x86: Enable -fcf-protection with multi-byte NOPs
      
      -fcf-protection no longer depens on -mcet and with revision 259522:
      
      commit d59cfa9a4064339cf2bd2da828c4c133f13e57f0
      Author: hjl <hjl@138bc75d-0d04-0410-961f-82ee72b054a4>
      Date:   Fri Apr 20 13:30:13 2018 +0000
      
          Define __CET__ for -fcf-protection and remove -mibt
      
      -mcet becomes an alias for -mshstk.  Since all usages of -mcet and
      -mno-cet have either been removed or replaced, we can remove the -mcet
      command-lint option.
      
      	PR target/85485
      	* common/config/i386/i386-common.c (ix86_handle_option): Don't
      	handle OPT_mcet.
      	* config/i386/i386.opt (mcet): Removed.
      	* doc/install.texi: Remove -mcet documentation.
      	* doc/invoke.texi: Likewise.
      
      From-SVN: r259613
      H.J. Lu committed
    • x86/CET tests: Remove -mcet/-mno-cet or replace -mcet with -mshstk · d16d033b
      With revision 259496:
      
      commit b1384095a7c1d06a44b70853372ebe037b2f7867
      Author: hjl <hjl@138bc75d-0d04-0410-961f-82ee72b054a4>
      Date:   Thu Apr 19 15:15:04 2018 +0000
      
          x86: Enable -fcf-protection with multi-byte NOPs
      
      -fcf-protection no longer depens on -mcet and with revision 259522:
      
      commit d59cfa9a4064339cf2bd2da828c4c133f13e57f0
      Author: hjl <hjl@138bc75d-0d04-0410-961f-82ee72b054a4>
      Date:   Fri Apr 20 13:30:13 2018 +0000
      
          Define __CET__ for -fcf-protection and remove -mibt
      
      -mcet becomes an alias for -mshstk.
      
      We can remove -mcet/-mno-cet where they are unused and replace -mcet
      with -mshstk where -mcet is used as an alias for -mshstk.
      
      	PR target/85485
      	* g++.dg/cet-notrack-1.C (dg-options): Remove -mcet.
      	* g++.dg/torture/pr85334.C (dg-additional-options): Likwise.
      	* gcc.dg/pr85388-1.c (dg-options): Likwise.
      	* gcc.dg/pr85388-2.c (dg-options): Likwise.
      	* gcc.dg/pr85388-3.c (dg-options): Likwise.
      	* gcc.dg/pr85388-4.c (dg-options): Likwise.
      	* gcc.dg/pr85388-5.c (dg-options): Likwise.
      	* gcc.dg/pr85388-6.c (dg-options): Likwise.
      	* gcc.dg/torture/pr85397-1.c (dg-additional-options): Likwise.
      	* gcc.target/i386/attr-nocf-check-1a.c (dg-options): Likwise.
      	* gcc.target/i386/attr-nocf-check-3a.c (dg-options): Likwise.
      	* gcc.target/i386/cet-label.c (dg-options): Likwise.
      	* gcc.target/i386/cet-label-2.c (dg-options): Likwise.
      	* gcc.target/i386/cet-notrack-1b.c (dg-options): Likwise.
      	* gcc.target/i386/cet-notrack-2a.c (dg-options): Likwise.
      	* gcc.target/i386/cet-notrack-2b.c (dg-options): Likwise.
      	* gcc.target/i386/cet-notrack-3.c (dg-options): Likwise.
      	* gcc.target/i386/cet-notrack-4b.c (dg-options): Likwise.
      	* gcc.target/i386/cet-notrack-5a.c (dg-options): Likwise.
      	* gcc.target/i386/cet-notrack-5b.c (dg-options): Likwise.
      	* gcc.target/i386/cet-notrack-6a.c (dg-options): Likwise.
      	* gcc.target/i386/cet-notrack-6b.c (dg-options): Likwise.
      	* gcc.target/i386/cet-notrack-7.c (dg-options): Likwise.
      	* gcc.target/i386/cet-notrack-icf-2.c (dg-options): Likwise.
      	* gcc.target/i386/cet-notrack-icf-4.c (dg-options): Likwise.
      	* gcc.target/i386/cet-property-1.c (dg-options): Likwise.
      	* gcc.target/i386/cet-property-2.c (dg-options): Likwise.
      	* gcc.target/i386/cet-sjlj-1.c (dg-options): Likwise.
      	* gcc.target/i386/cet-sjlj-2.c (dg-options): Likwise.
      	* gcc.target/i386/cet-sjlj-3.c (dg-options): Likwise.
      	* gcc.target/i386/cet-sjlj-4.c (dg-options): Likwise.
      	* gcc.target/i386/cet-sjlj-5.c (dg-options): Likwise.
      	* gcc.target/i386/cet-sjlj-6a.c (dg-options): Likwise.
      	* gcc.target/i386/cet-sjlj-6b.c (dg-options): Likwise.
      	* gcc.target/i386/cet-switch-1.c (dg-options): Likwise.
      	* gcc.target/i386/cet-switch-2.c (dg-options): Likwise.
      	* gcc.target/i386/cet-switch-3.c (dg-options): Likwise.
      	* gcc.target/i386/indirect-thunk-11.c (dg-options): Likwise.
      	* gcc.target/i386/indirect-thunk-12.c (dg-options): Likwise.
      	* gcc.target/i386/indirect-thunk-attr-12.c (dg-options): Likwise.
      	* gcc.target/i386/indirect-thunk-attr-13.c (dg-options): Likwise.
      	* gcc.target/i386/indirect-thunk-attr-14.c (dg-options): Likwise.
      	* gcc.target/i386/indirect-thunk-attr-15.c (dg-options): Likwise.
      	* gcc.target/i386/indirect-thunk-attr-16.c (dg-options): Likwise.
      	* gcc.target/i386/indirect-thunk-extern-8.c (dg-options): Likwise.
      	* gcc.target/i386/indirect-thunk-extern-9.c (dg-options): Likwise.
      	* gcc.target/i386/indirect-thunk-extern-10.c (dg-options): Likwise.
      	* gcc.target/i386/pr82659-1.c (dg-options): Likwise.
      	* gcc.target/i386/pr82659-2.c (dg-options): Likwise.
      	* gcc.target/i386/pr82659-3.c (dg-options): Likwise.
      	* gcc.target/i386/pr82659-4.c (dg-options): Likwise.
      	* gcc.target/i386/pr82659-5.c (dg-options): Likwise.
      	* gcc.target/i386/pr82659-6.c (dg-options): Likwise.
      	* gcc.target/i386/pr84146.c (dg-options): Likwise.
      	* gcc.target/i386/pr85403.c (dg-options): Likwise.
      	* gcc.target/i386/pr85404.c (dg-options): Likwise.
      	* gcc.target/i386/cet-intrin-3.c (dg-options): Replace -mcet
      	with -mshstk.
      	* gcc.target/i386/cet-intrin-5.c (dg-options): Likwise.
      	* gcc.target/i386/cet-intrin-6.c (dg-options): Likwise.
      	* gcc.target/i386/cet-intrin-7.c (dg-options): Likwise.
      	* gcc.target/i386/cet-intrin-8.c (dg-options): Likwise.
      	* gcc.target/i386/cet-intrin-9.c (dg-options): Likwise.
      	* gcc.target/i386/cet-intrin-10.c (dg-options): Likwise.
      	* gcc.target/i386/cet-rdssp-1.c (dg-options): Likwise.
      	* (dg-options): Likwise.
      	* gcc.target/i386/cet-notrack-1a.c (dg-options): Remove
      	-mno-cet.
      	* gcc.target/i386/cet-notrack-4a.c (dg-options): Likwise.
      	* gcc.target/i386/cet-label-3.c: Removed.
      	* gcc.target/i386/cet-property-3.c: Likwise.
      	* gcc.target/i386/cet-sjlj-7.c: Likwise.
      
      From-SVN: r259612
      H.J. Lu committed
    • Don't bootstrap GCC with -mcet · 48f64e05
      With revision 259496:
      
      commit b1384095a7c1d06a44b70853372ebe037b2f7867
      Author: hjl <hjl@138bc75d-0d04-0410-961f-82ee72b054a4>
      Date:   Thu Apr 19 15:15:04 2018 +0000
      
          x86: Enable -fcf-protection with multi-byte NOPs
      
      -fcf-protection no longer requires -mcet.
      
      config/
      
      	PR target/85485
      	* bootstrap-cet.mk (STAGE2_CFLAGS): Remove -mcet.
      	(STAGE3_CFLAGS): Likewise.
      
      gcc/
      
      	PR target/85485
      	* doc/install.texi: Remove -mcet from bootstrap-cet.
      
      From-SVN: r259611
      H.J. Lu committed
    • Regenerate configure of target libraries · 7b47ecf2
      	* configure: Regenerated.
      
      From-SVN: r259610
      H.J. Lu committed