Hello community,

here is the log from the commit of package gcc7 for openSUSE:Factory checked in 
at 2017-08-24 17:39:51
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/gcc7 (Old)
 and      /work/SRC/openSUSE:Factory/.gcc7.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "gcc7"

Thu Aug 24 17:39:51 2017 rev:5 rq:515187 version:7.1.1+r250819

Changes:
--------
--- /work/SRC/openSUSE:Factory/gcc7/cross-aarch64-gcc7.changes  2017-07-04 
09:06:46.237185923 +0200
+++ /work/SRC/openSUSE:Factory/.gcc7.new/cross-aarch64-gcc7.changes     
2017-08-24 17:39:51.910331197 +0200
@@ -1,0 +2,15 @@
+Tue Aug  8 12:38:37 UTC 2017 - rguent...@suse.com
+
+- Add gcc7-pr81766.diff to fix grub2 build.
+
+-------------------------------------------------------------------
+Fri Aug  4 11:41:36 UTC 2017 - rguent...@suse.com
+
+- Update to gcc-7-branch head (r250819).
+  * Includes GCC 7.2 RC1.
+  * Includes fix for gcov crash.  [bnc#1050487]
+- Add gcc7-stack-probe.diff for support of -fstack-clash-protection
+  [bnc#1039513].
+- Add gcc7-go-sigrtmax.patch to fix Go build with glibc 2.26.
+
+-------------------------------------------------------------------
cross-arm-gcc7.changes: same change
cross-avr-gcc7.changes: same change
cross-epiphany-gcc7-bootstrap.changes: same change
cross-epiphany-gcc7.changes: same change
cross-hppa-gcc7.changes: same change
cross-i386-gcc7.changes: same change
cross-m68k-gcc7.changes: same change
cross-mips-gcc7.changes: same change
cross-nvptx-gcc7.changes: same change
cross-ppc64-gcc7.changes: same change
cross-ppc64le-gcc7.changes: same change
cross-rx-gcc7-bootstrap.changes: same change
cross-rx-gcc7.changes: same change
cross-s390x-gcc7.changes: same change
cross-sparc-gcc7.changes: same change
cross-sparc64-gcc7.changes: same change
cross-x86_64-gcc7.changes: same change
gcc7-testresults.changes: same change
gcc7.changes: same change

Old:
----
  gcc-7.1.1-r249772.tar.xz

New:
----
  gcc-7.1.1-r250819.tar.xz
  gcc7-go-sigrtmax.patch
  gcc7-pr81766.diff
  gcc7-stack-probe.diff

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ cross-aarch64-gcc7.spec ++++++
--- /var/tmp/diff_new_pack.bWgRfa/_old  2017-08-24 17:40:04.008627916 +0200
+++ /var/tmp/diff_new_pack.bWgRfa/_new  2017-08-24 17:40:04.016626790 +0200
@@ -157,7 +157,7 @@
 %define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
 
 Url:            http://gcc.gnu.org/
-Version:        7.1.1+r249772
+Version:        7.1.1+r250819
 Release:        0
 %define gcc_version %(echo %version | sed 's/+.*//')
 %define gcc_dir_version %(echo %gcc_version | cut -d '.' -f 1)
@@ -176,6 +176,9 @@
 Patch9:         gcc48-remove-mpfr-2.4.0-requirement.patch
 Patch10:        gcc5-no-return-gcc43-workaround.patch
 Patch11:        gcc7-remove-Wexpansion-to-defined-from-Wextra.patch
+Patch12:        gcc7-stack-probe.diff
+Patch13:        gcc7-go-sigrtmax.patch
+Patch14:        gcc7-pr81766.diff
 # A set of patches from the RH srpm
 Patch51:        gcc41-ppc32-retaddr.patch
 # Some patches taken from Debian
@@ -249,6 +252,9 @@
 %endif
 %patch10
 %patch11
+%patch12
+%patch13
+%patch14
 %patch51
 %patch60
 %patch61

cross-arm-gcc7.spec: same change
cross-avr-gcc7.spec: same change
cross-epiphany-gcc7-bootstrap.spec: same change
cross-epiphany-gcc7.spec: same change
cross-hppa-gcc7.spec: same change
cross-i386-gcc7.spec: same change
cross-m68k-gcc7.spec: same change
cross-mips-gcc7.spec: same change
cross-nvptx-gcc7.spec: same change
cross-ppc64-gcc7.spec: same change
cross-ppc64le-gcc7.spec: same change
cross-rx-gcc7-bootstrap.spec: same change
cross-rx-gcc7.spec: same change
cross-s390x-gcc7.spec: same change
cross-sparc-gcc7.spec: same change
cross-sparc64-gcc7.spec: same change
cross-x86_64-gcc7.spec: same change
gcc7-testresults.spec: same change
++++++ gcc7.spec ++++++
--- /var/tmp/diff_new_pack.bWgRfa/_old  2017-08-24 17:40:05.232455617 +0200
+++ /var/tmp/diff_new_pack.bWgRfa/_new  2017-08-24 17:40:05.256452238 +0200
@@ -235,7 +235,7 @@
 %define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
 
 Url:            http://gcc.gnu.org/
-Version:        7.1.1+r249772
+Version:        7.1.1+r250819
 Release:        0
 %define gcc_version %(echo %version | sed 's/+.*//')
 %define gcc_dir_version %(echo %gcc_version | cut -d '.' -f 1)
@@ -296,6 +296,9 @@
 Patch9:         gcc48-remove-mpfr-2.4.0-requirement.patch
 Patch10:        gcc5-no-return-gcc43-workaround.patch
 Patch11:        gcc7-remove-Wexpansion-to-defined-from-Wextra.patch
+Patch12:        gcc7-stack-probe.diff
+Patch13:        gcc7-go-sigrtmax.patch
+Patch14:        gcc7-pr81766.diff
 # A set of patches from the RH srpm
 Patch51:        gcc41-ppc32-retaddr.patch
 # Some patches taken from Debian
@@ -1743,6 +1746,9 @@
 %endif
 %patch10
 %patch11
+%patch12
+%patch13
+%patch14
 %patch51
 %patch60
 %patch61

++++++ gcc-7.1.1-r249772.tar.xz -> gcc-7.1.1-r250819.tar.xz ++++++
/work/SRC/openSUSE:Factory/gcc7/gcc-7.1.1-r249772.tar.xz 
/work/SRC/openSUSE:Factory/.gcc7.new/gcc-7.1.1-r250819.tar.xz differ: char 27, 
line 1

++++++ gcc.spec.in ++++++
--- /var/tmp/diff_new_pack.bWgRfa/_old  2017-08-24 17:40:05.560409445 +0200
+++ /var/tmp/diff_new_pack.bWgRfa/_new  2017-08-24 17:40:05.560409445 +0200
@@ -239,7 +239,7 @@
 %define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
 
 URL:          http://gcc.gnu.org/
-Version: 7.1.1+r249772
+Version: 7.1.1+r250819
 Release:      1
 %define gcc_version %(echo %version | sed 's/+.*//')
 %define gcc_dir_version %(echo %gcc_version | cut -d '.' -f 1)
@@ -301,6 +301,9 @@
 Patch9:                gcc48-remove-mpfr-2.4.0-requirement.patch
 Patch10:       gcc5-no-return-gcc43-workaround.patch
 Patch11:       gcc7-remove-Wexpansion-to-defined-from-Wextra.patch
+Patch12:        gcc7-stack-probe.diff
+Patch13:        gcc7-go-sigrtmax.patch
+Patch14:       gcc7-pr81766.diff
 # A set of patches from the RH srpm
 Patch51:       gcc41-ppc32-retaddr.patch
 # Some patches taken from Debian
@@ -1053,6 +1056,9 @@
 %endif
 %patch10
 %patch11
+%patch12
+%patch13
+%patch14
 %patch51
 %patch60
 %patch61

++++++ gcc7-go-sigrtmax.patch ++++++
Index: libgo/mksigtab.sh
===================================================================
--- libgo/mksigtab.sh   (revision 250846)
+++ libgo/mksigtab.sh   (working copy)
@@ -86,6 +86,14 @@ if test "${GOOS}" = "linux"; then
 fi
 
 nsig=`grep 'const _*NSIG = [0-9]*$' gen-sysinfo.go | sed -e 's/.* = 
\([0-9]*\)/\1/'`
+if test -z "$nsig"; then
+    if grep 'const _*NSIG = [ (]*_*SIGRTMAX + 1[ )]*' gen-sysinfo.go 
>/dev/null 2>&1; then
+        rtmax=`grep 'const _*SIGRTMAX = [0-9]*$' gen-sysinfo.go | sed -e 's/.* 
= \([0-9]*\)/\1/'`
+        if test -n "$rtmax"; then
+            nsig=`expr $rtmax + 1`
+        fi
+    fi
+fi
 i=1
 while test "$i" -lt "$nsig"; do
     if ! grep "const _SIG.* = $i" gen-sysinfo.go >/dev/null 2>&1; then
++++++ gcc7-pr81766.diff ++++++
2017-08-08  Richard Biener  <rguent...@suse.de>

        PR middle-end/81766
        * function.c (thread_prologue_and_epilogue_insns): Restore
        behavior of always calling find_many_sub_basic_blocks on
        the inserted prologue.

        * gcc.target/i386/pr81766.c: New testcase.

Index: gcc/function.c
===================================================================
--- gcc/function.c      (revision 250947)
+++ gcc/function.c      (working copy)
@@ -6082,17 +6082,16 @@ thread_prologue_and_epilogue_insns (void
       if (prologue_insn
          && BLOCK_FOR_INSN (prologue_insn) == NULL)
        prologue_insn = NULL;
-      if (split_prologue_insn || prologue_insn)
-       {
-         auto_sbitmap blocks (last_basic_block_for_fn (cfun));
-         bitmap_clear (blocks);
-         if (split_prologue_insn)
-           bitmap_set_bit (blocks,
-                           BLOCK_FOR_INSN (split_prologue_insn)->index);
-         if (prologue_insn)
-           bitmap_set_bit (blocks, BLOCK_FOR_INSN (prologue_insn)->index);
-         find_many_sub_basic_blocks (blocks);
-       }
+      auto_sbitmap blocks (last_basic_block_for_fn (cfun));
+      bitmap_clear (blocks);
+      if (split_prologue_insn)
+       bitmap_set_bit (blocks,
+                       BLOCK_FOR_INSN (split_prologue_insn)->index);
+      if (prologue_insn)
+       bitmap_set_bit (blocks, BLOCK_FOR_INSN (prologue_insn)->index);
+      bitmap_set_bit (blocks, entry_edge->dest->index);
+      bitmap_set_bit (blocks, orig_entry_edge->dest->index);
+      find_many_sub_basic_blocks (blocks);
     }
 
   default_rtl_profile ();
Index: gcc/testsuite/gcc.target/i386/pr81766.c
===================================================================
--- gcc/testsuite/gcc.target/i386/pr81766.c     (nonexistent)
+++ gcc/testsuite/gcc.target/i386/pr81766.c     (working copy)
@@ -0,0 +1,5 @@
+/* { dg-do compile } */
+/* { dg-require-effective-target lp64 } */
+/* { dg-options "-O2 -fPIE -mcmodel=large" } */
+
+int main() { return 0; }
++++++ gcc7-stack-probe.diff ++++++
Index: gcc/common.opt
===================================================================
--- gcc/common.opt      (revision 244266)
+++ gcc/common.opt      (working copy)
@@ -2295,6 +2299,10 @@ fstack-check
 Common Alias(fstack-check=, specific, no)
 Insert stack checking code into the program.  Same as -fstack-check=specific.
 
+fstack-clash-protection
+Common Report Var(flag_stack_clash_protection)
+Insert probes per page for dynamically allocated stack space
+
 fstack-limit
 Common Var(common_deferred_options) Defer
 
Index: gcc/explow.c
===================================================================
--- gcc/explow.c        (revision 244266)
+++ gcc/explow.c        (working copy)
@@ -1277,6 +1277,8 @@ get_dynamic_stack_size (rtx *psize, unsi
   *psize = size;
 }
 
+#define PROBE_INTERVAL (1 << STACK_CHECK_PROBE_INTERVAL_EXP)
+
 /* Return an rtx representing the address of an area of memory dynamically
    pushed on the stack.
 
@@ -1305,6 +1307,8 @@ allocate_dynamic_stack_space (rtx size,
   HOST_WIDE_INT stack_usage_size = -1;
   rtx_code_label *final_label;
   rtx final_target, target;
+  rtx loop_lab, end_lab, last_size;
+  int probe_pass = 0;
 
   /* If we're asking for zero bytes, it doesn't matter what we point
      to since we can't dereference it.  But return a reasonable
@@ -1440,6 +1444,24 @@ allocate_dynamic_stack_space (rtx size,
   /* Don't let anti_adjust_stack emit notes.  */
   suppress_reg_args_size = true;
 
+  if (flag_stack_clash_protection)
+    {
+#ifndef STACK_GROWS_DOWNWARD
+      sorry("-fstack-clash-protection is incompatible with upward growing 
stack");
+#endif
+      size = copy_to_mode_reg (Pmode, convert_to_mode (Pmode, size, 1));
+      loop_lab = gen_label_rtx ();
+      end_lab = gen_label_rtx ();
+      emit_label (loop_lab);
+      emit_cmp_and_jump_insns (size, GEN_INT (PROBE_INTERVAL), LTU,
+                              NULL_RTX, Pmode, 1, end_lab);
+      last_size = expand_binop (Pmode, sub_optab, size, GEN_INT 
(PROBE_INTERVAL), size,
+                               1, OPTAB_WIDEN);
+      gcc_assert (last_size == size);
+      size = GEN_INT (PROBE_INTERVAL);
+    }
+
+again:
   /* Perform the required allocation from the stack.  Some systems do
      this differently than simply incrementing/decrementing from the
      stack pointer, such as acquiring the space by calling malloc().  */
@@ -1499,6 +1521,15 @@ allocate_dynamic_stack_space (rtx size,
       if (STACK_GROWS_DOWNWARD)
        emit_move_insn (target, virtual_stack_dynamic_rtx);
     }
+  if (flag_stack_clash_protection && probe_pass == 0)
+    {
+      probe_pass = 1;
+      emit_stack_probe (target);
+      emit_jump (loop_lab);
+      emit_label (end_lab);
+      size = last_size;
+      goto again;
+    }
 
   suppress_reg_args_size = false;
 
@@ -1510,6 +1541,8 @@ allocate_dynamic_stack_space (rtx size,
       emit_label (final_label);
       target = final_target;
     }
+  if (flag_stack_clash_protection)
+    emit_stack_probe (target);
 
   target = align_dynamic_address (target, required_align);
 
@@ -1593,8 +1626,6 @@ emit_stack_probe (rtx address)
    the current stack pointer.  STACK_GROWS_DOWNWARD says whether to add
    or subtract them from the stack pointer.  */
 
-#define PROBE_INTERVAL (1 << STACK_CHECK_PROBE_INTERVAL_EXP)
-
 #if STACK_GROWS_DOWNWARD
 #define STACK_GROW_OP MINUS
 #define STACK_GROW_OPTAB sub_optab

Reply via email to