From 5733f8a4d0eee309692c30c1b15febc5243f7858 Mon Sep 17 00:00:00 2001
From: CentOS Sources
Date: Apr 23 2015 07:43:35 +0000
Subject: import devtoolset-3-gcc-4.9.2-6.el7
---
diff --git a/.devtoolset-3-gcc.metadata b/.devtoolset-3-gcc.metadata
index 33ad973..9fbbd5e 100644
--- a/.devtoolset-3-gcc.metadata
+++ b/.devtoolset-3-gcc.metadata
@@ -1,5 +1,5 @@
2dc70313e8e2c6610b856d627bce9c9c3f848077 SOURCES/cloog-0.18.1.tar.gz
7f4348418dc3efefd357b32a2b5c8010211ab284 SOURCES/doxygen-1.8.0.src.tar.gz
-007873489c5c44de105b665fe22f1bd481ed24b5 SOURCES/gcc-4.9.1-20140922.tar.bz2
+448bc59af459dd067ee70615f2665f50e74644e4 SOURCES/gcc-4.9.2-20150212.tar.bz2
ca98a91e35fb3ded10d080342065919764d6f928 SOURCES/isl-0.12.2.tar.bz2
5ef03ca7aee134fe7dfecb6c9d048799f0810278 SOURCES/mpc-0.8.1.tar.gz
diff --git a/.gitignore b/.gitignore
index 3b7b746..2dda16f 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,5 +1,5 @@
SOURCES/cloog-0.18.1.tar.gz
SOURCES/doxygen-1.8.0.src.tar.gz
-SOURCES/gcc-4.9.1-20140922.tar.bz2
+SOURCES/gcc-4.9.2-20150212.tar.bz2
SOURCES/isl-0.12.2.tar.bz2
SOURCES/mpc-0.8.1.tar.gz
diff --git a/SOURCES/gcc49-i386-libgomp.patch b/SOURCES/gcc49-i386-libgomp.patch
index 45883a6..520561e 100644
--- a/SOURCES/gcc49-i386-libgomp.patch
+++ b/SOURCES/gcc49-i386-libgomp.patch
@@ -9,12 +9,3 @@
fi
esac
;;
-@@ -79,7 +79,7 @@ if test $enable_linux_futex = yes; then
- config_path="linux/x86 linux posix"
- case " ${CC} ${CFLAGS} " in
- *" -m32 "*)
-- XCFLAGS="${XCFLAGS} -march=i486 -mtune=i686"
-+ XCFLAGS="${XCFLAGS} -march=i486 -mtune=generic"
- ;;
- esac
- ;;
diff --git a/SOURCES/gcc49-libstdc++-docs.patch b/SOURCES/gcc49-libstdc++-docs.patch
index 2c8c2b8..ee8598a 100644
--- a/SOURCES/gcc49-libstdc++-docs.patch
+++ b/SOURCES/gcc49-libstdc++-docs.patch
@@ -4,7 +4,7 @@
FSF
-+ Release 4.9.1
++ Release 4.9.2
+
Permission is granted to copy, distribute and/or modify this
document under the terms of the GNU Free Documentation
@@ -18,7 +18,7 @@
- The API documentation, rendered into HTML, can be viewed online:
+ The API documentation, rendered into HTML, can be viewed here:
-+ for the 4.9.1 release, local
++ for the 4.9.2 release, local
+
+
for the 3.4 release
diff --git a/SOURCES/gcc49-pr56493.patch b/SOURCES/gcc49-pr56493.patch
deleted file mode 100644
index 87603db..0000000
--- a/SOURCES/gcc49-pr56493.patch
+++ /dev/null
@@ -1,76 +0,0 @@
-2013-06-17 Jakub Jelinek
-
- PR c++/56493
- * convert.c (convert_to_real, convert_to_expr, convert_to_complex):
- Handle COMPOUND_EXPR.
-
- * c-c++-common/pr56493.c: New test.
-
---- gcc/convert.c.jj 2013-05-13 09:44:53.000000000 +0200
-+++ gcc/convert.c 2013-06-16 12:16:13.754108523 +0200
-@@ -95,6 +95,15 @@ convert_to_real (tree type, tree expr)
- enum built_in_function fcode = builtin_mathfn_code (expr);
- tree itype = TREE_TYPE (expr);
-
-+ if (TREE_CODE (expr) == COMPOUND_EXPR)
-+ {
-+ tree t = convert_to_real (type, TREE_OPERAND (expr, 1));
-+ if (t == TREE_OPERAND (expr, 1))
-+ return expr;
-+ return build2_loc (EXPR_LOCATION (expr), COMPOUND_EXPR, TREE_TYPE (t),
-+ TREE_OPERAND (expr, 0), t);
-+ }
-+
- /* Disable until we figure out how to decide whether the functions are
- present in runtime. */
- /* Convert (float)sqrt((double)x) where x is float into sqrtf(x) */
-@@ -366,6 +375,15 @@ convert_to_integer (tree type, tree expr
- return error_mark_node;
- }
-
-+ if (ex_form == COMPOUND_EXPR)
-+ {
-+ tree t = convert_to_integer (type, TREE_OPERAND (expr, 1));
-+ if (t == TREE_OPERAND (expr, 1))
-+ return expr;
-+ return build2_loc (EXPR_LOCATION (expr), COMPOUND_EXPR, TREE_TYPE (t),
-+ TREE_OPERAND (expr, 0), t);
-+ }
-+
- /* Convert e.g. (long)round(d) -> lround(d). */
- /* If we're converting to char, we may encounter differing behavior
- between converting from double->char vs double->long->char.
-@@ -854,6 +872,14 @@ convert_to_complex (tree type, tree expr
-
- if (TYPE_MAIN_VARIANT (elt_type) == TYPE_MAIN_VARIANT (subtype))
- return expr;
-+ else if (TREE_CODE (expr) == COMPOUND_EXPR)
-+ {
-+ tree t = convert_to_complex (type, TREE_OPERAND (expr, 1));
-+ if (t == TREE_OPERAND (expr, 1))
-+ return expr;
-+ return build2_loc (EXPR_LOCATION (expr), COMPOUND_EXPR,
-+ TREE_TYPE (t), TREE_OPERAND (expr, 0), t);
-+ }
- else if (TREE_CODE (expr) == COMPLEX_EXPR)
- return fold_build2 (COMPLEX_EXPR, type,
- convert (subtype, TREE_OPERAND (expr, 0)),
---- gcc/testsuite/c-c++-common/pr56493.c.jj 2013-06-17 10:24:36.891659600 +0200
-+++ gcc/testsuite/c-c++-common/pr56493.c 2013-06-17 10:24:33.164720149 +0200
-@@ -0,0 +1,16 @@
-+/* PR c++/56493 */
-+/* { dg-do compile } */
-+/* { dg-options "-O2 -fdump-tree-gimple" } */
-+
-+unsigned long long bar (void);
-+int x;
-+
-+void
-+foo (void)
-+{
-+ x += bar ();
-+}
-+
-+/* Verify we narrow the addition from unsigned long long to unsigned int type. */
-+/* { dg-final { scan-tree-dump " (\[a-zA-Z._0-9]*) = \\(unsigned int\\) \[^;\n\r]*;.* (\[a-zA-Z._0-9]*) = \\(unsigned int\\) \[^;\n\r]*;.* = \\1 \\+ \\2;" "gimple" { target { ilp32 || lp64 } } } } */
-+/* { dg-final { cleanup-tree-dump "gimple" } } */
diff --git a/SOURCES/gcc49-pr63285.patch b/SOURCES/gcc49-pr63285.patch
deleted file mode 100644
index 2216047..0000000
--- a/SOURCES/gcc49-pr63285.patch
+++ /dev/null
@@ -1,50 +0,0 @@
-2014-09-18 Vladimir Makarov
-
- PR debug/63285
- * haifa-sched.c (schedule_block): Advance cycle at the end of BB
- if advance != 0.
-
- * gcc.target/i386/pr63285.c: New test.
-
---- gcc/haifa-sched.c (revision 215363)
-+++ gcc/haifa-sched.c (revision 215364)
-@@ -6473,7 +6473,7 @@ schedule_block (basic_block *target_bb,
- if (ls.modulo_epilogue)
- success = true;
- end_schedule:
-- if (!ls.first_cycle_insn_p)
-+ if (!ls.first_cycle_insn_p || advance)
- advance_one_cycle ();
- perform_replacements_new_cycle ();
- if (modulo_ii > 0)
---- gcc/testsuite/gcc.target/i386/pr63285.c (revision 0)
-+++ gcc/testsuite/gcc.target/i386/pr63285.c (revision 215364)
-@@ -0,0 +1,28 @@
-+/* { dg-do compile } */
-+/* { dg-options "-O2 -fcompare-debug" } */
-+
-+struct S { int a; };
-+struct T { int b, c; } a;
-+long b;
-+int c, d;
-+void bar (int, int);
-+void baz (void *, int);
-+
-+void
-+foo (struct S *x, int y, int z, void *f, int *p, struct T *e)
-+{
-+ while (x)
-+ {
-+ baz (f, &d > p);
-+ if (z & 1)
-+ bar (f > (void *) &f, z);
-+ }
-+ if (c)
-+ {
-+ asm ("" : "+m" (a) : "i" (0));
-+ y--;
-+ }
-+ if (e->b == e->c)
-+ c = y;
-+ y--;
-+}
diff --git a/SOURCES/gcc49-pr64336.patch b/SOURCES/gcc49-pr64336.patch
new file mode 100644
index 0000000..86fddd5
--- /dev/null
+++ b/SOURCES/gcc49-pr64336.patch
@@ -0,0 +1,17 @@
+2014-12-17 Jakub Jelinek
+
+ PR sanitizer/64336
+ * tsan.c (instrument_expr): Ignore TREE_READONLY bit
+ on MEM_REFs.
+
+--- gcc/tsan.c.jj 2014-12-17 10:53:30.000000000 +0100
++++ gcc/tsan.c 2014-12-17 11:55:12.793058159 +0100
+@@ -138,7 +138,7 @@ instrument_expr (gimple_stmt_iterator gs
+ return false;
+ }
+
+- if (TREE_READONLY (base)
++ if ((TREE_READONLY (base) && TREE_CODE (base) != MEM_REF)
+ || (TREE_CODE (base) == VAR_DECL
+ && DECL_HARD_REGISTER (base)))
+ return false;
diff --git a/SOURCES/gcc49-sparc-config-detection.patch b/SOURCES/gcc49-sparc-config-detection.patch
index cd683a0..a37018e 100644
--- a/SOURCES/gcc49-sparc-config-detection.patch
+++ b/SOURCES/gcc49-sparc-config-detection.patch
@@ -2,7 +2,7 @@
+++ gcc/config.gcc 2008-04-24 15:44:51.000000000 -0500
@@ -2656,7 +2656,7 @@ sparc-*-rtems*)
tm_file="${tm_file} dbxelf.h elfos.h sparc/sysv4.h sparc/sp-elf.h sparc/rtemself.h rtems.h newlib-stdint.h"
- tmake_file="${tmake_file} sparc/t-sparc sparc/t-elf sparc/t-rtems"
+ tmake_file="${tmake_file} sparc/t-sparc sparc/t-rtems"
;;
-sparc-*-linux*)
+sparc-*-linux* | sparcv9-*-linux*)
diff --git a/SPECS/gcc.spec b/SPECS/gcc.spec
index 66171a2..ef527d9 100644
--- a/SPECS/gcc.spec
+++ b/SPECS/gcc.spec
@@ -1,12 +1,12 @@
%{?scl:%scl_package gcc}
%{?scl:%global __strip strip}
%{?scl:%global __objdump objdump}
-%global DATE 20140922
-%global SVNREV 215456
-%global gcc_version 4.9.1
+%global DATE 20150212
+%global SVNREV 220644
+%global gcc_version 4.9.2
# Note, gcc_release must be integer, if you want to add suffixes to
# %{release}, append them after %{gcc_release} on Release: line.
-%global gcc_release 10
+%global gcc_release 6
%global mpc_version 0.8.1
%global cloog_version 0.18.1
%global isl_version 0.12.2
@@ -50,7 +50,7 @@
%else
%global build_libcilkrts 0
%endif
-%ifarch %{ix86} x86_64 ppc ppc64 ppc64p7 s390 s390x %{arm} aarch64
+%ifarch %{ix86} x86_64 ppc ppc64 ppc64p7 ppc64le s390 s390x %{arm} aarch64
%global build_libatomic 1
%else
%global build_libatomic 0
@@ -194,7 +194,7 @@ BuildRequires: dblatex, texlive-collection-latex, docbook5-style-xsl
%{?scl:Provides:gcc = %{version}-%{release}}
AutoReq: true
AutoProv: false
-%ifarch sparc64 ppc64 s390x x86_64 ia64
+%ifarch sparc64 ppc64 ppc64le s390x x86_64 ia64
Provides: liblto_plugin.so.0()(64bit)
%else
Provides: liblto_plugin.so.0
@@ -226,6 +226,9 @@ Provides: liblto_plugin.so.0
%ifarch ia64
%global oformat OUTPUT_FORMAT(elf64-ia64-little)
%endif
+%ifarch ppc64le
+%global oformat OUTPUT_FORMAT(elf64-powerpcle)
+%endif
Patch0: gcc49-hack.patch
Patch1: gcc49-java-nomulti.patch
@@ -240,12 +243,11 @@ Patch9: gcc49-cloog-dl2.patch
Patch10: gcc49-pr38757.patch
Patch11: gcc49-libstdc++-docs.patch
Patch12: gcc49-no-add-needed.patch
-Patch14: gcc49-pr56493.patch
-Patch15: gcc49-color-auto.patch
-Patch16: gcc49-libgo-p224.patch
-Patch17: gcc49-aarch64-async-unw-tables.patch
-Patch18: gcc49-aarch64-unwind-opt.patch
-Patch19: gcc49-pr63285.patch
+Patch13: gcc49-color-auto.patch
+Patch14: gcc49-libgo-p224.patch
+Patch15: gcc49-aarch64-async-unw-tables.patch
+Patch16: gcc49-aarch64-unwind-opt.patch
+Patch17: gcc49-pr64336.patch
Patch1000: gcc49-libstdc++-compat.patch
Patch1001: gcc49-libgfortran-compat.patch
@@ -311,7 +313,7 @@ Requires: libstdc++
%else
Requires: libstdc++ >= 4.4.4-13
%endif
-Requires: %{?scl:%{_root_prefix}}%{!?scl:%{_prefix}}/%{_lib}/libstdc++.so.6
+Requires: libstdc++%{?_isa}
Autoreq: true
Autoprov: true
@@ -551,15 +553,14 @@ This package contains the Cilk+ static runtime library.
%patch11 -p0 -b .libstdc++-docs~
%endif
%patch12 -p0 -b .no-add-needed~
-%patch14 -p0 -b .pr56493~
%if 0%{?fedora} >= 20 || 0%{?rhel} >= 7
-%patch15 -p0 -b .color-auto~
+%patch13 -p0 -b .color-auto~
%endif
-%patch16 -p0 -b .libgo-p224~
+%patch14 -p0 -b .libgo-p224~
rm -f libgo/go/crypto/elliptic/p224{,_test}.go
-%patch17 -p0 -b .aarch64-async-unw-tables~
-%patch18 -p0 -b .aarch64-unwind-opt~
-%patch19 -p0 -b .pr63285~
+%patch15 -p0 -b .aarch64-async-unw-tables~
+%patch16 -p0 -b .aarch64-unwind-opt~
+%patch17 -p0 -b .pr64336~
%patch1000 -p0 -b .libstdc++-compat~
%patch1001 -p0 -b .libgfortran-compat~
@@ -591,7 +592,7 @@ cd ..
%endif
%endif
-sed -i -e 's/4\.9\.2/4.9.1/' gcc/BASE-VER
+sed -i -e 's/4\.9\.3/4.9.2/' gcc/BASE-VER
echo 'Red Hat %{version}-%{gcc_release}' > gcc/DEV-PHASE
%if 0%{?rhel} == 6
@@ -1819,6 +1820,9 @@ fi
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/cilk
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/libcilkrts.spec
%endif
+%if %{build_libasan}
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/sanitizer
+%endif
%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_version}/cc1
%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_version}/lto1
%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_version}/lto-wrapper
@@ -2117,10 +2121,12 @@ fi
%endif
%if %{build_libitm}
+%if 0%{?rhel} < 7
%files -n libitm
%defattr(-,root,root,-)
%{?scl:%{_root_prefix}}%{!?scl:%{_prefix}}/%{_lib}/libitm.so.1*
%{?scl:%{_root_infodir}}%{!?scl:%{_infodir}}/libitm.info*
+%endif
%files -n %{?scl_prefix}libitm-devel
%defattr(-,root,root,-)
@@ -2143,9 +2149,11 @@ fi
%endif
%if %{build_libatomic}
+%if 0%{?rhel} < 7
%files -n libatomic
%defattr(-,root,root,-)
%{?scl:%{_root_prefix}}%{!?scl:%{_prefix}}/%{_lib}/libatomic.so.1*
+%endif
%files -n %{?scl_prefix}libatomic-devel
%defattr(-,root,root,-)
@@ -2267,6 +2275,14 @@ fi
%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_version}/plugin
%changelog
+* Thu Feb 12 2015 Jakub Jelinek 4.9.2-6
+- update from 4.9 branch (#1191557, #1190640)
+
+* Fri Jan 9 2015 Jakub Jelinek 4.9.2-5
+- update from 4.9 branch (#1149294, #1025729)
+- don't include libatomic and libitm packages on RHEL 7 (#1160176)
+- avoid file dependency in devtoolset-*-libstdc++-devel package (#1167957)
+
* Mon Sep 22 2014 Jakub Jelinek 4.9.1-10
- update from 4.9 branch
- various -fcompare-debug fixes (#1140872)