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
