gcc: update to version 7.4.0

This updates the GCC to the next minor release which fixes 178 bugs.
The two removed patches are included in gcc 7.4.0

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Tested-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
v19.07.3_mercusys_ac12_duma
Hauke Mehrtens 5 years ago
parent fbaf48387e
commit af1aa07b07

@ -20,4 +20,4 @@ config GCC_VERSION
default "5.5.0" if GCC_VERSION_5 default "5.5.0" if GCC_VERSION_5
default "arc-2017.09-release" if GCC_VERSION_7_1_ARC default "arc-2017.09-release" if GCC_VERSION_7_1_ARC
default "8.2.0" if GCC_VERSION_8 default "8.2.0" if GCC_VERSION_8
default "7.3.0" default "7.4.0"

@ -32,8 +32,8 @@ ifeq ($(PKG_VERSION),5.5.0)
PKG_HASH:=530cea139d82fe542b358961130c69cfde8b3d14556370b65823d2f91f0ced87 PKG_HASH:=530cea139d82fe542b358961130c69cfde8b3d14556370b65823d2f91f0ced87
endif endif
ifeq ($(PKG_VERSION),7.3.0) ifeq ($(PKG_VERSION),7.4.0)
PKG_HASH:=832ca6ae04636adbb430e865a1451adf6979ab44ca1c8374f61fba65645ce15c PKG_HASH:=eddde28d04f334aec1604456e536416549e9b1aa137fc69204e65eb0c009fe51
endif endif
ifeq ($(PKG_VERSION),8.2.0) ifeq ($(PKG_VERSION),8.2.0)

