From f4cdef2191e1d8df6c37806ce5161135629e87de Mon Sep 17 00:00:00 2001 From: Rui Salvaterra Date: Thu, 28 Apr 2022 22:44:40 +0100 Subject: [PATCH] toolchain: bump GCC 11 to 11.3.0 Remove an upstreamed patch and rebase all remaining patches. Signed-off-by: Rui Salvaterra --- toolchain/gcc/Config.version | 2 +- toolchain/gcc/common.mk | 4 +- ...ld_using_range-range_of_address-PR10.patch | 114 ------------------ .../002-case_insensitive.patch | 0 .../010-documentation.patch | 2 +- ...-define-TARGET_LIBC_GNUSTACK-on-musl.patch | 4 +- .../110-Fix-MIPS-PR-84790.patch | 0 .../{11.2.0 => 11.3.0}/230-musl_libssp.patch | 0 .../300-mips_Os_cpu_rtx_cost_model.patch | 0 .../810-arm-softfloat-libgcc.patch | 0 .../{11.2.0 => 11.3.0}/820-libgcc_pic.patch | 0 .../840-armv4_pass_fix-v4bx_to_ld.patch | 0 .../850-use_shared_libgcc.patch | 0 .../851-libgcc_no_compat.patch | 0 .../870-ppc_no_crtsavres.patch | 0 .../881-no_tm_section.patch | 0 .../900-bad-mips16-crt.patch | 0 .../{11.2.0 => 11.3.0}/910-mbsd_multi.patch | 4 +- .../920-specs_nonfatal_getenv.patch | 2 +- ...ibffi-fix-MIPS-softfloat-build-issue.patch | 0 ...mpilation-when-making-cross-compiler.patch | 0 .../970-macos_arm64-building-fix.patch | 0 22 files changed, 9 insertions(+), 123 deletions(-) delete mode 100644 toolchain/gcc/patches/11.2.0/001-v11.3.0-ranger-Fix-up-fold_using_range-range_of_address-PR10.patch rename toolchain/gcc/patches/{11.2.0 => 11.3.0}/002-case_insensitive.patch (100%) rename toolchain/gcc/patches/{11.2.0 => 11.3.0}/010-documentation.patch (94%) rename toolchain/gcc/patches/{11.2.0 => 11.3.0}/011-v12-configure-define-TARGET_LIBC_GNUSTACK-on-musl.patch (96%) rename toolchain/gcc/patches/{11.2.0 => 11.3.0}/110-Fix-MIPS-PR-84790.patch (100%) rename toolchain/gcc/patches/{11.2.0 => 11.3.0}/230-musl_libssp.patch (100%) rename toolchain/gcc/patches/{11.2.0 => 11.3.0}/300-mips_Os_cpu_rtx_cost_model.patch (100%) rename toolchain/gcc/patches/{11.2.0 => 11.3.0}/810-arm-softfloat-libgcc.patch (100%) rename toolchain/gcc/patches/{11.2.0 => 11.3.0}/820-libgcc_pic.patch (100%) rename toolchain/gcc/patches/{11.2.0 => 11.3.0}/840-armv4_pass_fix-v4bx_to_ld.patch (100%) rename toolchain/gcc/patches/{11.2.0 => 11.3.0}/850-use_shared_libgcc.patch (100%) rename toolchain/gcc/patches/{11.2.0 => 11.3.0}/851-libgcc_no_compat.patch (100%) rename toolchain/gcc/patches/{11.2.0 => 11.3.0}/870-ppc_no_crtsavres.patch (100%) rename toolchain/gcc/patches/{11.2.0 => 11.3.0}/881-no_tm_section.patch (100%) rename toolchain/gcc/patches/{11.2.0 => 11.3.0}/900-bad-mips16-crt.patch (100%) rename toolchain/gcc/patches/{11.2.0 => 11.3.0}/910-mbsd_multi.patch (97%) rename toolchain/gcc/patches/{11.2.0 => 11.3.0}/920-specs_nonfatal_getenv.patch (90%) rename toolchain/gcc/patches/{11.2.0 => 11.3.0}/931-libffi-fix-MIPS-softfloat-build-issue.patch (100%) rename toolchain/gcc/patches/{11.2.0 => 11.3.0}/960-gotools-fix-compilation-when-making-cross-compiler.patch (100%) rename toolchain/gcc/patches/{11.2.0 => 11.3.0}/970-macos_arm64-building-fix.patch (100%) diff --git a/toolchain/gcc/Config.version b/toolchain/gcc/Config.version index 61506b670b..d1907c24a5 100644 --- a/toolchain/gcc/Config.version +++ b/toolchain/gcc/Config.version @@ -10,4 +10,4 @@ config GCC_VERSION string default "8.4.0" if GCC_VERSION_8 default "10.3.0" if GCC_VERSION_10 - default "11.2.0" + default "11.3.0" diff --git a/toolchain/gcc/common.mk b/toolchain/gcc/common.mk index bef4fa37f8..c1aff7dc40 100644 --- a/toolchain/gcc/common.mk +++ b/toolchain/gcc/common.mk @@ -36,8 +36,8 @@ ifeq ($(PKG_VERSION),10.3.0) PKG_HASH:=64f404c1a650f27fc33da242e1f2df54952e3963a49e06e73f6940f3223ac344 endif -ifeq ($(PKG_VERSION),11.2.0) - PKG_HASH:=d08edc536b54c372a1010ff6619dd274c0f1603aa49212ba20f7aa2cda36fa8b +ifeq ($(PKG_VERSION),11.3.0) + PKG_HASH:=b47cf2818691f5b1e21df2bb38c795fac2cfbd640ede2d0a5e1c89e338a3ac39 endif PATCH_DIR=../patches/$(GCC_VERSION) diff --git a/toolchain/gcc/patches/11.2.0/001-v11.3.0-ranger-Fix-up-fold_using_range-range_of_address-PR10.patch b/toolchain/gcc/patches/11.2.0/001-v11.3.0-ranger-Fix-up-fold_using_range-range_of_address-PR10.patch deleted file mode 100644 index 71bbfe5a1d..0000000000 --- a/toolchain/gcc/patches/11.2.0/001-v11.3.0-ranger-Fix-up-fold_using_range-range_of_address-PR10.patch +++ /dev/null @@ -1,114 +0,0 @@ -From a6219e8e0719b14f474b0dcaa7bde2f4e57474f9 Mon Sep 17 00:00:00 2001 -From: Jakub Jelinek -Date: Wed, 17 Nov 2021 13:45:53 +0100 -Subject: [PATCH] ranger: Fix up fold_using_range::range_of_address [PR103255] - -If on &base->member the offset isn't constant or isn't zero and --fdelete-null-pointer-checks and not -fwrapv-pointer and base has a range -that doesn't include NULL, we return the range of the base. -Usually it isn't a big deal, because for most pointers we just use -varying, range_zero and range_nonzero ranges and nothing beyond that, -but if a pointer is initialized from a constant, we actually track the -exact range and in that case this causes miscompilation. -As discussed on IRC, I think doing something like: - offset_int off2; - if (off_cst && off.is_constant (&off2)) - { - tree cst = wide_int_to_tree (sizetype, off2 / BITS_PER_UNIT); - // adjust range r with POINTER_PLUS_EXPR cst - if (!range_includes_zero_p (&r)) - return true; - } - // Fallback - r = range_nonzero (TREE_TYPE (gimple_assign_rhs1 (stmt))); - return true; -could work, given that most of the pointer ranges are just the simple ones -perhaps it is too much for little benefit. - -2021-11-17 Jakub Jelinek - - PR tree-optimization/103255 - * gimple-range.cc (fold_using_range::range_of_address): Return - range_nonzero rather than unadjusted base's range. Formatting fixes. - - * gcc.c-torture/execute/pr103255.c: New test. - -(cherry picked from commit c39cb6bf835ca12e590eaa6f90222e51be207c50) ---- - gcc/gimple-range.cc | 16 +++++--- - .../gcc.c-torture/execute/pr103255.c | 41 +++++++++++++++++++ - 2 files changed, 52 insertions(+), 5 deletions(-) - create mode 100644 gcc/testsuite/gcc.c-torture/execute/pr103255.c - ---- a/gcc/gimple-range.cc -+++ b/gcc/gimple-range.cc -@@ -491,14 +491,20 @@ gimple_ranger::range_of_address (irange - } - /* If &X->a is equal to X, the range of X is the result. */ - if (off_cst && known_eq (off, 0)) -- return true; -+ return true; - else if (flag_delete_null_pointer_checks - && !TYPE_OVERFLOW_WRAPS (TREE_TYPE (expr))) - { -- /* For -fdelete-null-pointer-checks -fno-wrapv-pointer we don't -- allow going from non-NULL pointer to NULL. */ -- if(!range_includes_zero_p (&r)) -- return true; -+ /* For -fdelete-null-pointer-checks -fno-wrapv-pointer we don't -+ allow going from non-NULL pointer to NULL. */ -+ if (!range_includes_zero_p (&r)) -+ { -+ /* We could here instead adjust r by off >> LOG2_BITS_PER_UNIT -+ using POINTER_PLUS_EXPR if off_cst and just fall back to -+ this. */ -+ r = range_nonzero (TREE_TYPE (gimple_assign_rhs1 (stmt))); -+ return true; -+ } - } - /* If MEM_REF has a "positive" offset, consider it non-NULL - always, for -fdelete-null-pointer-checks also "negative" ---- /dev/null -+++ b/gcc/testsuite/gcc.c-torture/execute/pr103255.c -@@ -0,0 +1,41 @@ -+/* PR tree-optimization/103255 */ -+ -+struct H -+{ -+ unsigned a; -+ unsigned b; -+ unsigned c; -+}; -+ -+#if __SIZEOF_POINTER__ >= 4 -+#define ADDR 0x400000 -+#else -+#define ADDR 0x4000 -+#endif -+#define OFF 0x20 -+ -+int -+main () -+{ -+ struct H *h = 0; -+ unsigned long o; -+ volatile int t = 1; -+ -+ for (o = OFF; o <= OFF; o += 0x1000) -+ { -+ struct H *u; -+ u = (struct H *) (ADDR + o); -+ if (t) -+ { -+ h = u; -+ break; -+ } -+ } -+ -+ if (h == 0) -+ return 0; -+ unsigned *tt = &h->b; -+ if ((__SIZE_TYPE__) tt != (ADDR + OFF + __builtin_offsetof (struct H, b))) -+ __builtin_abort (); -+ return 0; -+} diff --git a/toolchain/gcc/patches/11.2.0/002-case_insensitive.patch b/toolchain/gcc/patches/11.3.0/002-case_insensitive.patch similarity index 100% rename from toolchain/gcc/patches/11.2.0/002-case_insensitive.patch rename to toolchain/gcc/patches/11.3.0/002-case_insensitive.patch diff --git a/toolchain/gcc/patches/11.2.0/010-documentation.patch b/toolchain/gcc/patches/11.3.0/010-documentation.patch similarity index 94% rename from toolchain/gcc/patches/11.2.0/010-documentation.patch rename to toolchain/gcc/patches/11.3.0/010-documentation.patch index 885bd0301d..25a5e1e99c 100644 --- a/toolchain/gcc/patches/11.2.0/010-documentation.patch +++ b/toolchain/gcc/patches/11.3.0/010-documentation.patch @@ -12,7 +12,7 @@ Date: Tue Feb 26 16:16:33 2013 +0000 --- a/gcc/Makefile.in +++ b/gcc/Makefile.in -@@ -3355,18 +3355,10 @@ doc/gcc.info: $(TEXI_GCC_FILES) +@@ -3348,18 +3348,10 @@ doc/gcc.info: $(TEXI_GCC_FILES) doc/gccint.info: $(TEXI_GCCINT_FILES) doc/cppinternals.info: $(TEXI_CPPINT_FILES) diff --git a/toolchain/gcc/patches/11.2.0/011-v12-configure-define-TARGET_LIBC_GNUSTACK-on-musl.patch b/toolchain/gcc/patches/11.3.0/011-v12-configure-define-TARGET_LIBC_GNUSTACK-on-musl.patch similarity index 96% rename from toolchain/gcc/patches/11.2.0/011-v12-configure-define-TARGET_LIBC_GNUSTACK-on-musl.patch rename to toolchain/gcc/patches/11.3.0/011-v12-configure-define-TARGET_LIBC_GNUSTACK-on-musl.patch index 94105bdf9f..423def6000 100644 --- a/toolchain/gcc/patches/11.2.0/011-v12-configure-define-TARGET_LIBC_GNUSTACK-on-musl.patch +++ b/toolchain/gcc/patches/11.3.0/011-v12-configure-define-TARGET_LIBC_GNUSTACK-on-musl.patch @@ -22,7 +22,7 @@ Signed-off-by: Ilya Lipnitskiy --- a/gcc/configure +++ b/gcc/configure -@@ -30954,6 +30954,9 @@ fi +@@ -31533,6 +31533,9 @@ fi # Check if the target LIBC handles PT_GNU_STACK. gcc_cv_libc_gnustack=unknown case "$target" in @@ -34,7 +34,7 @@ Signed-off-by: Ilya Lipnitskiy if test $glibc_version_major -gt 2 \ --- a/gcc/configure.ac +++ b/gcc/configure.ac -@@ -6788,6 +6788,9 @@ fi +@@ -7023,6 +7023,9 @@ fi # Check if the target LIBC handles PT_GNU_STACK. gcc_cv_libc_gnustack=unknown case "$target" in diff --git a/toolchain/gcc/patches/11.2.0/110-Fix-MIPS-PR-84790.patch b/toolchain/gcc/patches/11.3.0/110-Fix-MIPS-PR-84790.patch similarity index 100% rename from toolchain/gcc/patches/11.2.0/110-Fix-MIPS-PR-84790.patch rename to toolchain/gcc/patches/11.3.0/110-Fix-MIPS-PR-84790.patch diff --git a/toolchain/gcc/patches/11.2.0/230-musl_libssp.patch b/toolchain/gcc/patches/11.3.0/230-musl_libssp.patch similarity index 100% rename from toolchain/gcc/patches/11.2.0/230-musl_libssp.patch rename to toolchain/gcc/patches/11.3.0/230-musl_libssp.patch diff --git a/toolchain/gcc/patches/11.2.0/300-mips_Os_cpu_rtx_cost_model.patch b/toolchain/gcc/patches/11.3.0/300-mips_Os_cpu_rtx_cost_model.patch similarity index 100% rename from toolchain/gcc/patches/11.2.0/300-mips_Os_cpu_rtx_cost_model.patch rename to toolchain/gcc/patches/11.3.0/300-mips_Os_cpu_rtx_cost_model.patch diff --git a/toolchain/gcc/patches/11.2.0/810-arm-softfloat-libgcc.patch b/toolchain/gcc/patches/11.3.0/810-arm-softfloat-libgcc.patch similarity index 100% rename from toolchain/gcc/patches/11.2.0/810-arm-softfloat-libgcc.patch rename to toolchain/gcc/patches/11.3.0/810-arm-softfloat-libgcc.patch diff --git a/toolchain/gcc/patches/11.2.0/820-libgcc_pic.patch b/toolchain/gcc/patches/11.3.0/820-libgcc_pic.patch similarity index 100% rename from toolchain/gcc/patches/11.2.0/820-libgcc_pic.patch rename to toolchain/gcc/patches/11.3.0/820-libgcc_pic.patch diff --git a/toolchain/gcc/patches/11.2.0/840-armv4_pass_fix-v4bx_to_ld.patch b/toolchain/gcc/patches/11.3.0/840-armv4_pass_fix-v4bx_to_ld.patch similarity index 100% rename from toolchain/gcc/patches/11.2.0/840-armv4_pass_fix-v4bx_to_ld.patch rename to toolchain/gcc/patches/11.3.0/840-armv4_pass_fix-v4bx_to_ld.patch diff --git a/toolchain/gcc/patches/11.2.0/850-use_shared_libgcc.patch b/toolchain/gcc/patches/11.3.0/850-use_shared_libgcc.patch similarity index 100% rename from toolchain/gcc/patches/11.2.0/850-use_shared_libgcc.patch rename to toolchain/gcc/patches/11.3.0/850-use_shared_libgcc.patch diff --git a/toolchain/gcc/patches/11.2.0/851-libgcc_no_compat.patch b/toolchain/gcc/patches/11.3.0/851-libgcc_no_compat.patch similarity index 100% rename from toolchain/gcc/patches/11.2.0/851-libgcc_no_compat.patch rename to toolchain/gcc/patches/11.3.0/851-libgcc_no_compat.patch diff --git a/toolchain/gcc/patches/11.2.0/870-ppc_no_crtsavres.patch b/toolchain/gcc/patches/11.3.0/870-ppc_no_crtsavres.patch similarity index 100% rename from toolchain/gcc/patches/11.2.0/870-ppc_no_crtsavres.patch rename to toolchain/gcc/patches/11.3.0/870-ppc_no_crtsavres.patch diff --git a/toolchain/gcc/patches/11.2.0/881-no_tm_section.patch b/toolchain/gcc/patches/11.3.0/881-no_tm_section.patch similarity index 100% rename from toolchain/gcc/patches/11.2.0/881-no_tm_section.patch rename to toolchain/gcc/patches/11.3.0/881-no_tm_section.patch diff --git a/toolchain/gcc/patches/11.2.0/900-bad-mips16-crt.patch b/toolchain/gcc/patches/11.3.0/900-bad-mips16-crt.patch similarity index 100% rename from toolchain/gcc/patches/11.2.0/900-bad-mips16-crt.patch rename to toolchain/gcc/patches/11.3.0/900-bad-mips16-crt.patch diff --git a/toolchain/gcc/patches/11.2.0/910-mbsd_multi.patch b/toolchain/gcc/patches/11.3.0/910-mbsd_multi.patch similarity index 97% rename from toolchain/gcc/patches/11.2.0/910-mbsd_multi.patch rename to toolchain/gcc/patches/11.3.0/910-mbsd_multi.patch index 9f9d3226e8..21f532043e 100644 --- a/toolchain/gcc/patches/11.2.0/910-mbsd_multi.patch +++ b/toolchain/gcc/patches/11.3.0/910-mbsd_multi.patch @@ -40,7 +40,7 @@ Date: Tue Jul 31 00:52:27 2007 +0000 case OPT_fconstant_string_class_: constant_string_class_name = arg; break; -@@ -1196,6 +1205,47 @@ c_common_init (void) +@@ -1198,6 +1207,47 @@ c_common_init (void) return false; } @@ -114,7 +114,7 @@ Date: Tue Jul 31 00:52:27 2007 +0000 ; On SVR4 targets, it also controls whether or not to emit a --- a/gcc/doc/invoke.texi +++ b/gcc/doc/invoke.texi -@@ -9055,6 +9055,17 @@ This option is only supported for C and +@@ -9058,6 +9058,17 @@ This option is only supported for C and @option{-Wall} and by @option{-Wpedantic}, which can be disabled with @option{-Wno-pointer-sign}. diff --git a/toolchain/gcc/patches/11.2.0/920-specs_nonfatal_getenv.patch b/toolchain/gcc/patches/11.3.0/920-specs_nonfatal_getenv.patch similarity index 90% rename from toolchain/gcc/patches/11.2.0/920-specs_nonfatal_getenv.patch rename to toolchain/gcc/patches/11.3.0/920-specs_nonfatal_getenv.patch index dda33c0202..83bcb25a80 100644 --- a/toolchain/gcc/patches/11.2.0/920-specs_nonfatal_getenv.patch +++ b/toolchain/gcc/patches/11.3.0/920-specs_nonfatal_getenv.patch @@ -7,7 +7,7 @@ Date: Sat Apr 21 03:02:39 2012 +0000 --- a/gcc/gcc.c +++ b/gcc/gcc.c -@@ -10100,8 +10100,10 @@ getenv_spec_function (int argc, const ch +@@ -10106,8 +10106,10 @@ getenv_spec_function (int argc, const ch } if (!value) diff --git a/toolchain/gcc/patches/11.2.0/931-libffi-fix-MIPS-softfloat-build-issue.patch b/toolchain/gcc/patches/11.3.0/931-libffi-fix-MIPS-softfloat-build-issue.patch similarity index 100% rename from toolchain/gcc/patches/11.2.0/931-libffi-fix-MIPS-softfloat-build-issue.patch rename to toolchain/gcc/patches/11.3.0/931-libffi-fix-MIPS-softfloat-build-issue.patch diff --git a/toolchain/gcc/patches/11.2.0/960-gotools-fix-compilation-when-making-cross-compiler.patch b/toolchain/gcc/patches/11.3.0/960-gotools-fix-compilation-when-making-cross-compiler.patch similarity index 100% rename from toolchain/gcc/patches/11.2.0/960-gotools-fix-compilation-when-making-cross-compiler.patch rename to toolchain/gcc/patches/11.3.0/960-gotools-fix-compilation-when-making-cross-compiler.patch diff --git a/toolchain/gcc/patches/11.2.0/970-macos_arm64-building-fix.patch b/toolchain/gcc/patches/11.3.0/970-macos_arm64-building-fix.patch similarity index 100% rename from toolchain/gcc/patches/11.2.0/970-macos_arm64-building-fix.patch rename to toolchain/gcc/patches/11.3.0/970-macos_arm64-building-fix.patch -- 2.30.2