Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package gcc7 for openSUSE:Factory checked in 
at 2023-05-10 16:17:38
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/gcc7 (Old)
 and      /work/SRC/openSUSE:Factory/.gcc7.new.1533 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "gcc7"

Wed May 10 16:17:38 2023 rev:38 rq:1085726 version:7.5.0+r278197

Changes:
--------
--- /work/SRC/openSUSE:Factory/gcc7/gcc7.changes        2022-09-01 
22:13:02.980547081 +0200
+++ /work/SRC/openSUSE:Factory/.gcc7.new.1533/gcc7.changes      2023-05-10 
16:17:42.406684481 +0200
@@ -1,0 +2,23 @@
+Tue May  9 13:12:55 UTC 2023 - Richard Biener <[email protected]>
+
+- Backport _multibuild auto-generation.  Remove redundant
+  .changes files.
+
+-------------------------------------------------------------------
+Fri May  5 15:02:29 UTC 2023 - Dominique Leuenberger <[email protected]>
+
+- Add _multibuild to define 2nd spec file as additional flavor.
+  Eliminates the need for source package links in OBS.
+
+-------------------------------------------------------------------
+Tue Nov  8 09:09:26 UTC 2022 - Richard Biener <[email protected]>
+
+- Add gcc7-pr89124.patch to fix KASAN kernel compile.  [bsc#1205145]
+
+-------------------------------------------------------------------
+Thu Oct 20 09:38:24 UTC 2022 - Richard Biener <[email protected]>
+
+- Add gcc7-pr72764.patch to fix ICE with C++17 code as reported
+  in [bsc#1204505]
+
+-------------------------------------------------------------------

Old:
----
  cross-aarch64-gcc7.changes
  cross-arm-gcc7.changes
  cross-arm-none-gcc7-bootstrap.changes
  cross-arm-none-gcc7.changes
  cross-avr-gcc7-bootstrap.changes
  cross-avr-gcc7.changes
  cross-epiphany-gcc7-bootstrap.changes
  cross-epiphany-gcc7.changes
  cross-hppa-gcc7.changes
  cross-i386-gcc7.changes
  cross-m68k-gcc7.changes
  cross-mips-gcc7.changes
  cross-nvptx-gcc7.changes
  cross-ppc64-gcc7.changes
  cross-ppc64le-gcc7.changes
  cross-rx-gcc7-bootstrap.changes
  cross-rx-gcc7.changes
  cross-s390x-gcc7.changes
  cross-sparc-gcc7.changes
  cross-sparc64-gcc7.changes
  cross-x86_64-gcc7.changes
  gcc7-testresults.changes

New:
----
  _multibuild
  gcc7-pr72764.patch
  gcc7-pr89124.patch

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

Other differences:
------------------
++++++ cross-aarch64-gcc7.spec ++++++
--- /var/tmp/diff_new_pack.BpPtyI/_old  2023-05-10 16:17:44.382696169 +0200
+++ /var/tmp/diff_new_pack.BpPtyI/_new  2023-05-10 16:17:44.386696193 +0200
@@ -1,7 +1,7 @@
 #
 # spec file
 #
-# Copyright (c) 2022 SUSE LLC
+# Copyright (c) 2023 SUSE LLC
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -147,6 +147,8 @@
 Patch37:        gcc7-pr78263.patch
 Patch38:        gcc7-libsanitizer-cherry-pick-9cf13067cb5088626ba7-from-u.patch
 Patch39:        gcc7-libgo-don-t-include-linux-fs.h-when-building-gen-sys.patch
+Patch40:        gcc7-pr72764.patch
+Patch41:        gcc7-pr89124.patch
 # A set of patches from the RH srpm
 Patch51:        gcc41-ppc32-retaddr.patch
 # Some patches taken from Debian
@@ -339,6 +341,8 @@
 %patch37 -p1
 %patch38 -p1
 %patch39 -p1
+%patch40 -p1
+%patch41 -p1
 %patch51
 %patch60
 %patch61

cross-arm-gcc7.spec: same change
cross-arm-none-gcc7-bootstrap.spec: same change
cross-arm-none-gcc7.spec: same change
cross-avr-gcc7-bootstrap.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 ++++++
--- /var/tmp/diff_new_pack.BpPtyI/_old  2023-05-10 16:17:45.054700145 +0200
+++ /var/tmp/diff_new_pack.BpPtyI/_new  2023-05-10 16:17:45.058700168 +0200
@@ -1,7 +1,7 @@
 #
 # spec file for package gcc7-testresults
 #
-# Copyright (c) 2022 SUSE LLC
+# Copyright (c) 2023 SUSE LLC
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -344,6 +344,8 @@
 Patch37:        gcc7-pr78263.patch
 Patch38:        gcc7-libsanitizer-cherry-pick-9cf13067cb5088626ba7-from-u.patch
 Patch39:        gcc7-libgo-don-t-include-linux-fs.h-when-building-gen-sys.patch
+Patch40:        gcc7-pr72764.patch
+Patch41:        gcc7-pr89124.patch
 # A set of patches from the RH srpm
 Patch51:        gcc41-ppc32-retaddr.patch
 # Some patches taken from Debian
@@ -521,6 +523,8 @@
 %patch37 -p1
 %patch38 -p1
 %patch39 -p1
+%patch40 -p1
+%patch41 -p1
 %patch51
 %patch60
 %patch61

++++++ gcc7.spec ++++++
--- /var/tmp/diff_new_pack.BpPtyI/_old  2023-05-10 16:17:45.086700334 +0200
+++ /var/tmp/diff_new_pack.BpPtyI/_new  2023-05-10 16:17:45.090700357 +0200
@@ -1,7 +1,7 @@
 #
 # spec file for package gcc7
 #
-# Copyright (c) 2022 SUSE LLC
+# Copyright (c) 2023 SUSE LLC
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -323,6 +323,8 @@
 Patch37:        gcc7-pr78263.patch
 Patch38:        gcc7-libsanitizer-cherry-pick-9cf13067cb5088626ba7-from-u.patch
 Patch39:        gcc7-libgo-don-t-include-linux-fs.h-when-building-gen-sys.patch
+Patch40:        gcc7-pr72764.patch
+Patch41:        gcc7-pr89124.patch
 # A set of patches from the RH srpm
 Patch51:        gcc41-ppc32-retaddr.patch
 # Some patches taken from Debian
@@ -1858,6 +1860,8 @@
 %patch37 -p1
 %patch38 -p1
 %patch39 -p1
+%patch40 -p1
+%patch41 -p1
 %patch51
 %patch60
 %patch61

++++++ _multibuild ++++++
<multibuild>
<flavor>gcc7-testresults</flavor>
<flavor>cross-aarch64-gcc7</flavor>
<flavor>cross-arm-gcc7</flavor>
<flavor>cross-avr-gcc7-bootstrap</flavor>
<flavor>cross-avr-gcc7</flavor>
<flavor>cross-i386-gcc7</flavor>
<flavor>cross-x86_64-gcc7</flavor>
<flavor>cross-s390x-gcc7</flavor>
<flavor>cross-sparc-gcc7</flavor>
<flavor>cross-sparc64-gcc7</flavor>
<flavor>cross-ppc64-gcc7</flavor>
<flavor>cross-ppc64le-gcc7</flavor>
<flavor>cross-m68k-gcc7</flavor>
<flavor>cross-mips-gcc7</flavor>
<flavor>cross-hppa-gcc7</flavor>
<flavor>cross-arm-none-gcc7-bootstrap</flavor>
<flavor>cross-arm-none-gcc7</flavor>
<flavor>cross-epiphany-gcc7-bootstrap</flavor>
<flavor>cross-epiphany-gcc7</flavor>
<flavor>cross-rx-gcc7-bootstrap</flavor>
<flavor>cross-rx-gcc7</flavor>
<flavor>cross-nvptx-gcc7</flavor>
</multibuild>

++++++ change_spec ++++++
--- /var/tmp/diff_new_pack.BpPtyI/_old  2023-05-10 16:17:45.178700878 +0200
+++ /var/tmp/diff_new_pack.BpPtyI/_new  2023-05-10 16:17:45.182700902 +0200
@@ -55,10 +55,9 @@
            gcc.spec.in \
        | sed -e 's%@base_ver@%'$base_ver'%g' \
 >> gcc$base_ver-testresults.spec
-  test -f gcc$base_ver.changes \
-    && ( ln -f gcc$base_ver.changes gcc$base_ver-testresults.changes; )
-
 
+echo '<multibuild>' > _multibuild
+echo '<flavor>'gcc$base_ver-testresults'</flavor>' >> _multibuild
 
 add_cross() {
   local pkgname="$1"; shift
@@ -77,7 +76,8 @@
     sed -e "s#@base_ver@#$base_ver#" \
        -e "s/^\(ExclusiveArch.*\) $rpmtarget[^ \r]*/\1 /" \
       >> $pkgname.spec
-  test -f gcc$base_ver.changes && ln -f gcc$base_ver.changes $pkgname.changes
+
+  echo '<flavor>'$pkgname'</flavor>' >> _multibuild
 }
 
 add_newlib_cross() {
@@ -120,7 +120,7 @@
   sed -i -e '/^# .*-\(BEGIN\|END\)$/d' $f
 done
 
-osc service localrun format_spec_file
+echo '</multibuild>' >> _multibuild
 
-#exit 0
+osc service localrun format_spec_file
 

++++++ gcc.spec.in ++++++
--- /var/tmp/diff_new_pack.BpPtyI/_old  2023-05-10 16:17:45.266701399 +0200
+++ /var/tmp/diff_new_pack.BpPtyI/_new  2023-05-10 16:17:45.270701422 +0200
@@ -330,6 +330,8 @@
 Patch37:        gcc7-pr78263.patch
 Patch38:  gcc7-libsanitizer-cherry-pick-9cf13067cb5088626ba7-from-u.patch
 Patch39:  gcc7-libgo-don-t-include-linux-fs.h-when-building-gen-sys.patch
+Patch40:       gcc7-pr72764.patch
+Patch41:       gcc7-pr89124.patch
 # A set of patches from the RH srpm
 Patch51:       gcc41-ppc32-retaddr.patch
 # Some patches taken from Debian
@@ -1132,6 +1134,8 @@
 %patch37 -p1
 %patch38 -p1
 %patch39 -p1
+%patch40 -p1
+%patch41 -p1
 %patch51
 %patch60
 %patch61

++++++ gcc7-pr72764.patch ++++++
>From cffc4a68d759fdca588cdf9ece998862b76141e6 Mon Sep 17 00:00:00 2001
From: Jason Merrill <[email protected]>
Date: Wed, 28 Jun 2017 17:06:35 -0400
Subject: [PATCH] PR c++/72764 - ICE with invalid template typename.
To: [email protected]

        * decl.c (build_typename_type): No longer static.
        * tree.c (strip_typedefs): Use it instead of make_typename_type.

From-SVN: r249760
---
 gcc/cp/cp-tree.h                           |  1 +
 gcc/cp/decl.c                              |  2 +-
 gcc/cp/tree.c                              | 17 ++++++++++-------
 gcc/testsuite/g++.dg/cpp0x/alias-decl-60.C | 16 ++++++++++++++++
 5 files changed, 32 insertions(+), 8 deletions(-)
 create mode 100644 gcc/testsuite/g++.dg/cpp0x/alias-decl-60.C

diff --git a/gcc/cp/cp-tree.h b/gcc/cp/cp-tree.h
index f82b1b6ae10..946a9167992 100644
--- a/gcc/cp/cp-tree.h
+++ b/gcc/cp/cp-tree.h
@@ -6087,6 +6087,7 @@ extern tree define_label                  (location_t, 
tree);
 extern void check_goto                         (tree);
 extern bool check_omp_return                   (void);
 extern tree make_typename_type                 (tree, tree, enum tag_types, 
tsubst_flags_t);
+extern tree build_typename_type                        (tree, tree, tree, 
tag_types);
 extern tree make_unbound_class_template                (tree, tree, tree, 
tsubst_flags_t);
 extern tree build_library_fn_ptr               (const char *, tree, int);
 extern tree build_cp_library_fn_ptr            (const char *, tree, int);
diff --git a/gcc/cp/decl.c b/gcc/cp/decl.c
index 93e24fc8984..3d96a3ea0fd 100644
--- a/gcc/cp/decl.c
+++ b/gcc/cp/decl.c
@@ -3594,7 +3594,7 @@ struct typename_hasher : ggc_ptr_hash<tree_node>
 
 static GTY (()) hash_table<typename_hasher> *typename_htab;
 
-static tree
+tree
 build_typename_type (tree context, tree name, tree fullname,
                     enum tag_types tag_type)
 {
diff --git a/gcc/cp/tree.c b/gcc/cp/tree.c
index bb17278c611..4535af64dc6 100644
--- a/gcc/cp/tree.c
+++ b/gcc/cp/tree.c
@@ -1503,13 +1503,13 @@ strip_typedefs (tree t, bool *remove_attributes)
       break;
     case TYPENAME_TYPE:
       {
+       bool changed = false;
        tree fullname = TYPENAME_TYPE_FULLNAME (t);
        if (TREE_CODE (fullname) == TEMPLATE_ID_EXPR
            && TREE_OPERAND (fullname, 1))
          {
            tree args = TREE_OPERAND (fullname, 1);
            tree new_args = copy_node (args);
-           bool changed = false;
            for (int i = 0; i < TREE_VEC_LENGTH (args); ++i)
              {
                tree arg = TREE_VEC_ELT (args, i);
@@ -1533,12 +1533,15 @@ strip_typedefs (tree t, bool *remove_attributes)
            else
              ggc_free (new_args);
          }
-       result = make_typename_type (strip_typedefs (TYPE_CONTEXT (t),
-                                                    remove_attributes),
-                                    fullname, typename_type, tf_none);
-       /* Handle 'typedef typename A::N N;'  */
-       if (typedef_variant_p (result))
-         result = TYPE_MAIN_VARIANT (DECL_ORIGINAL_TYPE (TYPE_NAME (result)));
+       tree ctx = strip_typedefs (TYPE_CONTEXT (t), remove_attributes);
+       if (!changed && ctx == TYPE_CONTEXT (t) && !typedef_variant_p (t))
+         return t;
+       tree name = fullname;
+       if (TREE_CODE (fullname) == TEMPLATE_ID_EXPR)
+         name = TREE_OPERAND (fullname, 0);
+       /* Use build_typename_type rather than make_typename_type because we
+          don't want to resolve it here, just strip typedefs.  */
+       result = build_typename_type (ctx, name, fullname, typename_type);
       }
       break;
     case DECLTYPE_TYPE:
diff --git a/gcc/testsuite/g++.dg/cpp0x/alias-decl-60.C 
b/gcc/testsuite/g++.dg/cpp0x/alias-decl-60.C
new file mode 100644
index 00000000000..6bf9b7b1666
--- /dev/null
+++ b/gcc/testsuite/g++.dg/cpp0x/alias-decl-60.C
@@ -0,0 +1,16 @@
+// PR c++/72764
+// { dg-do compile { target c++11 } }
+
+template < typename > struct A;
+template < typename > struct B {};
+
+template < typename T >
+using C = typename A < T >::template D < T >;
+
+template < typename T > struct A
+{ 
+  // should be: template < typename > struct D : B < C < T > > {};
+  struct D : B < C < T > > {}; // { dg-error "not a class template" }
+};
+
+A < int >::D a;                        // { dg-message "required" }
-- 
2.35.3


++++++ gcc7-pr89124.patch ++++++
>From 9d983fd1b9611631fdd5efd26b3b7bdc1ab6dc24 Mon Sep 17 00:00:00 2001
From: Martin Jambor <[email protected]>
Date: Mon, 7 Nov 2022 17:42:01 +0100
Subject: [PATCH] Backport of fix to PR sanitizer/89124

gcc/ChangeLog:

2019-01-31  Jakub Jelinek  <[email protected]>

       PR sanitizer/89124
       * ipa-inline.c (sanitize_attrs_match_for_inline_p): Allow inlining
       always_inline callees into no_sanitize_address callers.

gcc/testsuite/ChangeLog:

2019-01-31  Jakub Jelinek  <[email protected]>

       PR sanitizer/89124
       * c-c++-common/asan/pr89124.c: New test.

From-SVN: r268415
Git commit 6206a883fe7a741dbb9e09d88255a170a75950f5
---
 gcc/ipa-inline.c                          |  6 ++++++
 gcc/testsuite/c-c++-common/asan/pr89124.c | 14 ++++++++++++++
 2 files changed, 20 insertions(+)
 create mode 100644 gcc/testsuite/c-c++-common/asan/pr89124.c

diff --git a/gcc/ipa-inline.c b/gcc/ipa-inline.c
index b520c6393f4..64542238fdd 100644
--- a/gcc/ipa-inline.c
+++ b/gcc/ipa-inline.c
@@ -263,6 +263,12 @@ sanitize_attrs_match_for_inline_p (const_tree caller, 
const_tree callee)
   if (!caller || !callee)
     return true;
 
+  /* Allow inlining always_inline functions into no_sanitize_address
+     functions.  */
+  if (lookup_attribute ("no_sanitize_address", DECL_ATTRIBUTES (caller))
+      && lookup_attribute ("always_inline", DECL_ATTRIBUTES (callee)))
+    return true;
+
   return !!lookup_attribute ("no_sanitize_address",
       DECL_ATTRIBUTES (caller)) == 
       !!lookup_attribute ("no_sanitize_address",
diff --git a/gcc/testsuite/c-c++-common/asan/pr89124.c 
b/gcc/testsuite/c-c++-common/asan/pr89124.c
new file mode 100644
index 00000000000..c9c870b76c6
--- /dev/null
+++ b/gcc/testsuite/c-c++-common/asan/pr89124.c
@@ -0,0 +1,14 @@
+/* PR sanitizer/89124 */
+/* { dg-do compile } */
+
+static int inline __attribute__ ((always_inline))
+foo (int x)
+{
+  return x + 1;
+}
+
+__attribute__ ((no_sanitize_address)) int
+bar (int x)
+{
+  return foo (x);
+}
-- 
2.38.0

Reply via email to