diff options
author | Alexey Neyman <stilor@att.net> | 2018-09-23 13:58:16 -0700 |
---|---|---|
committer | Alexey Neyman <stilor@att.net> | 2018-09-24 23:09:53 -0700 |
commit | 98834458f12d36fb485f4706625a26d2f7e6c69d (patch) | |
tree | c570d5145dbee4daf166593fb95afc63e8f8d27f /packages/gcc | |
parent | eb65ba65ba761f2ff613342498fd58fcefdc606e (diff) | |
download | crosstool-ng-98834458f12d36fb485f4706625a26d2f7e6c69d.tar.gz crosstool-ng-98834458f12d36fb485f4706625a26d2f7e6c69d.tar.bz2 crosstool-ng-98834458f12d36fb485f4706625a26d2f7e6c69d.zip |
Upgrades. Lots of 'em.
Signed-off-by: Alexey Neyman <stilor@att.net>
Diffstat (limited to 'packages/gcc')
-rw-r--r-- | packages/gcc/8.1.0/0018-ARC-Reimplement-return-padding-operation-for-ARC700.patch | 402 | ||||
-rw-r--r-- | packages/gcc/8.1.0/0018-xscale.patch | 52 | ||||
-rw-r--r-- | packages/gcc/8.1.0/0020-ARC-Don-t-mention-not-yet-supported-hs4xy-CPUs.patch | 35 | ||||
-rw-r--r-- | packages/gcc/8.1.0/0021-xtensa-fix-PR-target-65416.patch | 101 | ||||
-rw-r--r-- | packages/gcc/8.1.0/chksum | 8 | ||||
-rw-r--r-- | packages/gcc/8.2.0/0000-libtool-leave-framework-alone.patch (renamed from packages/gcc/8.1.0/0000-libtool-leave-framework-alone.patch) | 0 | ||||
-rw-r--r-- | packages/gcc/8.2.0/0001-uclibc-conf.patch (renamed from packages/gcc/8.1.0/0001-uclibc-conf.patch) | 0 | ||||
-rw-r--r-- | packages/gcc/8.2.0/0002-gcc-plugin-Win-Dont-need-undefined-extern-var-refs-nor-fpic.patch (renamed from packages/gcc/8.1.0/0002-gcc-plugin-Win-Dont-need-undefined-extern-var-refs-nor-fpic.patch) | 0 | ||||
-rw-r--r-- | packages/gcc/8.2.0/0003-gcc-plugin-POSIX-include-sys-select-h.patch (renamed from packages/gcc/8.1.0/0003-gcc-plugin-POSIX-include-sys-select-h.patch) | 0 | ||||
-rw-r--r-- | packages/gcc/8.2.0/0004-arm-softfloat-libgcc.patch (renamed from packages/gcc/8.1.0/0004-arm-softfloat-libgcc.patch) | 0 | ||||
-rw-r--r-- | packages/gcc/8.2.0/0005-fix-m68k-uclinux.patch (renamed from packages/gcc/8.1.0/0005-fix-m68k-uclinux.patch) | 0 | ||||
-rw-r--r-- | packages/gcc/8.2.0/0006-libgfortran-missing-include.patch (renamed from packages/gcc/8.1.0/0006-libgfortran-missing-include.patch) | 0 | ||||
-rw-r--r-- | packages/gcc/8.2.0/0007-nios2-bad-multilib-default.patch (renamed from packages/gcc/8.1.0/0007-nios2-bad-multilib-default.patch) | 0 | ||||
-rw-r--r-- | packages/gcc/8.2.0/0008-libgcc-disable-split-stack-nothreads.patch (renamed from packages/gcc/8.1.0/0008-libgcc-disable-split-stack-nothreads.patch) | 0 | ||||
-rw-r--r-- | packages/gcc/8.2.0/0009-bionic-ndk.patch (renamed from packages/gcc/8.1.0/0009-bionic-ndk.patch) | 0 | ||||
-rw-r--r-- | packages/gcc/8.2.0/0010-crystax.patch (renamed from packages/gcc/8.1.0/0010-crystax.patch) | 4 | ||||
-rw-r--r-- | packages/gcc/8.2.0/0011-crystax.patch (renamed from packages/gcc/8.1.0/0011-crystax.patch) | 0 | ||||
-rw-r--r-- | packages/gcc/8.2.0/0012-crystax.patch (renamed from packages/gcc/8.1.0/0012-crystax.patch) | 0 | ||||
-rw-r--r-- | packages/gcc/8.2.0/0013-crystax.patch (renamed from packages/gcc/8.1.0/0013-crystax.patch) | 2 | ||||
-rw-r--r-- | packages/gcc/8.2.0/0014-crystax.patch (renamed from packages/gcc/8.1.0/0014-crystax.patch) | 0 | ||||
-rw-r--r-- | packages/gcc/8.2.0/0015-crystax.patch (renamed from packages/gcc/8.1.0/0015-crystax.patch) | 0 | ||||
-rw-r--r-- | packages/gcc/8.2.0/0016-crystax.patch (renamed from packages/gcc/8.1.0/0016-crystax.patch) | 0 | ||||
-rw-r--r-- | packages/gcc/8.2.0/0017-crystax.patch (renamed from packages/gcc/8.1.0/0017-crystax.patch) | 0 | ||||
-rw-r--r-- | packages/gcc/8.2.0/0018-ARC-Add-multilib-support-for-linux-targets.patch (renamed from packages/gcc/8.1.0/0019-ARC-Add-multilib-support-for-linux-targets.patch) | 14 | ||||
-rw-r--r-- | packages/gcc/8.2.0/chksum | 8 | ||||
-rw-r--r-- | packages/gcc/8.2.0/version.desc (renamed from packages/gcc/8.1.0/version.desc) | 0 |
26 files changed, 14 insertions, 612 deletions
diff --git a/packages/gcc/8.1.0/0018-ARC-Reimplement-return-padding-operation-for-ARC700.patch b/packages/gcc/8.1.0/0018-ARC-Reimplement-return-padding-operation-for-ARC700.patch deleted file mode 100644 index e876ed44..00000000 --- a/packages/gcc/8.1.0/0018-ARC-Reimplement-return-padding-operation-for-ARC700.patch +++ /dev/null @@ -1,402 +0,0 @@ -From cc11539ff23bd2c3136f826a18d8010ac34dc518 Mon Sep 17 00:00:00 2001 -From: Claudiu Zissulescu <claziss@synopsys.com> -Date: Fri, 24 Mar 2017 11:55:54 +0100 -Subject: [PATCH] [ARC] Reimplement return padding operation for ARC700. - -For ARC700, adding padding if necessary to avoid a mispredict. A -return could happen immediately after the function start. A -call/return and return/return must be 6 bytes apart to avoid -mispredict. - -The old implementation was doing this operation very late in the -compilation process, and the additional nop instructions and/or -forcing some other instruction to take their long form was not taken -into account when generating brcc instructions. Thus, wrong code could -be generated. - -gcc/ -2017-03-24 Claudiu Zissulescu <claziss@synopsys.com> - - * config/arc/arc-protos.h (arc_pad_return): Remove. - * config/arc/arc.c (machine_function): Remove force_short_suffix - and size_reason. - (arc_print_operand): Adjust printing of '&'. - (arc_verify_short): Remove conditional printing of short suffix. - (arc_final_prescan_insn): Remove reference to size_reason. - (pad_return): New function. - (arc_reorg): Call pad_return. - (arc_pad_return): Remove. - (arc_init_machine_status): Remove reference to force_short_suffix. - * config/arc/arc.md (vunspec): Add VUNSPEC_ARC_BLOCKAGE. - (attr length): When attribute iscompact is true force to 2 - regardless; in the case of maybe check if we want to force the - instruction to have 4 bytes length. - (nopv): Change it to generate 4 byte long nop as well. - (blockage): New pattern. - (simple_return): Remove call to arc_pad_return. - (p_return_i): Likewise. - -gcc/testsuite/ -2017-03-24 Claudiu Zissulescu <claziss@synopsys.com> - - * gcc.target/arc/pr9001107555.c: New file. ---- - gcc/config/arc/arc-protos.h | 1 - - gcc/config/arc/arc.c | 156 +++++++++----------- - gcc/config/arc/arc.md | 26 +++- - gcc/testsuite/gcc.target/arc/pr9001107555.c | 38 +++++ - 4 files changed, 128 insertions(+), 93 deletions(-) - create mode 100644 gcc/testsuite/gcc.target/arc/pr9001107555.c - -diff --git a/gcc/config/arc/arc-protos.h b/gcc/config/arc/arc-protos.h -index 0ba6871628ad..cb5909564eac 100644 ---- a/gcc/config/arc/arc-protos.h -+++ b/gcc/config/arc/arc-protos.h -@@ -93,7 +93,6 @@ extern void arc_clear_unalign (void); - extern void arc_toggle_unalign (void); - extern void split_addsi (rtx *); - extern void split_subsi (rtx *); --extern void arc_pad_return (void); - extern void arc_split_move (rtx *); - extern const char *arc_short_long (rtx_insn *insn, const char *, const char *); - extern rtx arc_regno_use_in (unsigned int, rtx); -diff --git a/gcc/config/arc/arc.c b/gcc/config/arc/arc.c -index 2e6fbcb70c6c..79c2d72b4cb3 100644 ---- a/gcc/config/arc/arc.c -+++ b/gcc/config/arc/arc.c -@@ -2564,8 +2564,6 @@ typedef struct GTY (()) machine_function - struct arc_frame_info frame_info; - /* To keep track of unalignment caused by short insns. */ - int unalign; -- int force_short_suffix; /* Used when disgorging return delay slot insns. */ -- const char *size_reason; - struct arc_ccfsm ccfsm_current; - /* Map from uid to ccfsm state during branch shortening. */ - rtx ccfsm_current_insn; -@@ -4220,7 +4218,7 @@ arc_print_operand (FILE *file, rtx x, int code) - } - break; - case '&': -- if (TARGET_ANNOTATE_ALIGN && cfun->machine->size_reason) -+ if (TARGET_ANNOTATE_ALIGN) - fprintf (file, "; unalign: %d", cfun->machine->unalign); - return; - case '+': -@@ -4906,7 +4904,6 @@ static int - arc_verify_short (rtx_insn *insn, int, int check_attr) - { - enum attr_iscompact iscompact; -- struct machine_function *machine; - - if (check_attr > 0) - { -@@ -4914,10 +4911,6 @@ arc_verify_short (rtx_insn *insn, int, int check_attr) - if (iscompact == ISCOMPACT_FALSE) - return 0; - } -- machine = cfun->machine; -- -- if (machine->force_short_suffix >= 0) -- return machine->force_short_suffix; - - return (get_attr_length (insn) & 2) != 0; - } -@@ -4956,8 +4949,6 @@ arc_final_prescan_insn (rtx_insn *insn, rtx *opvec ATTRIBUTE_UNUSED, - cfun->machine->prescan_initialized = 1; - } - arc_ccfsm_advance (insn, &arc_ccfsm_current); -- -- cfun->machine->size_reason = 0; - } - - /* Given FROM and TO register numbers, say whether this elimination is allowed. -@@ -7599,6 +7590,76 @@ jli_call_scan (void) - } - } - -+/* Add padding if necessary to avoid a mispredict. A return could -+ happen immediately after the function start. A call/return and -+ return/return must be 6 bytes apart to avoid mispredict. */ -+ -+static void -+pad_return (void) -+{ -+ rtx_insn *insn; -+ long offset; -+ -+ if (!TARGET_PAD_RETURN) -+ return; -+ -+ for (insn = get_insns (); insn; insn = NEXT_INSN (insn)) -+ { -+ rtx_insn *prev0 = prev_active_insn (insn); -+ bool wantlong = false; -+ -+ if (!INSN_P (insn) || GET_CODE (PATTERN (insn)) != SIMPLE_RETURN) -+ continue; -+ -+ if (!prev0) -+ { -+ prev0 = emit_insn_before (gen_nopv (), insn); -+ /* REG_SAVE_NOTE is used by Haifa scheduler, we are in reorg -+ so it is safe to reuse it for forcing a particular length -+ for an instruction. */ -+ add_reg_note (prev0, REG_SAVE_NOTE, GEN_INT (1)); -+ emit_insn_before (gen_nopv (), insn); -+ continue; -+ } -+ offset = get_attr_length (prev0); -+ -+ if (get_attr_length (prev0) == 2 -+ && get_attr_iscompact (prev0) != ISCOMPACT_TRUE) -+ { -+ /* Force long version of the insn. */ -+ wantlong = true; -+ offset += 2; -+ } -+ -+ rtx_insn *prev = prev_active_insn (prev0); -+ if (prev) -+ offset += get_attr_length (prev); -+ -+ prev = prev_active_insn (prev); -+ if (prev) -+ offset += get_attr_length (prev); -+ -+ switch (offset) -+ { -+ case 2: -+ prev = emit_insn_before (gen_nopv (), insn); -+ add_reg_note (prev, REG_SAVE_NOTE, GEN_INT (1)); -+ break; -+ case 4: -+ emit_insn_before (gen_nopv (), insn); -+ break; -+ default: -+ continue; -+ } -+ -+ if (wantlong) -+ add_reg_note (prev0, REG_SAVE_NOTE, GEN_INT (1)); -+ -+ /* Emit a blockage to avoid delay slot scheduling. */ -+ emit_insn_before (gen_blockage(), insn); -+ } -+} -+ - static int arc_reorg_in_progress = 0; - - /* ARC's machince specific reorg function. */ -@@ -7624,6 +7685,7 @@ arc_reorg (void) - - workaround_arc_anomaly (); - jli_call_scan (); -+ pad_return (); - - /* FIXME: should anticipate ccfsm action, generate special patterns for - to-be-deleted branches that have no delay slot and have at least the -@@ -9332,79 +9394,6 @@ arc_branch_size_unknown_p (void) - return !optimize_size && arc_reorg_in_progress; - } - --/* We are about to output a return insn. Add padding if necessary to avoid -- a mispredict. A return could happen immediately after the function -- start, but after a call we know that there will be at least a blink -- restore. */ -- --void --arc_pad_return (void) --{ -- rtx_insn *insn = current_output_insn; -- rtx_insn *prev = prev_active_insn (insn); -- int want_long; -- -- if (!prev) -- { -- fputs ("\tnop_s\n", asm_out_file); -- cfun->machine->unalign ^= 2; -- want_long = 1; -- } -- /* If PREV is a sequence, we know it must be a branch / jump or a tailcall, -- because after a call, we'd have to restore blink first. */ -- else if (GET_CODE (PATTERN (prev)) == SEQUENCE) -- return; -- else -- { -- want_long = (get_attr_length (prev) == 2); -- prev = prev_active_insn (prev); -- } -- if (!prev -- || ((NONJUMP_INSN_P (prev) && GET_CODE (PATTERN (prev)) == SEQUENCE) -- ? CALL_ATTR (as_a <rtx_sequence *> (PATTERN (prev))->insn (0), -- NON_SIBCALL) -- : CALL_ATTR (prev, NON_SIBCALL))) -- { -- if (want_long) -- cfun->machine->size_reason -- = "call/return and return/return must be 6 bytes apart to avoid mispredict"; -- else if (TARGET_UNALIGN_BRANCH && cfun->machine->unalign) -- { -- cfun->machine->size_reason -- = "Long unaligned jump avoids non-delay slot penalty"; -- want_long = 1; -- } -- /* Disgorge delay insn, if there is any, and it may be moved. */ -- if (final_sequence -- /* ??? Annulled would be OK if we can and do conditionalize -- the delay slot insn accordingly. */ -- && !INSN_ANNULLED_BRANCH_P (insn) -- && (get_attr_cond (insn) != COND_USE -- || !reg_set_p (gen_rtx_REG (CCmode, CC_REG), -- XVECEXP (final_sequence, 0, 1)))) -- { -- prev = as_a <rtx_insn *> (XVECEXP (final_sequence, 0, 1)); -- gcc_assert (!prev_real_insn (insn) -- || !arc_hazard (prev_real_insn (insn), prev)); -- cfun->machine->force_short_suffix = !want_long; -- rtx save_pred = current_insn_predicate; -- final_scan_insn (prev, asm_out_file, optimize, 1, NULL); -- cfun->machine->force_short_suffix = -1; -- prev->set_deleted (); -- current_output_insn = insn; -- current_insn_predicate = save_pred; -- } -- else if (want_long) -- fputs ("\tnop\n", asm_out_file); -- else -- { -- fputs ("\tnop_s\n", asm_out_file); -- cfun->machine->unalign ^= 2; -- } -- } -- return; --} -- - /* The usual; we set up our machine_function data. */ - - static struct machine_function * -@@ -9413,7 +9402,6 @@ arc_init_machine_status (void) - struct machine_function *machine; - machine = ggc_cleared_alloc<machine_function> (); - machine->fn_type = ARC_FUNCTION_UNKNOWN; -- machine->force_short_suffix = -1; - - return machine; - } -diff --git a/gcc/config/arc/arc.md b/gcc/config/arc/arc.md -index d19e99daca72..fcc6e0692dd1 100644 ---- a/gcc/config/arc/arc.md -+++ b/gcc/config/arc/arc.md -@@ -161,6 +161,7 @@ - VUNSPEC_ARC_CAS - VUNSPEC_ARC_SC - VUNSPEC_ARC_LL -+ VUNSPEC_ARC_BLOCKAGE - ]) - - (define_constants -@@ -384,13 +385,18 @@ - ;; and insn lengths: insns with shimm values cannot be conditionally executed. - (define_attr "length" "" - (cond -- [(eq_attr "iscompact" "true,maybe") -+ [(eq_attr "iscompact" "true") -+ (const_int 2) -+ -+ (eq_attr "iscompact" "maybe") - (cond - [(eq_attr "type" "sfunc") - (cond [(match_test "GET_CODE (PATTERN (insn)) == COND_EXEC") - (const_int 12)] - (const_int 10)) -- (match_test "GET_CODE (PATTERN (insn)) == COND_EXEC") (const_int 4)] -+ (match_test "GET_CODE (PATTERN (insn)) == COND_EXEC") (const_int 4) -+ (match_test "find_reg_note (insn, REG_SAVE_NOTE, GEN_INT (1))") -+ (const_int 4)] - (const_int 2)) - - (eq_attr "iscompact" "true_limm") -@@ -4438,8 +4444,16 @@ - "" - "nop%?" - [(set_attr "type" "misc") -- (set_attr "iscompact" "true") -- (set_attr "length" "2")]) -+ (set_attr "iscompact" "maybe") -+ (set_attr "length" "*")]) -+ -+(define_insn "blockage" -+ [(unspec_volatile [(const_int 0)] VUNSPEC_ARC_BLOCKAGE)] -+ "" -+ "" -+ [(set_attr "length" "0") -+ (set_attr "type" "block")] -+) - - ;; Split up troublesome insns for better scheduling. - -@@ -4984,8 +4998,6 @@ - { - return \"rtie\"; - } -- if (TARGET_PAD_RETURN) -- arc_pad_return (); - output_asm_insn (\"j%!%* [%0]%&\", ®); - return \"\"; - } -@@ -5029,8 +5041,6 @@ - arc_return_address_register (arc_compute_function_type - (cfun))); - -- if (TARGET_PAD_RETURN) -- arc_pad_return (); - output_asm_insn (\"j%d0%!%# [%1]%&\", xop); - /* record the condition in case there is a delay insn. */ - arc_ccfsm_record_condition (xop[0], false, insn, 0); -diff --git a/gcc/testsuite/gcc.target/arc/pr9001107555.c b/gcc/testsuite/gcc.target/arc/pr9001107555.c -new file mode 100644 -index 000000000000..134426d33d93 ---- /dev/null -+++ b/gcc/testsuite/gcc.target/arc/pr9001107555.c -@@ -0,0 +1,38 @@ -+/* { dg-do assemble } * -+/* { dg-skip-if "" { ! { clmcpu } } } */ -+/* { dg-options "-O3 -w -funroll-loops -mno-sdata -mcpu=arc700" } */ -+ -+typedef a __attribute__((__mode__(__DI__))); -+typedef struct c c; -+struct b { -+ int d; -+ c *e -+}; -+enum { f }; -+typedef struct { -+ a g; -+ a h; -+ int i -+} j; -+struct c { -+ int count; -+ int current -+}; -+k; -+l(struct b *demux, __builtin_va_list args) { -+ c m = *demux->e; -+ j *n; -+ switch (k) -+ case f: { -+ a o = __builtin_va_arg(args, a); -+ m.current = 0; -+ while (m.current < m.count) { -+ if (n[m.current].h > o) { -+ p(demux->d, 4 + 128LL * n[m.current].i); -+ break; -+ } -+ m.current++; -+ } -+ return 0; -+ } -+} --- -2.17.0 - diff --git a/packages/gcc/8.1.0/0018-xscale.patch b/packages/gcc/8.1.0/0018-xscale.patch deleted file mode 100644 index 62654c2d..00000000 --- a/packages/gcc/8.1.0/0018-xscale.patch +++ /dev/null @@ -1,52 +0,0 @@ -commit f18d79595db4ae88dbd40d73bb2d1ea191a756a1 -Author: rearnsha <rearnsha@138bc75d-0d04-0410-961f-82ee72b054a4> -Date: Mon Jun 4 08:41:45 2018 +0000 - - [arm] PR target/86003 build failures with --with-cpu=xscale - - The XScale cpu configuration in GCC has always been somewhat - non-conforming. Although XScale isn't an architecture (it's simply an - implementation of ARMv5te), we do by tradition emit a specific - pre-define for it. We achieve this effect by adding an additional - feature bit to the xscale CPU definition that isn't part of the base - architecture. - - When I restructured the options last year I overlooked this oddity and - the result, of course, is that this configuration now fails to build - as intended. - - What happens is that the driver (correctly) constructs an architecture - for the xscale cpu name (as armv5te) and passes it in addition to the - CPU name. The backend code, on finding both a cpu and an architecture - specifies attempts to correlate the two and finds a difference due to - the additional feature bit and reports an inconsistency (fatally if - -werror is specified). - - I think the best fix to this is to treat the xscale feature bit using - the same mechanism that we use for other 'quirks' in CPU - implementations and simply filter it out before comparing the - capabilities. It has the additional benefit that it's also the - simplest fix. - - PR target/86003 - * config/arm/arm-cpus.in (ALL_QUIRKS): Add xscale feature to the list - of bits to ignore when comparing architectures. - - - git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@261140 138bc75d-0d04-0410-961f-82ee72b054a4 - -diff --git a/gcc/config/arm/arm-cpus.in b/gcc/config/arm/arm-cpus.in -index aec73b5cae0..661bf1a573c 100644 ---- a/gcc/config/arm/arm-cpus.in -+++ b/gcc/config/arm/arm-cpus.in -@@ -254,7 +254,9 @@ define fgroup DOTPROD NEON dotprod - - # List of all quirk bits to strip out when comparing CPU features with - # architectures. --define fgroup ALL_QUIRKS quirk_no_volatile_ce quirk_armv6kz quirk_cm3_ldrd -+# xscale isn't really a 'quirk', but it isn't an architecture either and we -+# need to ignore it for matching purposes. -+define fgroup ALL_QUIRKS quirk_no_volatile_ce quirk_armv6kz quirk_cm3_ldrd xscale - - # Architecture entries - # format: diff --git a/packages/gcc/8.1.0/0020-ARC-Don-t-mention-not-yet-supported-hs4xy-CPUs.patch b/packages/gcc/8.1.0/0020-ARC-Don-t-mention-not-yet-supported-hs4xy-CPUs.patch deleted file mode 100644 index 8c8af88d..00000000 --- a/packages/gcc/8.1.0/0020-ARC-Don-t-mention-not-yet-supported-hs4xy-CPUs.patch +++ /dev/null @@ -1,35 +0,0 @@ -From f191ab7e686b13f77ccb8de52674f7777dbaa0fc Mon Sep 17 00:00:00 2001 -From: Alexey Brodkin <abrodkin@synopsys.com> -Date: Wed, 16 May 2018 15:06:53 +0300 -Subject: [PATCH] ARC: Don't mention not yet supported hs4xy CPUs - -hs4x and hs4xd were mistakenly mentioned in MULTILIB_OPTION/DIRNAMES -before real support of those CPUs was accepted in upstream. - -That breaks multilib toolchains building becase we're trying to compile -for not yet known CPU. - -Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com> ---- - gcc/config/arc/t-multilib | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/gcc/config/arc/t-multilib b/gcc/config/arc/t-multilib -index d9ab0ca1da3c..08add5492f0b 100644 ---- a/gcc/config/arc/t-multilib -+++ b/gcc/config/arc/t-multilib -@@ -21,9 +21,9 @@ - # along with GCC; see the file COPYING3. If not see - # <http://www.gnu.org/licenses/>. - --MULTILIB_OPTIONS = mcpu=em/mcpu=em_mini/mcpu=arcem/mcpu=em4/mcpu=em4_dmips/mcpu=em4_fpus/mcpu=em4_fpuda/mcpu=quarkse_em/mcpu=hs/mcpu=archs/mcpu=hs34/mcpu=hs38/mcpu=hs38_linux/mcpu=hs4x/mcpu=hs4xd/mcpu=arc600/mcpu=arc600_norm/mcpu=arc600_mul64/mcpu=arc600_mul32x16/mcpu=arc601/mcpu=arc601_norm/mcpu=arc601_mul64/mcpu=arc601_mul32x16/mcpu=arc700/mcpu=nps400 -+MULTILIB_OPTIONS = mcpu=em/mcpu=em_mini/mcpu=arcem/mcpu=em4/mcpu=em4_dmips/mcpu=em4_fpus/mcpu=em4_fpuda/mcpu=quarkse_em/mcpu=hs/mcpu=archs/mcpu=hs34/mcpu=hs38/mcpu=hs38_linux/mcpu=arc600/mcpu=arc600_norm/mcpu=arc600_mul64/mcpu=arc600_mul32x16/mcpu=arc601/mcpu=arc601_norm/mcpu=arc601_mul64/mcpu=arc601_mul32x16/mcpu=arc700/mcpu=nps400 - --MULTILIB_DIRNAMES = em em_mini arcem em4 em4_dmips em4_fpus em4_fpuda quarkse_em hs archs hs34 hs38 hs38_linux hs4x hs4xd arc600 arc600_norm arc600_mul64 arc600_mul32x16 arc601 arc601_norm arc601_mul64 arc601_mul32x16 arc700 nps400 -+MULTILIB_DIRNAMES = em em_mini arcem em4 em4_dmips em4_fpus em4_fpuda quarkse_em hs archs hs34 hs38 hs38_linux arc600 arc600_norm arc600_mul64 arc600_mul32x16 arc601 arc601_norm arc601_mul64 arc601_mul32x16 arc700 nps400 - - # Aliases: - MULTILIB_MATCHES = mcpu?arc600=mcpu?ARC600 --- -2.17.0 - diff --git a/packages/gcc/8.1.0/0021-xtensa-fix-PR-target-65416.patch b/packages/gcc/8.1.0/0021-xtensa-fix-PR-target-65416.patch deleted file mode 100644 index 252d7845..00000000 --- a/packages/gcc/8.1.0/0021-xtensa-fix-PR-target-65416.patch +++ /dev/null @@ -1,101 +0,0 @@ -From 5a5636f22679a69c60519e14a0d3dae908ea1cca Mon Sep 17 00:00:00 2001 -From: jcmvbkbc <jcmvbkbc@138bc75d-0d04-0410-961f-82ee72b054a4> -Date: Tue, 19 Jun 2018 18:26:07 +0000 -Subject: [PATCH] xtensa: fix PR target/65416 - -The issue is caused by reordering of stack pointer update after stack -space allocation with instructions that write to the allocated stack -space. In windowed ABI register spill area for the previous call frame -is located just below the stack pointer and may be reloaded back into -the register file on movsp. -Implement allocate_stack pattern for windowed ABI configuration and -insert an instruction that prevents reordering of frame memory access -and stack pointer update. - -gcc/ -2018-06-19 Max Filippov <jcmvbkbc@gmail.com> - - * config/xtensa/xtensa.md (UNSPEC_FRAME_BLOCKAGE): New unspec - constant. - (allocate_stack, frame_blockage, *frame_blockage): New patterns. - -git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@261755 138bc75d-0d04-0410-961f-82ee72b054a4 -Signed-off-by: Max Filippov <jcmvbkbc@gmail.com> ---- - gcc/config/xtensa/xtensa.md | 46 +++++++++++++++++++++++++++++++++++++++++++++ - 1 file changed, 46 insertions(+) - -diff --git a/gcc/config/xtensa/xtensa.md b/gcc/config/xtensa/xtensa.md -index 84967dbedc08..209f839cfb0f 100644 ---- a/gcc/config/xtensa/xtensa.md -+++ b/gcc/config/xtensa/xtensa.md -@@ -38,6 +38,7 @@ - (UNSPEC_MEMW 11) - (UNSPEC_LSETUP_START 12) - (UNSPEC_LSETUP_END 13) -+ (UNSPEC_FRAME_BLOCKAGE 14) - - (UNSPECV_SET_FP 1) - (UNSPECV_ENTRY 2) -@@ -1676,6 +1677,32 @@ - - ;; Miscellaneous instructions. - -+;; In windowed ABI stack pointer adjustment must happen before any access -+;; to the space allocated on stack is allowed, otherwise register spill -+;; area may be clobbered. That's what frame blockage is supposed to enforce. -+ -+(define_expand "allocate_stack" -+ [(set (match_operand 0 "nonimmed_operand") -+ (minus (reg A1_REG) (match_operand 1 "add_operand"))) -+ (set (reg A1_REG) -+ (minus (reg A1_REG) (match_dup 1)))] -+ "TARGET_WINDOWED_ABI" -+{ -+ if (CONST_INT_P (operands[1])) -+ { -+ rtx neg_op0 = GEN_INT (-INTVAL (operands[1])); -+ emit_insn (gen_addsi3 (stack_pointer_rtx, stack_pointer_rtx, neg_op0)); -+ } -+ else -+ { -+ emit_insn (gen_subsi3 (stack_pointer_rtx, stack_pointer_rtx, -+ operands[1])); -+ } -+ emit_move_insn (operands[0], virtual_stack_dynamic_rtx); -+ emit_insn (gen_frame_blockage ()); -+ DONE; -+}) -+ - (define_expand "prologue" - [(const_int 0)] - "" -@@ -1767,6 +1794,25 @@ - [(set_attr "length" "0") - (set_attr "type" "nop")]) - -+;; Do not schedule instructions accessing memory before this point. -+ -+(define_expand "frame_blockage" -+ [(set (match_dup 0) -+ (unspec:BLK [(match_dup 1)] UNSPEC_FRAME_BLOCKAGE))] -+ "" -+{ -+ operands[0] = gen_rtx_MEM (BLKmode, gen_rtx_SCRATCH (Pmode)); -+ MEM_VOLATILE_P (operands[0]) = 1; -+ operands[1] = stack_pointer_rtx; -+}) -+ -+(define_insn "*frame_blockage" -+ [(set (match_operand:BLK 0 "" "") -+ (unspec:BLK [(match_operand:SI 1 "" "")] UNSPEC_FRAME_BLOCKAGE))] -+ "" -+ "" -+ [(set_attr "length" "0")]) -+ - (define_insn "trap" - [(trap_if (const_int 1) (const_int 0))] - "" --- -2.11.0 - diff --git a/packages/gcc/8.1.0/chksum b/packages/gcc/8.1.0/chksum deleted file mode 100644 index 0fc6e694..00000000 --- a/packages/gcc/8.1.0/chksum +++ /dev/null @@ -1,8 +0,0 @@ -md5 gcc-8.1.0.tar.xz 65f7c65818dc540b3437605026d329fc -sha1 gcc-8.1.0.tar.xz b34031ba9ff3e248b2c62de0825e49a1e0e01998 -sha256 gcc-8.1.0.tar.xz 1d1866f992626e61349a1ccd0b8d5253816222cdc13390dcfaa74b093aa2b153 -sha512 gcc-8.1.0.tar.xz c96246f34a7aeb404c4525b754dc7f7708a18e06271aadb2b32fef00e6e0940f584e52430bfe2ab01e699c93e3cb418adc113d2622fa826facbec0ec8ce3eb2c -md5 gcc-8.1.0.tar.gz 6a1fabd167fe98c11857181c210fc743 -sha1 gcc-8.1.0.tar.gz f6ec34a732f7c384a54afcb610a4861ccd6bde96 -sha256 gcc-8.1.0.tar.gz af300723841062db6ae24e38e61aaf4fbf3f6e5d9fd3bf60ebbdbf95db4e9f09 -sha512 gcc-8.1.0.tar.gz 4655d31c729e82888a5ee18dd99ef4573a6d4434885e358c9231c795373f16016ad89db3204e297add81995974aff8eb5de82efa1ad9f56827e67c9994a6dee1 diff --git a/packages/gcc/8.1.0/0000-libtool-leave-framework-alone.patch b/packages/gcc/8.2.0/0000-libtool-leave-framework-alone.patch index 1a86e415..1a86e415 100644 --- a/packages/gcc/8.1.0/0000-libtool-leave-framework-alone.patch +++ b/packages/gcc/8.2.0/0000-libtool-leave-framework-alone.patch diff --git a/packages/gcc/8.1.0/0001-uclibc-conf.patch b/packages/gcc/8.2.0/0001-uclibc-conf.patch index aef750af..aef750af 100644 --- a/packages/gcc/8.1.0/0001-uclibc-conf.patch +++ b/packages/gcc/8.2.0/0001-uclibc-conf.patch diff --git a/packages/gcc/8.1.0/0002-gcc-plugin-Win-Dont-need-undefined-extern-var-refs-nor-fpic.patch b/packages/gcc/8.2.0/0002-gcc-plugin-Win-Dont-need-undefined-extern-var-refs-nor-fpic.patch index 20a88df3..20a88df3 100644 --- a/packages/gcc/8.1.0/0002-gcc-plugin-Win-Dont-need-undefined-extern-var-refs-nor-fpic.patch +++ b/packages/gcc/8.2.0/0002-gcc-plugin-Win-Dont-need-undefined-extern-var-refs-nor-fpic.patch diff --git a/packages/gcc/8.1.0/0003-gcc-plugin-POSIX-include-sys-select-h.patch b/packages/gcc/8.2.0/0003-gcc-plugin-POSIX-include-sys-select-h.patch index 5f9a07a2..5f9a07a2 100644 --- a/packages/gcc/8.1.0/0003-gcc-plugin-POSIX-include-sys-select-h.patch +++ b/packages/gcc/8.2.0/0003-gcc-plugin-POSIX-include-sys-select-h.patch diff --git a/packages/gcc/8.1.0/0004-arm-softfloat-libgcc.patch b/packages/gcc/8.2.0/0004-arm-softfloat-libgcc.patch index d9800365..d9800365 100644 --- a/packages/gcc/8.1.0/0004-arm-softfloat-libgcc.patch +++ b/packages/gcc/8.2.0/0004-arm-softfloat-libgcc.patch diff --git a/packages/gcc/8.1.0/0005-fix-m68k-uclinux.patch b/packages/gcc/8.2.0/0005-fix-m68k-uclinux.patch index 02b53bd8..02b53bd8 100644 --- a/packages/gcc/8.1.0/0005-fix-m68k-uclinux.patch +++ b/packages/gcc/8.2.0/0005-fix-m68k-uclinux.patch diff --git a/packages/gcc/8.1.0/0006-libgfortran-missing-include.patch b/packages/gcc/8.2.0/0006-libgfortran-missing-include.patch index 701e7b4f..701e7b4f 100644 --- a/packages/gcc/8.1.0/0006-libgfortran-missing-include.patch +++ b/packages/gcc/8.2.0/0006-libgfortran-missing-include.patch diff --git a/packages/gcc/8.1.0/0007-nios2-bad-multilib-default.patch b/packages/gcc/8.2.0/0007-nios2-bad-multilib-default.patch index 4acc4918..4acc4918 100644 --- a/packages/gcc/8.1.0/0007-nios2-bad-multilib-default.patch +++ b/packages/gcc/8.2.0/0007-nios2-bad-multilib-default.patch diff --git a/packages/gcc/8.1.0/0008-libgcc-disable-split-stack-nothreads.patch b/packages/gcc/8.2.0/0008-libgcc-disable-split-stack-nothreads.patch index df91a9ff..df91a9ff 100644 --- a/packages/gcc/8.1.0/0008-libgcc-disable-split-stack-nothreads.patch +++ b/packages/gcc/8.2.0/0008-libgcc-disable-split-stack-nothreads.patch diff --git a/packages/gcc/8.1.0/0009-bionic-ndk.patch b/packages/gcc/8.2.0/0009-bionic-ndk.patch index 474dd8c0..474dd8c0 100644 --- a/packages/gcc/8.1.0/0009-bionic-ndk.patch +++ b/packages/gcc/8.2.0/0009-bionic-ndk.patch diff --git a/packages/gcc/8.1.0/0010-crystax.patch b/packages/gcc/8.2.0/0010-crystax.patch index 1657cd43..0db3b69b 100644 --- a/packages/gcc/8.1.0/0010-crystax.patch +++ b/packages/gcc/8.2.0/0010-crystax.patch @@ -53,7 +53,7 @@ Date: Wed Jul 29 11:28:29 2015 +0300 esac aarch64_multilibs="${with_multilib_list}" if test "$aarch64_multilibs" = "default"; then -@@ -2128,6 +2132,17 @@ +@@ -2130,6 +2134,17 @@ tm_file="dbxelf.h elfos.h gnu-user.h linux.h linux-android.h glibc-stdint.h ${tm_file} mips/gnu-user.h mips/linux.h mips/linux-common.h" extra_options="${extra_options} linux-android.opt" case ${target} in @@ -446,7 +446,7 @@ Date: Wed Jul 29 11:28:29 2015 +0300 #if ((defined(_LIBOBJC) || defined(_LIBOBJC_WEAK)) \ --- a/libstdc++-v3/configure +++ b/libstdc++-v3/configure -@@ -78478,6 +78478,18 @@ +@@ -78491,6 +78491,18 @@ /* end confdefs.h. */ #include <sys/syscall.h> int lk; diff --git a/packages/gcc/8.1.0/0011-crystax.patch b/packages/gcc/8.2.0/0011-crystax.patch index f1f9eb12..f1f9eb12 100644 --- a/packages/gcc/8.1.0/0011-crystax.patch +++ b/packages/gcc/8.2.0/0011-crystax.patch diff --git a/packages/gcc/8.1.0/0012-crystax.patch b/packages/gcc/8.2.0/0012-crystax.patch index 2bf6cc76..2bf6cc76 100644 --- a/packages/gcc/8.1.0/0012-crystax.patch +++ b/packages/gcc/8.2.0/0012-crystax.patch diff --git a/packages/gcc/8.1.0/0013-crystax.patch b/packages/gcc/8.2.0/0013-crystax.patch index b5209686..3b9347a5 100644 --- a/packages/gcc/8.1.0/0013-crystax.patch +++ b/packages/gcc/8.2.0/0013-crystax.patch @@ -12,7 +12,7 @@ Date: Thu Aug 20 19:11:07 2015 +0300 --- a/gcc/config/i386/i386.c +++ b/gcc/config/i386/i386.c -@@ -15913,6 +15913,7 @@ +@@ -15916,6 +15916,7 @@ else if (!SYMBOL_REF_FAR_ADDR_P (op0) && (SYMBOL_REF_LOCAL_P (op0) || (HAVE_LD_PIE_COPYRELOC diff --git a/packages/gcc/8.1.0/0014-crystax.patch b/packages/gcc/8.2.0/0014-crystax.patch index 8f2eb438..8f2eb438 100644 --- a/packages/gcc/8.1.0/0014-crystax.patch +++ b/packages/gcc/8.2.0/0014-crystax.patch diff --git a/packages/gcc/8.1.0/0015-crystax.patch b/packages/gcc/8.2.0/0015-crystax.patch index 05d67f90..05d67f90 100644 --- a/packages/gcc/8.1.0/0015-crystax.patch +++ b/packages/gcc/8.2.0/0015-crystax.patch diff --git a/packages/gcc/8.1.0/0016-crystax.patch b/packages/gcc/8.2.0/0016-crystax.patch index 8c21a1cc..8c21a1cc 100644 --- a/packages/gcc/8.1.0/0016-crystax.patch +++ b/packages/gcc/8.2.0/0016-crystax.patch diff --git a/packages/gcc/8.1.0/0017-crystax.patch b/packages/gcc/8.2.0/0017-crystax.patch index ccb81fd6..ccb81fd6 100644 --- a/packages/gcc/8.1.0/0017-crystax.patch +++ b/packages/gcc/8.2.0/0017-crystax.patch diff --git a/packages/gcc/8.1.0/0019-ARC-Add-multilib-support-for-linux-targets.patch b/packages/gcc/8.2.0/0018-ARC-Add-multilib-support-for-linux-targets.patch index 61510670..6c0ff277 100644 --- a/packages/gcc/8.1.0/0019-ARC-Add-multilib-support-for-linux-targets.patch +++ b/packages/gcc/8.2.0/0018-ARC-Add-multilib-support-for-linux-targets.patch @@ -22,16 +22,14 @@ gcc/ git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@260434 138bc75d-0d04-0410-961f-82ee72b054a4 --- - gcc/config.gcc | 2 +- - gcc/config/arc/t-multilib-linux | 25 +++++++++++++++++++++++++ + gcc/config.gcc | 2 +- + gcc/config/arc/t-multilib-linux | 25 +++++++++++++++++++++++++ 2 files changed, 26 insertions(+), 1 deletion(-) create mode 100644 gcc/config/arc/t-multilib-linux -diff --git a/gcc/config.gcc b/gcc/config.gcc -index 96ae6a88a0db..d73e2cbc99a1 100644 --- a/gcc/config.gcc +++ b/gcc/config.gcc -@@ -1061,7 +1061,7 @@ arc*-*-elf*) +@@ -1063,7 +1063,7 @@ ;; arc*-*-linux*) tm_file="arc/arc-arch.h dbxelf.h elfos.h gnu-user.h linux.h linux-android.h glibc-stdint.h arc/linux.h ${tm_file}" @@ -40,9 +38,6 @@ index 96ae6a88a0db..d73e2cbc99a1 100644 extra_gcc_objs="driver-arc.o" if test "x$with_cpu" != x; then tm_defines="${tm_defines} TARGET_CPU_BUILD=PROCESSOR_$with_cpu" -diff --git a/gcc/config/arc/t-multilib-linux b/gcc/config/arc/t-multilib-linux -new file mode 100644 -index 000000000000..f357cfc3f926 --- /dev/null +++ b/gcc/config/arc/t-multilib-linux @@ -0,0 +1,25 @@ @@ -71,6 +66,3 @@ index 000000000000..f357cfc3f926 +# Aliases: +MULTILIB_MATCHES += mcpu?arc700=mA7 +MULTILIB_MATCHES += mcpu?arc700=mARC700 --- -2.17.0 - diff --git a/packages/gcc/8.2.0/chksum b/packages/gcc/8.2.0/chksum new file mode 100644 index 00000000..2035f371 --- /dev/null +++ b/packages/gcc/8.2.0/chksum @@ -0,0 +1,8 @@ +md5 gcc-8.2.0.tar.xz 4ab282f414676496483b3e1793d07862 +sha1 gcc-8.2.0.tar.xz 19926bdb6c4b58891015929853d41aeff019d400 +sha256 gcc-8.2.0.tar.xz 196c3c04ba2613f893283977e6011b2345d1cd1af9abeac58e916b1aab3e0080 +sha512 gcc-8.2.0.tar.xz 64898a165f67e136d802a92e7633bf1b06c85266027e52127ea025bf5fc2291b5e858288aac0bdba246e6cdf7c6ec88bc8e0e7f3f6f1985f4297710cafde56ed +md5 gcc-8.2.0.tar.gz ee04f0c22a941f5f17d93809387f2729 +sha1 gcc-8.2.0.tar.gz 3895bb765c2ceecccd6dee86467f6d1bb1994cbd +sha256 gcc-8.2.0.tar.gz 1b0f36be1045ff58cbb9c83743835367b860810f17f0195a4e093458b372020f +sha512 gcc-8.2.0.tar.gz 3182cd248a37ce4c36ad2a43f1910da13325452472ea80855afc21f134c4e4792c29887f5e070fe21c3ff8e5953e59f69343e1d3b968ee1eb2d8b5c8ae9f48fa diff --git a/packages/gcc/8.1.0/version.desc b/packages/gcc/8.2.0/version.desc index e69de29b..e69de29b 100644 --- a/packages/gcc/8.1.0/version.desc +++ b/packages/gcc/8.2.0/version.desc |