@ -1,178 +0,0 @@
From: redi <redi@138bc75d-0d04-0410-961f-82ee72b054a4>
Date: Mon, 19 Feb 2018 16:02:38 +0000
Subject: [PATCH] PR libstdc++/81797 Add .NOTPARALLEL to include/Makefile for
darwin
Backport from mainline
2018-02-15 Jonathan Wakely <jwakely@redhat.com>
PR libstdc++/81797
* configure.ac (INCLUDE_DIR_NOTPARALLEL): Define.
* configure: Regenerate.
* include/Makefile.am (INCLUDE_DIR_NOTPARALLEL): Add .NOTPARALLEL when
defined.
* include/Makefile.in: Regenerate.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-7-branch@257808 138bc75d-0d04-0410-961f-82ee72b054a4
---
--- a/libstdc++-v3/configure
+++ b/libstdc++-v3/configure
@@ -620,6 +620,8 @@ CPU_DEFINES_SRCDIR
ATOMIC_FLAGS
ATOMIC_WORD_SRCDIR
ATOMICITY_SRCDIR
+INCLUDE_DIR_NOTPARALLEL_FALSE
+INCLUDE_DIR_NOTPARALLEL_TRUE
BUILD_PDF_FALSE
BUILD_PDF_TRUE
PDFLATEX
@@ -11601,7 +11603,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF
-#line 11604 "configure"
+#line 11606 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
@@ -11707,7 +11709,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF
-#line 11710 "configure"
+#line 11712 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
@@ -15393,7 +15395,7 @@ $as_echo "$glibcxx_cv_atomic_long_long"
# Fake what AC_TRY_COMPILE does.
cat > conftest.$ac_ext << EOF
-#line 15396 "configure"
+#line 15398 "configure"
int main()
{
typedef bool atomic_type;
@@ -15428,7 +15430,7 @@ $as_echo "$glibcxx_cv_atomic_bool" >&6;
rm -f conftest*
cat > conftest.$ac_ext << EOF
-#line 15431 "configure"
+#line 15433 "configure"
int main()
{
typedef short atomic_type;
@@ -15463,7 +15465,7 @@ $as_echo "$glibcxx_cv_atomic_short" >&6;
rm -f conftest*
cat > conftest.$ac_ext << EOF
-#line 15466 "configure"
+#line 15468 "configure"
int main()
{
// NB: _Atomic_word not necessarily int.
@@ -15499,7 +15501,7 @@ $as_echo "$glibcxx_cv_atomic_int" >&6; }
rm -f conftest*
cat > conftest.$ac_ext << EOF
-#line 15502 "configure"
+#line 15504 "configure"
int main()
{
typedef long long atomic_type;
@@ -15580,7 +15582,7 @@ $as_echo "$as_me: WARNING: Performance o
# unnecessary for this test.
cat > conftest.$ac_ext << EOF
-#line 15583 "configure"
+#line 15585 "configure"
int main()
{
_Decimal32 d1;
@@ -15622,7 +15624,7 @@ ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
# unnecessary for this test.
cat > conftest.$ac_ext << EOF
-#line 15625 "configure"
+#line 15627 "configure"
template<typename T1, typename T2>
struct same
{ typedef T2 type; };
@@ -15656,7 +15658,7 @@ $as_echo "$enable_int128" >&6; }
rm -f conftest*
cat > conftest.$ac_ext << EOF
-#line 15659 "configure"
+#line 15661 "configure"
template<typename T1, typename T2>
struct same
{ typedef T2 type; };
@@ -81219,6 +81221,18 @@ else
fi
+case "$build" in
+ *-*-darwin* ) glibcxx_include_dir_notparallel=yes ;;
+ * ) glibcxx_include_dir_notparallel=no ;;
+esac
+ if test $glibcxx_include_dir_notparallel = "yes"; then
+ INCLUDE_DIR_NOTPARALLEL_TRUE=
+ INCLUDE_DIR_NOTPARALLEL_FALSE='#'
+else
+ INCLUDE_DIR_NOTPARALLEL_TRUE='#'
+ INCLUDE_DIR_NOTPARALLEL_FALSE=
+fi
+
# Propagate the target-specific source directories through the build chain.
ATOMICITY_SRCDIR=config/${atomicity_dir}
@@ -81913,6 +81927,10 @@ if test -z "${BUILD_PDF_TRUE}" && test -
as_fn_error "conditional \"BUILD_PDF\" was never defined.
Usually this means the macro was only invoked conditionally." "$LINENO" 5
fi
+if test -z "${INCLUDE_DIR_NOTPARALLEL_TRUE}" && test -z "${INCLUDE_DIR_NOTPARALLEL_FALSE}"; then
+ as_fn_error "conditional \"INCLUDE_DIR_NOTPARALLEL\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
: ${CONFIG_STATUS=./config.status}
ac_write_fail=0
--- a/libstdc++-v3/configure.ac
+++ b/libstdc++-v3/configure.ac
@@ -467,6 +467,12 @@ AM_CONDITIONAL(BUILD_PDF,
test $ac_cv_prog_DBLATEX = "yes" &&
test $ac_cv_prog_PDFLATEX = "yes")
+case "$build" in
+ *-*-darwin* ) glibcxx_include_dir_notparallel=yes ;;
+ * ) glibcxx_include_dir_notparallel=no ;;
+esac
+AM_CONDITIONAL(INCLUDE_DIR_NOTPARALLEL,
+ test $glibcxx_include_dir_notparallel = "yes")
# Propagate the target-specific source directories through the build chain.
ATOMICITY_SRCDIR=config/${atomicity_dir}
--- a/libstdc++-v3/include/Makefile.am
+++ b/libstdc++-v3/include/Makefile.am
@@ -1474,3 +1474,8 @@ $(decimal_headers): ; @:
$(ext_headers): ; @:
$(experimental_headers): ; @:
$(experimental_bits_headers): ; @:
+
+if INCLUDE_DIR_NOTPARALLEL
+# See https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81797
+.NOTPARALLEL:
+endif
--- a/libstdc++-v3/include/Makefile.in
+++ b/libstdc++-v3/include/Makefile.in
@@ -1897,6 +1897,9 @@ $(ext_headers): ; @:
$(experimental_headers): ; @:
$(experimental_bits_headers): ; @:
+# See https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81797
+@INCLUDE_DIR_NOTPARALLEL_TRUE@.NOTPARALLEL:
+
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:

@ -1,136 +0,0 @@
From: ebotcazou <ebotcazou@138bc75d-0d04-0410-961f-82ee72b054a4>
Date: Mon, 26 Feb 2018 16:29:30 +0000
Subject: [PATCH] PR rtl-optimization/83496 * reorg.c
(steal_delay_list_from_target): Change REDUNDANT array from booleans to
RTXes. Call fix_reg_dead_note on every non-null element.
(steal_delay_list_from_fallthrough): Call fix_reg_dead_note on a
redundant insn, if any. (relax_delay_slots): Likewise.
(update_reg_unused_notes): Rename REDUNDANT_INSN to OTHER_INSN.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@257996 138bc75d-0d04-0410-961f-82ee72b054a4
---
create mode 120000 gcc/testsuite/gcc.c-torture/execute/20180226-1.c
--- a/gcc/reorg.c
+++ b/gcc/reorg.c
@@ -1035,7 +1035,8 @@ check_annul_list_true_false (int annul_t
static void
steal_delay_list_from_target (rtx_insn *insn, rtx condition, rtx_sequence *seq,
- vec<rtx_insn *> *delay_list, resources *sets,
+ vec<rtx_insn *> *delay_list,
+ struct resources *sets,
struct resources *needed,
struct resources *other_needed,
int slots_to_fill, int *pslots_filled,
@@ -1048,7 +1049,7 @@ steal_delay_list_from_target (rtx_insn *
int used_annul = 0;
int i;
struct resources cc_set;
- bool *redundant;
+ rtx_insn **redundant;
/* We can't do anything if there are more delay slots in SEQ than we
can handle, or if we don't know that it will be a taken branch.
@@ -1087,7 +1088,7 @@ steal_delay_list_from_target (rtx_insn *
if (! targetm.can_follow_jump (insn, seq->insn (0)))
return;
- redundant = XALLOCAVEC (bool, XVECLEN (seq, 0));
+ redundant = XALLOCAVEC (rtx_insn *, XVECLEN (seq, 0));
for (i = 1; i < seq->len (); i++)
{
rtx_insn *trial = seq->insn (i);
@@ -1151,7 +1152,10 @@ steal_delay_list_from_target (rtx_insn *
we therefore decided not to copy. */
for (i = 1; i < seq->len (); i++)
if (redundant[i])
- update_block (seq->insn (i), insn);
+ {
+ fix_reg_dead_note (redundant[i], insn);
+ update_block (seq->insn (i), insn);
+ }
/* Show the place to which we will be branching. */
*pnew_thread = first_active_target_insn (JUMP_LABEL (seq->insn (0)));
@@ -1198,6 +1202,7 @@ steal_delay_list_from_fallthrough (rtx_i
for (i = 1; i < seq->len (); i++)
{
rtx_insn *trial = seq->insn (i);
+ rtx_insn *prior_insn;
/* If TRIAL sets CC0, stealing it will move it too far from the use
of CC0. */
@@ -1209,8 +1214,9 @@ steal_delay_list_from_fallthrough (rtx_i
break;
/* If this insn was already done, we don't need it. */
- if (redundant_insn (trial, insn, *delay_list))
+ if ((prior_insn = redundant_insn (trial, insn, *delay_list)))
{
+ fix_reg_dead_note (prior_insn, insn);
update_block (trial, insn);
delete_from_delay_slot (trial);
continue;
@@ -1790,15 +1796,14 @@ fix_reg_dead_note (rtx_insn *start_insn,
}
}
-/* Delete any REG_UNUSED notes that exist on INSN but not on REDUNDANT_INSN.
+/* Delete any REG_UNUSED notes that exist on INSN but not on OTHER_INSN.
This handles the case of udivmodXi4 instructions which optimize their
- output depending on whether any REG_UNUSED notes are present.
- we must make sure that INSN calculates as many results as REDUNDANT_INSN
- does. */
+ output depending on whether any REG_UNUSED notes are present. We must
+ make sure that INSN calculates as many results as OTHER_INSN does. */
static void
-update_reg_unused_notes (rtx_insn *insn, rtx redundant_insn)
+update_reg_unused_notes (rtx_insn *insn, rtx other_insn)
{
rtx link, next;
@@ -1810,8 +1815,7 @@ update_reg_unused_notes (rtx_insn *insn,
|| !REG_P (XEXP (link, 0)))
continue;
- if (! find_regno_note (redundant_insn, REG_UNUSED,
- REGNO (XEXP (link, 0))))
+ if (!find_regno_note (other_insn, REG_UNUSED, REGNO (XEXP (link, 0))))
remove_note (insn, link);
}
}
@@ -2324,9 +2328,8 @@ follow_jumps (rtx label, rtx_insn *jump,
taken and THREAD_IF_TRUE is set. This is used for the branch at the
end of a loop back up to the top.
- OWN_THREAD and OWN_OPPOSITE_THREAD are true if we are the only user of the
- thread. I.e., it is the fallthrough code of our jump or the target of the
- jump when we are the only jump going there.
+ OWN_THREAD is true if we are the only user of the thread, i.e. it is
+ the target of the jump when we are the only jump going there.
If OWN_THREAD is false, it must be the "true" thread of a jump. In that
case, we can only take insns from the head of the thread for our delay
@@ -3117,7 +3120,7 @@ relax_delay_slots (rtx_insn *first)
/* Look at every JUMP_INSN and see if we can improve it. */
for (insn = first; insn; insn = next)
{
- rtx_insn *other;
+ rtx_insn *other, *prior_insn;
bool crossing;
next = next_active_insn (insn);
@@ -3223,8 +3226,9 @@ relax_delay_slots (rtx_insn *first)
/* See if the first insn in the delay slot is redundant with some
previous insn. Remove it from the delay slot if so; then set up
to reprocess this insn. */
- if (redundant_insn (pat->insn (1), delay_insn, vNULL))
+ if ((prior_insn = redundant_insn (pat->insn (1), delay_insn, vNULL)))
{
+ fix_reg_dead_note (prior_insn, insn);
update_block (pat->insn (1), insn);
delete_from_delay_slot (pat->insn (1));
next = prev_active_insn (next);

@ -7,7 +7,7 @@ Date: Mon Mar 5 00:51:01 2012 +0000
SVN-Revision: 30814 SVN-Revision: 30814
--- a/gcc/config/rs6000/rs6000.c --- a/gcc/config/rs6000/rs6000.c
+++ b/gcc/config/rs6000/rs6000.c +++ b/gcc/config/rs6000/rs6000.c
@@ -27001,7 +27001,7 @@ rs6000_savres_strategy (rs6000_stack_t * @@ -26981,7 +26981,7 @@ rs6000_savres_strategy (rs6000_stack_t *
/* Define cutoff for using out-of-line functions to save registers. */ /* Define cutoff for using out-of-line functions to save registers. */
if (DEFAULT_ABI == ABI_V4 || TARGET_ELF) if (DEFAULT_ABI == ABI_V4 || TARGET_ELF)
{ {

@ -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 ; On SVR4 targets, it also controls whether or not to emit a
--- a/gcc/opts.c --- a/gcc/opts.c
+++ b/gcc/opts.c +++ b/gcc/opts.c
@@ -1934,6 +1934,9 @@ common_handle_option (struct gcc_options @@ -1954,6 +1954,9 @@ common_handle_option (struct gcc_options
opts, opts_set, loc, dc); opts, opts_set, loc, dc);
break; break;
@ -126,7 +126,7 @@ Date: Tue Jul 31 00:52:27 2007 +0000
opts->x_warn_larger_than = value != -1; opts->x_warn_larger_than = value != -1;
--- a/gcc/doc/invoke.texi --- a/gcc/doc/invoke.texi
+++ b/gcc/doc/invoke.texi +++ b/gcc/doc/invoke.texi
@@ -6569,6 +6569,17 @@ This option is only supported for C and @@ -6572,6 +6572,17 @@ This option is only supported for C and
@option{-Wall} and by @option{-Wpedantic}, which can be disabled with @option{-Wall} and by @option{-Wpedantic}, which can be disabled with
@option{-Wno-pointer-sign}. @option{-Wno-pointer-sign}.

@ -22,7 +22,7 @@ Date: Fri Dec 12 17:01:57 2014 +0000
--- a/libstdc++-v3/include/Makefile.in --- a/libstdc++-v3/include/Makefile.in
+++ b/libstdc++-v3/include/Makefile.in +++ b/libstdc++-v3/include/Makefile.in
@@ -1475,7 +1475,7 @@ stamp-bits: ${bits_headers} @@ -1474,7 +1474,7 @@ stamp-bits: ${bits_headers}
@$(STAMP) stamp-bits @$(STAMP) stamp-bits
stamp-bits-sup: stamp-bits ${bits_sup_headers} stamp-bits-sup: stamp-bits ${bits_sup_headers}

@ -63,7 +63,7 @@ Forward ported from attachment to https://gcc.gnu.org/bugzilla/show_bug.cgi?id=4
When preprocessing, handle directives, but do not expand macros. When preprocessing, handle directives, but do not expand macros.
--- a/gcc/doc/invoke.texi --- a/gcc/doc/invoke.texi
+++ b/gcc/doc/invoke.texi +++ b/gcc/doc/invoke.texi
@@ -11865,6 +11865,12 @@ by @option{-fplugin=@var{name}} instead @@ -11871,6 +11871,12 @@ by @option{-fplugin=@var{name}} instead
@option{-fplugin=@var{path}/@var{name}.so}. This option is not meant @option{-fplugin=@var{path}/@var{name}.so}. This option is not meant
to be used by the user, but only passed by the driver. to be used by the user, but only passed by the driver.
Loading…
Cancel
Save