public inbox for git-commits@fedoraproject.org
help / color / mirror / Atom feed
* [rpms/gcc] rhel-f41-base: Merge branch 'master' of ssh://pkgs.fedoraproject.org/gcc
@ 2026-06-29 12:27 Jakub Jelinek
  0 siblings, 0 replies; 3+ messages in thread
From: Jakub Jelinek @ 2026-06-29 12:27 UTC (permalink / raw)
  To: git-commits

A new commit has been pushed.

Repo   : rpms/gcc
Branch : rhel-f41-base
Commit : 395869404d3397fe697212edb6a5ff34d4d3e742
Author : Jakub Jelinek <jakub@redhat.com>
Date   : 2016-02-05T20:34:03+01:00
Stats  : +454/-238 in 10 file(s)
URL    : https://src.fedoraproject.org/rpms/gcc/c/395869404d3397fe697212edb6a5ff34d4d3e742?branch=rhel-f41-base

Log:
Merge branch 'master' of ssh://pkgs.fedoraproject.org/gcc

---
diff --git a/gcc.spec b/gcc.spec
index 93159dc..25e0de2 100644
--- a/gcc.spec
+++ b/gcc.spec
@@ -86,7 +86,7 @@
 Summary: Various compilers (C, C++, Objective-C, Java, ...)
 Name: gcc
 Version: %{gcc_version}
-Release: %{gcc_release}%{?dist}
+Release: %{gcc_release}%{?dist}.1
 # libgcc, libgfortran, libgomp, libstdc++ and crtstuff have
 # GCC Runtime Exception.
 License: GPLv3+ and GPLv3+ with exceptions and GPLv2+ with exceptions and LGPLv2+ and BSD

diff --git a/.gitignore b/.gitignore
index b11fa57..eee8aca 100644
--- a/.gitignore
+++ b/.gitignore
@@ -2,3 +2,4 @@
 /gcc-6.0.0-20160128.tar.bz2
 /gcc-6.0.0-20160129.tar.bz2
 /gcc-6.0.0-20160201.tar.bz2
+/gcc-6.0.0-20160205.tar.bz2

diff --git a/gcc.spec b/gcc.spec
index 72cf370..25e0de2 100644
--- a/gcc.spec
+++ b/gcc.spec
@@ -1,9 +1,9 @@
-%global DATE 20160201
-%global SVNREV 233052
+%global DATE 20160205
+%global SVNREV 233185
 %global gcc_version 6.0.0
 # 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 0.9
+%global gcc_release 0.10
 %global _unpackaged_files_terminate_build 0
 %global _performance_build 1
 # Hardening slows the compiler way too much.
@@ -206,8 +206,11 @@ Patch10: gcc6-no-add-needed.patch
 Patch11: gcc6-libgo-p224.patch
 Patch12: gcc6-aarch64-async-unw-tables.patch
 Patch13: gcc6-libsanitize-aarch64-va42.patch
-Patch14: gcc6-pr69558.patch
-Patch15: gcc6-pr69592.patch
+Patch14: gcc6-pr65932-cse-revert.patch
+Patch15: gcc6-pr69241.patch
+Patch16: gcc6-pr69628.patch
+Patch17: gcc6-pr69658.patch
+Patch18: gcc6-pr69691.patch
 
 # On ARM EABI systems, we do want -gnueabi to be part of the
 # target triple.
@@ -774,8 +777,11 @@ package or when debugging this package.
 rm -f libgo/go/crypto/elliptic/p224{,_test}.go
 %patch12 -p0 -b .aarch64-async-unw-tables~
 %patch13 -p0 -b .libsanitize-aarch64-va42~
-%patch14 -p0 -b .pr69558~
-%patch15 -p0 -b .pr69592~
+%patch14 -p0 -b .pr65932-cse-revert~
+%patch15 -p0 -b .pr69241~
+%patch16 -p0 -b .pr69628~
+%patch17 -p0 -b .pr69658~
+%patch18 -p0 -b .pr69691~
 
 %if 0%{?_enable_debug_packages}
 mkdir dwz-wrapper
@@ -835,7 +841,7 @@ if [ -f "${BUILDDIR}"/debugfiles.list \
   done
   cp -a "${BUILDDIR}"/debugfiles-base.list "${BUILDDIR}"/debugfiles-remove.list
 %if %{build_go}
-  libgoso=`basename .%{_prefix}/%{_lib}/libgo.so.8.*`
+  libgoso=`basename .%{_prefix}/%{_lib}/libgo.so.9.*`
   for f in %{_prefix}/bin/go.gcc \
 	   %{_prefix}/bin/gofmt.gcc \
 	   %{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_version}/cgo \
@@ -846,8 +852,8 @@ if [ -f "${BUILDDIR}"/debugfiles.list \
     rm -f usr/lib/debug$f.debug
     echo "/usr/lib/debug$f.debug" >> "${BUILDDIR}"/debugfiles-remove.list
   done
-  rm -f usr/lib/debug%{_prefix}/%{_lib}/libgo.so.8.debug
-  echo "/usr/lib/debug%{_prefix}/%{_lib}/libgo.so.8.debug" >> "${BUILDDIR}"/debugfiles-remove.list
+  rm -f usr/lib/debug%{_prefix}/%{_lib}/libgo.so.9.debug
+  echo "/usr/lib/debug%{_prefix}/%{_lib}/libgo.so.9.debug" >> "${BUILDDIR}"/debugfiles-remove.list
   for f in `find usr/lib/debug/.build-id -type l`; do
     if ls -l "$f" | egrep -q -- '->.*(/bin/go.gcc|/bin/gofmt.gcc|/cgo|lib[0-9]*/libgo\.so)'; then
       echo "/$f" >> "${BUILDDIR}"/debugfiles-remove.list
@@ -1339,7 +1345,7 @@ ln -sf ../../../libstdc++.so.6.*[0-9] libstdc++.so
 ln -sf ../../../libgfortran.so.3.* libgfortran.so
 ln -sf ../../../libgomp.so.1.* libgomp.so
 %if %{build_go}
-ln -sf ../../../libgo.so.8.* libgo.so
+ln -sf ../../../libgo.so.9.* libgo.so
 %endif
 %if %{build_libquadmath}
 ln -sf ../../../libquadmath.so.0.* libquadmath.so
@@ -1370,7 +1376,7 @@ ln -sf ../../../../%{_lib}/libstdc++.so.6.*[0-9] libstdc++.so
 ln -sf ../../../../%{_lib}/libgfortran.so.3.* libgfortran.so
 ln -sf ../../../../%{_lib}/libgomp.so.1.* libgomp.so
 %if %{build_go}
-ln -sf ../../../../%{_lib}/libgo.so.8.* libgo.so
+ln -sf ../../../../%{_lib}/libgo.so.9.* libgo.so
 %endif
 %if %{build_libquadmath}
 ln -sf ../../../../%{_lib}/libquadmath.so.0.* libquadmath.so
@@ -1491,8 +1497,8 @@ ln -sf ../`echo ../../../../lib/libgfortran.so.3.* | sed s~/lib/~/lib64/~` 64/li
 ln -sf ../`echo ../../../../lib/libgomp.so.1.* | sed s~/lib/~/lib64/~` 64/libgomp.so
 %if %{build_go}
 rm -f libgo.so
-echo 'INPUT ( %{_prefix}/lib/'`echo ../../../../lib/libgo.so.8.* | sed 's,^.*libg,libg,'`' )' > libgo.so
-echo 'INPUT ( %{_prefix}/lib64/'`echo ../../../../lib/libgo.so.8.* | sed 's,^.*libg,libg,'`' )' > 64/libgo.so
+echo 'INPUT ( %{_prefix}/lib/'`echo ../../../../lib/libgo.so.9.* | sed 's,^.*libg,libg,'`' )' > libgo.so
+echo 'INPUT ( %{_prefix}/lib64/'`echo ../../../../lib/libgo.so.9.* | sed 's,^.*libg,libg,'`' )' > 64/libgo.so
 %endif
 %if %{build_libquadmath}
 rm -f libquadmath.so
@@ -1598,8 +1604,8 @@ ln -sf ../`echo ../../../../lib64/libgfortran.so.3.* | sed s~/../lib64/~/~` 32/l
 ln -sf ../`echo ../../../../lib64/libgomp.so.1.* | sed s~/../lib64/~/~` 32/libgomp.so
 %if %{build_go}
 rm -f libgo.so
-echo 'INPUT ( %{_prefix}/lib64/'`echo ../../../../lib64/libgo.so.8.* | sed 's,^.*libg,libg,'`' )' > libgo.so
-echo 'INPUT ( %{_prefix}/lib/'`echo ../../../../lib64/libgo.so.8.* | sed 's,^.*libg,libg,'`' )' > 32/libgo.so
+echo 'INPUT ( %{_prefix}/lib64/'`echo ../../../../lib64/libgo.so.9.* | sed 's,^.*libg,libg,'`' )' > libgo.so
+echo 'INPUT ( %{_prefix}/lib/'`echo ../../../../lib64/libgo.so.9.* | sed 's,^.*libg,libg,'`' )' > 32/libgo.so
 %endif
 %if %{build_libquadmath}
 rm -f libquadmath.so
@@ -1780,7 +1786,7 @@ chmod 755 %{buildroot}%{_prefix}/%{_lib}/libtsan.so.0.*
 chmod 755 %{buildroot}%{_prefix}/%{_lib}/liblsan.so.0.*
 %endif
 %if %{build_go}
-chmod 755 %{buildroot}%{_prefix}/%{_lib}/libgo.so.8.*
+chmod 755 %{buildroot}%{_prefix}/%{_lib}/libgo.so.9.*
 %endif
 chmod 755 %{buildroot}%{_prefix}/%{_lib}/libobjc.so.4.*
 
@@ -2982,7 +2988,7 @@ fi
 %doc rpm.doc/go/*
 
 %files -n libgo
-%{_prefix}/%{_lib}/libgo.so.8*
+%{_prefix}/%{_lib}/libgo.so.9*
 %doc rpm.doc/libgo/*
 
 %files -n libgo-devel
@@ -3068,8 +3074,23 @@ fi
 %doc rpm.doc/changelogs/libcc1/ChangeLog*
 
 %changelog
-* Wed Feb 03 2016 Fedora Release Engineering <releng@fedoraproject.org> - 6.0.0-0.9.1
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
+* Fri Feb  5 2016 Jakub Jelinek <jakub@redhat.com> 6.0.0-0.10
+- update from the trunk
+  - PRs bootstrap/69611, bootstrap/69677, c++/68948, c++/69056, c++/69251,
+	c++/69253, c++/69277, c++/69290, c++/69349, c/69627, c/69669,
+	fortran/67451, fortran/69368, fortran/69418, libstdc++/69626,
+	middle-end/68542, rtl-opt/67609, rtl-optimization/64682,
+	rtl-optimization/69567, rtl-optimization/69577, sanitizer/69276,
+	target/65932, target/67032, target/67714, target/68124, target/68662,
+	target/69118, target/69369, target/69454, target/69461, target/69548,
+	target/69619, target/69625, target/69644, target/69667, target/69677,
+	testsuite/65940, tree-optimization/69580, tree-optimization/69595,
+	tree-optimization/69606
+  - Go 1.6rc1
+- fix various C++ ICEs in assign_temp (PR ipa/69241, PR c++/69649)
+- fix character constant error recovery (PR c++/69628)
+- fix invalid diagnostics on C++ array initializers (PR c++/69658)
+- fix RA subreg handling (PR rtl-optimization/69691)
 
 * Mon Feb  1 2016 Jakub Jelinek <jakub@redhat.com> 6.0.0-0.9
 - update from the trunk

diff --git a/gcc6-pr65932-cse-revert.patch b/gcc6-pr65932-cse-revert.patch
new file mode 100644
index 0000000..12be488
--- /dev/null
+++ b/gcc6-pr65932-cse-revert.patch
@@ -0,0 +1,19 @@
+Revert:
+2016-02-04  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+	PR target/65932
+	PR target/67714
+	* cse.c (cse_insn): Pass NULL to fold_rtx when initially
+	folding the source of a SET.
+ 
+--- gcc/cse.c	(revision 233133)
++++ gcc/cse.c	(revision 233132)
+@@ -4636,7 +4636,7 @@ cse_insn (rtx_insn *insn)
+ 
+       /* Simplify and foldable subexpressions in SRC.  Then get the fully-
+ 	 simplified result, which may not necessarily be valid.  */
+-      src_folded = fold_rtx (src, NULL);
++      src_folded = fold_rtx (src, insn);
+ 
+ #if 0
+       /* ??? This caused bad code to be generated for the m68k port with -O2.

diff --git a/gcc6-pr69241.patch b/gcc6-pr69241.patch
new file mode 100644
index 0000000..74bf6ad
--- /dev/null
+++ b/gcc6-pr69241.patch
@@ -0,0 +1,163 @@
+2016-02-03  Jakub Jelinek  <jakub@redhat.com>
+	    Patrick Palka  <ppalka@gcc.gnu.org>
+
+	PR ipa/69241
+	PR c++/69649
+	* gimplify.c (gimplify_modify_expr): Set lhs even for noreturn
+	calls if the return type is TREE_ADDRESSABLE.
+	* cgraphunit.c (cgraph_node::expand_thunk): Likewise.
+	* ipa-split.c (split_function): Fix doubled "we" in comment.
+	Use void return type for the split part even if
+	!split_point->split_part_set_retval.
+
+	* g++.dg/ipa/pr69241-1.C: New test.
+	* g++.dg/ipa/pr69241-2.C: New test.
+	* g++.dg/ipa/pr69241-3.C: New test.
+	* g++.dg/ipa/pr69649.C: New test.
+
+--- gcc/gimplify.c.jj	2016-02-02 20:42:00.000000000 +0100
++++ gcc/gimplify.c	2016-02-03 11:04:06.400757668 +0100
+@@ -4828,7 +4828,8 @@ gimplify_modify_expr (tree *expr_p, gimp
+ 	    }
+ 	}
+       notice_special_calls (call_stmt);
+-      if (!gimple_call_noreturn_p (call_stmt))
++      if (!gimple_call_noreturn_p (call_stmt)
++	  || TREE_ADDRESSABLE (TREE_TYPE (*to_p)))
+ 	gimple_call_set_lhs (call_stmt, *to_p);
+       assign = call_stmt;
+     }
+--- gcc/cgraphunit.c.jj	2016-01-20 10:55:15.000000000 +0100
++++ gcc/cgraphunit.c	2016-02-03 11:04:41.034279370 +0100
+@@ -1703,7 +1703,8 @@ cgraph_node::expand_thunk (bool output_a
+       bsi = gsi_start_bb (bb);
+ 
+       /* Build call to the function being thunked.  */
+-      if (!VOID_TYPE_P (restype) && !alias_is_noreturn)
++      if (!VOID_TYPE_P (restype)
++	  && (!alias_is_noreturn || TREE_ADDRESSABLE (restype)))
+ 	{
+ 	  if (DECL_BY_REFERENCE (resdecl))
+ 	    {
+@@ -1770,7 +1771,7 @@ cgraph_node::expand_thunk (bool output_a
+ 	      || DECL_BY_REFERENCE (resdecl)))
+         gimple_call_set_return_slot_opt (call, true);
+ 
+-      if (restmp && !alias_is_noreturn)
++      if (restmp)
+ 	{
+           gimple_call_set_lhs (call, restmp);
+ 	  gcc_assert (useless_type_conversion_p (TREE_TYPE (restmp),
+--- gcc/ipa-split.c.jj	2016-01-04 14:55:52.000000000 +0100
++++ gcc/ipa-split.c	2016-02-03 13:01:45.905136051 +0100
+@@ -1254,7 +1254,7 @@ split_function (basic_block return_bb, s
+       else
+ 	main_part_return_p = true;
+     }
+-  /* The main part also returns if we we split on a fallthru edge
++  /* The main part also returns if we split on a fallthru edge
+      and the split part returns.  */
+   if (split_part_return_p)
+     FOR_EACH_EDGE (e, ei, split_point->entry_bb->preds)
+@@ -1364,8 +1364,9 @@ split_function (basic_block return_bb, s
+   /* Now create the actual clone.  */
+   cgraph_edge::rebuild_edges ();
+   node = cur_node->create_version_clone_with_body
+-    (vNULL, NULL, args_to_skip, !split_part_return_p, split_point->split_bbs,
+-     split_point->entry_bb, "part");
++    (vNULL, NULL, args_to_skip,
++     !split_part_return_p || !split_point->split_part_set_retval,
++     split_point->split_bbs, split_point->entry_bb, "part");
+ 
+   node->split_part = true;
+ 
+--- gcc/testsuite/g++.dg/ipa/pr69241-1.C.jj	2016-02-03 10:56:10.624328263 +0100
++++ gcc/testsuite/g++.dg/ipa/pr69241-1.C	2016-02-03 11:01:18.600075039 +0100
+@@ -0,0 +1,12 @@
++// PR ipa/69241
++// { dg-do compile }
++// { dg-options "-O2" }
++
++struct R { R (const R &) {} };
++__attribute__ ((noreturn)) R bar ();
++
++R
++foo ()
++{
++  bar ();
++}
+--- gcc/testsuite/g++.dg/ipa/pr69241-2.C.jj	2016-02-03 10:56:07.996364556 +0100
++++ gcc/testsuite/g++.dg/ipa/pr69241-2.C	2016-02-03 11:01:42.958738639 +0100
+@@ -0,0 +1,18 @@
++// PR ipa/69241
++// { dg-do compile }
++// { dg-options "-O2" }
++
++__attribute__((noreturn)) void foo (int);
++struct R { R (const R &) {} };
++
++R
++bar ()
++{
++  foo (0);
++}
++
++R
++baz ()
++{
++  foo (0);
++}
+--- gcc/testsuite/g++.dg/ipa/pr69241-3.C.jj	2016-02-03 11:00:39.840610317 +0100
++++ gcc/testsuite/g++.dg/ipa/pr69241-3.C	2016-02-03 11:01:02.044303678 +0100
+@@ -0,0 +1,12 @@
++// PR ipa/69241
++// { dg-do compile }
++// { dg-options "-O2" }
++
++struct R { int x[100]; };
++__attribute__ ((noreturn)) R bar ();
++
++void
++foo ()
++{
++  bar ();
++}
+--- gcc/testsuite/g++.dg/ipa/pr69649.C.jj	2016-02-03 13:19:00.850845887 +0100
++++ gcc/testsuite/g++.dg/ipa/pr69649.C	2016-02-03 13:18:43.000000000 +0100
+@@ -0,0 +1,36 @@
++// PR c++/69649
++// { dg-do compile }
++// { dg-options "-O2" }
++
++struct A { virtual void m1 (); };
++struct C : A { void m1 () { m1 (); } };
++template <class T> struct B
++{
++  T *t;
++  B (T *x) : t (x) { if (t) t->m1 (); }
++  B (const B &);
++};
++struct D : public C {};
++struct F : public D
++{
++  virtual B<D> m2 ();
++  virtual B<D> m3 ();
++  int m4 ();
++};
++struct G : F
++{
++  B<D> m2 ();
++  B<D> m3 ();
++};
++B<D> G::m2 ()
++{
++  if (m4 () == 0)
++    return this;
++  return 0;
++}
++B<D> G::m3 ()
++{
++  if (m4 () == 0)
++    return this;
++  return 0;
++}

diff --git a/gcc6-pr69558.patch b/gcc6-pr69558.patch
deleted file mode 100644
index 9d13731..0000000
--- a/gcc6-pr69558.patch
+++ /dev/null
@@ -1,62 +0,0 @@
-2016-01-29  Jakub Jelinek  <jakub@redhat.com>
-
-	PR preprocessor/69543
-	PR c/69558
-	* c-pragma.c (handle_pragma_diagnostic): Pass input_location
-	instead of loc to control_warning_option.
-
-	* gcc.dg/pr69543.c: New test.
-	* gcc.dg/pr69558.c: New test.
-
---- gcc/c-family/c-pragma.c.jj	2016-01-15 21:57:00.000000000 +0100
-+++ gcc/c-family/c-pragma.c	2016-01-29 18:34:51.743943283 +0100
-@@ -819,7 +819,7 @@ handle_pragma_diagnostic(cpp_reader *ARG
-     arg = option_string + 1 + cl_options[option_index].opt_len;
-   control_warning_option (option_index, (int) kind,
- 			  arg, kind != DK_IGNORED,
--			  loc, lang_mask, &handlers,
-+			  input_location, lang_mask, &handlers,
- 			  &global_options, &global_options_set,
- 			  global_dc);
- }
---- gcc/testsuite/gcc.dg/pr69558.c.jj	2016-01-29 18:43:32.191665058 +0100
-+++ gcc/testsuite/gcc.dg/pr69558.c	2016-01-29 18:40:05.000000000 +0100
-@@ -0,0 +1,17 @@
-+/* PR c/69558 */
-+/* { dg-do compile } */
-+/* { dg-options "-Wdeprecated-declarations" } */
-+
-+#define A \
-+  _Pragma ("GCC diagnostic push") \
-+  _Pragma ("GCC diagnostic ignored \"-Wdeprecated-declarations\"")
-+#define B \
-+  _Pragma ("GCC diagnostic pop")
-+#define C(x) \
-+  A \
-+  static inline void bar (void) { x (); } \
-+  B
-+
-+__attribute__((deprecated)) void foo (void); /* { dg-bogus "declared here" } */
-+
-+C (foo) /* { dg-bogus "is deprecated" } */
---- gcc/testsuite/gcc.dg/pr69543.c.jj	2016-01-29 18:45:09.520323395 +0100
-+++ gcc/testsuite/gcc.dg/pr69543.c	2016-01-29 18:44:56.000000000 +0100
-@@ -0,0 +1,18 @@
-+/* PR preprocessor/69543 */
-+/* { dg-do compile } */
-+/* { dg-options "-O2 -Wuninitialized" } */
-+
-+# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \
-+    _Pragma ("GCC diagnostic push") \
-+    _Pragma ("GCC diagnostic ignored \"-Wuninitialized\"")\
-+    _Pragma ("GCC diagnostic ignored \"-Wmaybe-uninitialized\"")
-+# define YY_IGNORE_MAYBE_UNINITIALIZED_END \
-+    _Pragma ("GCC diagnostic pop")
-+
-+void test (char yylval)
-+{
-+  char *yyvsp;
-+  YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
-+  *++yyvsp = yylval;
-+  YY_IGNORE_MAYBE_UNINITIALIZED_END
-+}

diff --git a/gcc6-pr69592.patch b/gcc6-pr69592.patch
deleted file mode 100644
index 2fab52a..0000000
--- a/gcc6-pr69592.patch
+++ /dev/null
@@ -1,154 +0,0 @@
-2016-02-01  Jakub Jelinek  <jakub@redhat.com>
-
-	PR rtl-optimization/69592
-	* rtlanal.c (nonzero_bits_binary_arith_p): New inline function.
-	(cached_nonzero_bits): Use it instead of ARITHMETIC_P.
-	(num_sign_bit_copies_binary_arith_p): New inline function.
-	(cached_num_sign_bit_copies): Use it instead of ARITHMETIC_P.
-
-	* gcc.dg/pr69592.c: New test.
-
---- gcc/rtlanal.c.jj	2016-01-21 21:27:57.000000000 +0100
-+++ gcc/rtlanal.c	2016-02-01 18:53:06.130934333 +0100
-@@ -4163,6 +4163,36 @@ num_sign_bit_copies (const_rtx x, machin
-   return cached_num_sign_bit_copies (x, mode, NULL_RTX, VOIDmode, 0);
- }
- 
-+/* Return true if nonzero_bits1 might recurse into both operands
-+   of X.  */
-+
-+static inline bool
-+nonzero_bits_binary_arith_p (const_rtx x)
-+{
-+  if (!ARITHMETIC_P (x))
-+    return false;
-+  switch (GET_CODE (x))
-+    {
-+    case AND:
-+    case XOR:
-+    case IOR:
-+    case UMIN:
-+    case UMAX:
-+    case SMIN:
-+    case SMAX:
-+    case PLUS:
-+    case MINUS:
-+    case MULT:
-+    case DIV:
-+    case UDIV:
-+    case MOD:
-+    case UMOD:
-+      return true;
-+    default:
-+      return false;
-+    }
-+}
-+
- /* The function cached_nonzero_bits is a wrapper around nonzero_bits1.
-    It avoids exponential behavior in nonzero_bits1 when X has
-    identical subexpressions on the first or the second level.  */
-@@ -4179,7 +4209,7 @@ cached_nonzero_bits (const_rtx x, machin
-      nonzero_bits1 on X with the subexpressions as KNOWN_X and the
-      precomputed value for the subexpression as KNOWN_RET.  */
- 
--  if (ARITHMETIC_P (x))
-+  if (nonzero_bits_binary_arith_p (x))
-     {
-       rtx x0 = XEXP (x, 0);
-       rtx x1 = XEXP (x, 1);
-@@ -4191,13 +4221,13 @@ cached_nonzero_bits (const_rtx x, machin
- 						   known_mode, known_ret));
- 
-       /* Check the second level.  */
--      if (ARITHMETIC_P (x0)
-+      if (nonzero_bits_binary_arith_p (x0)
- 	  && (x1 == XEXP (x0, 0) || x1 == XEXP (x0, 1)))
- 	return nonzero_bits1 (x, mode, x1, mode,
- 			      cached_nonzero_bits (x1, mode, known_x,
- 						   known_mode, known_ret));
- 
--      if (ARITHMETIC_P (x1)
-+      if (nonzero_bits_binary_arith_p (x1)
- 	  && (x0 == XEXP (x1, 0) || x0 == XEXP (x1, 1)))
- 	return nonzero_bits1 (x, mode, x0, mode,
- 			      cached_nonzero_bits (x0, mode, known_x,
-@@ -4672,6 +4702,33 @@ nonzero_bits1 (const_rtx x, machine_mode
- #undef cached_num_sign_bit_copies
- 
- \f
-+/* Return true if num_sign_bit_copies1 might recurse into both operands
-+   of X.  */
-+
-+static inline bool
-+num_sign_bit_copies_binary_arith_p (const_rtx x)
-+{
-+  if (!ARITHMETIC_P (x))
-+    return false;
-+  switch (GET_CODE (x))
-+    {
-+    case IOR:
-+    case AND:
-+    case XOR:
-+    case SMIN:
-+    case SMAX:
-+    case UMIN:
-+    case UMAX:
-+    case PLUS:
-+    case MINUS:
-+    case MULT:
-+      return true;
-+    default:
-+      return false;
-+    }
-+}
-+
-+
- /* The function cached_num_sign_bit_copies is a wrapper around
-    num_sign_bit_copies1.  It avoids exponential behavior in
-    num_sign_bit_copies1 when X has identical subexpressions on the
-@@ -4689,7 +4746,7 @@ cached_num_sign_bit_copies (const_rtx x,
-      num_sign_bit_copies1 on X with the subexpressions as KNOWN_X and
-      the precomputed value for the subexpression as KNOWN_RET.  */
- 
--  if (ARITHMETIC_P (x))
-+  if (num_sign_bit_copies_binary_arith_p (x))
-     {
-       rtx x0 = XEXP (x, 0);
-       rtx x1 = XEXP (x, 1);
-@@ -4703,7 +4760,7 @@ cached_num_sign_bit_copies (const_rtx x,
- 							    known_ret));
- 
-       /* Check the second level.  */
--      if (ARITHMETIC_P (x0)
-+      if (num_sign_bit_copies_binary_arith_p (x0)
- 	  && (x1 == XEXP (x0, 0) || x1 == XEXP (x0, 1)))
- 	return
- 	  num_sign_bit_copies1 (x, mode, x1, mode,
-@@ -4711,7 +4768,7 @@ cached_num_sign_bit_copies (const_rtx x,
- 							    known_mode,
- 							    known_ret));
- 
--      if (ARITHMETIC_P (x1)
-+      if (num_sign_bit_copies_binary_arith_p (x1)
- 	  && (x0 == XEXP (x1, 0) || x0 == XEXP (x1, 1)))
- 	return
- 	  num_sign_bit_copies1 (x, mode, x0, mode,
---- gcc/testsuite/gcc.dg/pr69592.c.jj	2016-02-01 19:02:23.122251761 +0100
-+++ gcc/testsuite/gcc.dg/pr69592.c	2016-02-01 19:00:30.000000000 +0100
-@@ -0,0 +1,16 @@
-+/* PR rtl-optimization/69592 */
-+/* { dg-do compile } */
-+/* { dg-options "-O2" } */
-+
-+unsigned int
-+foo (unsigned int a, unsigned int *b, unsigned int c)
-+{
-+  unsigned int d;
-+#define A(n) d = a + b[n]; if (d < a) c++; a = d;
-+#define B(n) A(n##0) A(n##1) A(n##2) A(n##3) A(n##4) A(n##5) A(n##6) A(n##7) A(n##8) A(n##9)
-+#define C(n) B(n##0) B(n##1) B(n##2) B(n##3) B(n##4) B(n##5) B(n##6) B(n##7) B(n##8) B(n##9)
-+#define D(n) C(n##0) C(n##1) C(n##2) C(n##3) C(n##4) C(n##5) C(n##6) C(n##7) C(n##8) C(n##9)
-+#define E(n) D(n##0) D(n##1) D(n##2) D(n##3) D(n##4) D(n##5) D(n##6) D(n##7) D(n##8) D(n##9)
-+  C(1) C(2) C(3) C(4) C(5) C(6)
-+  return d + c;
-+}

diff --git a/gcc6-pr69628.patch b/gcc6-pr69628.patch
new file mode 100644
index 0000000..2a06d55
--- /dev/null
+++ b/gcc6-pr69628.patch
@@ -0,0 +1,38 @@
+2016-02-03  Jakub Jelinek  <jakub@redhat.com>
+
+	PR c++/69628
+	* charset.c (cpp_interpret_charconst): Clear *PCHARS_SEEN
+	and *UNSIGNEDP if bailing out early due to errors.
+
+	* g++.dg/parse/pr69628.C: New test.
+
+--- libcpp/charset.c.jj	2016-01-04 15:14:08.000000000 +0100
++++ libcpp/charset.c	2016-02-03 13:44:05.100120898 +0100
+@@ -1620,10 +1620,17 @@ cpp_interpret_charconst (cpp_reader *pfi
+   if (token->val.str.len == (size_t) (2 + wide + u8))
+     {
+       cpp_error (pfile, CPP_DL_ERROR, "empty character constant");
++      *pchars_seen = 0;
++      *unsignedp = 0;
++      return 0;
++    }
++  else if (!cpp_interpret_string (pfile, &token->val.str, 1, &str,
++				  token->type))
++    {
++      *pchars_seen = 0;
++      *unsignedp = 0;
+       return 0;
+     }
+-  else if (!cpp_interpret_string (pfile, &token->val.str, 1, &str, token->type))
+-    return 0;
+ 
+   if (wide)
+     result = wide_str_to_charconst (pfile, str, pchars_seen, unsignedp,
+--- gcc/testsuite/g++.dg/parse/pr69628.C.jj	2016-02-03 13:47:55.300061110 +0100
++++ gcc/testsuite/g++.dg/parse/pr69628.C	2016-02-03 13:47:32.000000000 +0100
+@@ -0,0 +1,5 @@
++// PR c++/69628
++// { dg-do compile }
++
++0''; // { dg-error "empty character constant" }
++// { dg-error "expected unqualified-id before numeric constant" "" { target *-*-* } 4 }

diff --git a/gcc6-pr69658.patch b/gcc6-pr69658.patch
new file mode 100644
index 0000000..781e873
--- /dev/null
+++ b/gcc6-pr69658.patch
@@ -0,0 +1,41 @@
+2016-02-04  Jakub Jelinek  <jakub@redhat.com>
+
+	PR c++/69658
+	* init.c (expand_default_init): Only call reshape_init
+	in the direct-initialization from an initializer list case.
+
+	* g++.dg/init/pr69658.C: New test.
+
+--- gcc/cp/init.c.jj	2016-01-29 12:12:46.000000000 +0100
++++ gcc/cp/init.c	2016-02-04 18:53:26.865318337 +0100
+@@ -1636,16 +1636,17 @@ expand_default_init (tree binfo, tree tr
+       gcc_checking_assert ((flags & LOOKUP_ONLYCONVERTING) == 0
+ 			   && TREE_CHAIN (init) == NULL_TREE);
+       init = TREE_VALUE (init);
++      /* Only call reshape_init if it has not been called earlier
++	 by the callers.  */
++      if (BRACE_ENCLOSED_INITIALIZER_P (init) && CP_AGGREGATE_TYPE_P (type))
++	init = reshape_init (type, init, complain);
+     }
+ 
+   if (init && BRACE_ENCLOSED_INITIALIZER_P (init)
+       && CP_AGGREGATE_TYPE_P (type))
+     /* A brace-enclosed initializer for an aggregate.  In C++0x this can
+        happen for direct-initialization, too.  */
+-    {
+-      init = reshape_init (type, init, complain);
+-      init = digest_init (type, init, complain);
+-    }
++    init = digest_init (type, init, complain);
+ 
+   /* A CONSTRUCTOR of the target's type is a previously digested
+      initializer, whether that happened just above or in
+--- gcc/testsuite/g++.dg/init/pr69658.C.jj	2016-02-04 18:55:46.862390961 +0100
++++ gcc/testsuite/g++.dg/init/pr69658.C	2016-02-04 18:54:58.000000000 +0100
+@@ -0,0 +1,6 @@
++// PR c++/69658
++// { dg-do compile }
++
++struct S { S (int); };
++struct T { char n[6]; S s; };
++T t[1] = { { "foo", 1 } };	// { dg-bogus "C99 designator" }

diff --git a/gcc6-pr69691.patch b/gcc6-pr69691.patch
new file mode 100644
index 0000000..528931b
--- /dev/null
+++ b/gcc6-pr69691.patch
@@ -0,0 +1,149 @@
+2016-02-05  Jakub Jelinek  <jakub@redhat.com>
+
+	PR rtl-optimization/69691
+	* lra-eliminations.c (move_plus_up): Don't add the addend twice.
+
+	* gcc.c-torture/execute/pr69691.c: New test.
+
+--- gcc/lra-eliminations.c.jj	2016-01-14 20:57:03.000000000 +0100
++++ gcc/lra-eliminations.c	2016-02-05 16:54:42.142004224 +0100
+@@ -303,7 +303,8 @@ move_plus_up (rtx x)
+ 				 subreg_lowpart_offset (x_mode,
+ 							subreg_reg_mode));
+       if (cst && CONSTANT_P (cst))
+-	return gen_rtx_PLUS (x_mode, lowpart_subreg (x_mode, subreg_reg,
++	return gen_rtx_PLUS (x_mode, lowpart_subreg (x_mode,
++						     XEXP (subreg_reg, 0),
+ 						     subreg_reg_mode), cst);
+     }
+   return x;
+--- gcc/testsuite/gcc.c-torture/execute/pr69691.c.jj	2016-02-05 17:08:31.582557031 +0100
++++ gcc/testsuite/gcc.c-torture/execute/pr69691.c	2016-02-05 17:08:24.000000000 +0100
+@@ -0,0 +1,127 @@
++/* PR rtl-optimization/69691 */
++
++char u[] = { 46, 97, 99, 104, 52, 0 };
++char *v[] = { u, 0 };
++struct S { char a[10]; struct S *b[31]; };
++struct S r[7], *r2 = r;
++static struct S *w = 0;
++
++__attribute__((noinline, noclone)) int
++fn (int x)
++{
++  if (__builtin_strchr (u, x) || x == 96)
++    return x;
++  __builtin_abort ();
++}
++
++__attribute__((noinline, noclone)) int
++foo (char x)
++{
++  if (x == 0)
++    __builtin_abort ();
++  if (fn (x) >= 96 && fn (x) <= 122)
++    return (fn (x) - 96);
++  else if (x == 46)
++    return 0;
++  else
++    {
++      __builtin_printf ("foo %d\n", x);
++      return -1;
++    }
++}
++
++__attribute__((noinline, noclone)) void
++bar (char **x)
++{
++  char **b, c, *d, e[500], *f, g[10];
++  int z, l, h, i;
++  struct S *s;
++
++  w = r2++;
++  for (b = x; *b; b++)
++    {
++      __builtin_strcpy (e, *b);
++      f = e;
++      do
++	{
++	  d = __builtin_strchr (f, 32);
++	  if (d)
++	    *d = 0;
++	  l = __builtin_strlen (f);
++	  h = 0;
++	  s = w;
++	  __builtin_memset (g, 0, sizeof (g));
++	  for (z = 0; z < l; z++)
++	    {
++	      c = f[z];
++	      if (c >= 48 && c <= 57)
++		g[h] = c - 48;
++	      else
++		{
++		  i = foo (c);
++		  if (!s->b[i])
++		    {
++		      s->b[i] = r2++;
++		      if (r2 == &r[7])
++			__builtin_abort ();
++		    }
++		  s = s->b[i];
++		  h++;
++		}
++	    }
++	  __builtin_memcpy (s->a, g, 10);
++	  if (d)
++	    f = d + 1;
++	}
++      while (d);
++    }
++}
++
++__attribute__((noinline, noclone)) void
++baz (char *x)
++{
++  char a[300], b[300];
++  int z, y, t, l;
++  struct S *s;
++
++  l = __builtin_strlen (x);
++  *a = 96;
++  for (z = 0; z < l; z++)
++    {
++      a[z + 1] = fn ((unsigned int) x[z]);
++      if (foo (a[z + 1]) <= 0)
++	return;
++    }
++  a[l + 1] = 96;
++  l += 2;
++  __builtin_memset (b, 0, l + 2);
++
++  if (!w)
++    return;
++
++  for (z = 0; z < l; z++)
++    {
++      s = w;
++      for (y = z; y < l; y++)
++	{
++	  s = s->b[foo (a[y])];
++	  if (!s)
++	    break;
++	  for (t = 0; t <= y - z + 2; t++)
++	    if (s->a[t] > b[z + t])
++	      b[z + t] = s->a[t];
++	}
++    }
++  for (z = 3; z < l - 2; z++)
++    if ((b[z] & 1) == 1)
++     asm ("");
++}
++
++int
++main ()
++{
++  bar (v);
++  char c[] = { 97, 97, 97, 97, 97, 0 };
++  baz (c);
++  return 0;
++}

diff --git a/sources b/sources
index 12fef62..9b4ccae 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-a5ea3b53e3c52e684097d088f7d9a565  gcc-6.0.0-20160201.tar.bz2
+8f3f950e75ddde6b87c71096c645efb8  gcc-6.0.0-20160205.tar.bz2

^ permalink raw reply related	[flat|nested] 3+ messages in thread
* [rpms/gcc] rhel-f41-base: Merge branch 'master' of ssh://pkgs.fedoraproject.org/gcc
@ 2026-06-29 12:25 Jon Ciesla
  0 siblings, 0 replies; 3+ messages in thread
From: Jon Ciesla @ 2026-06-29 12:25 UTC (permalink / raw)
  To: git-commits

            A new commit has been pushed.

            Repo   : rpms/gcc
            Branch : rhel-f41-base
            Commit : f3ca3c472d3e9c15043ea86eeee70f7f174b0da1
            Author : Jon Ciesla <limburgher@gmail.com>
            Date   : 2012-10-15T15:03:47-05:00
            Stats  : +15/-6 in 3 file(s)
            URL    : https://src.fedoraproject.org/rpms/gcc/c/f3ca3c472d3e9c15043ea86eeee70f7f174b0da1?branch=rhel-f41-base

            Log:
            Merge branch 'master' of ssh://pkgs.fedoraproject.org/gcc

Conflicts:
	gcc.spec

---
diff --git a/.gitignore b/.gitignore
index 732186f..4038c66 100644
--- a/.gitignore
+++ b/.gitignore
@@ -44,3 +44,4 @@
 /gcc-4.7.2-20120921.tar.bz2
 /gcc-4.7.2-20121001.tar.bz2
 /gcc-4.7.2-20121009.tar.bz2
+/gcc-4.7.2-20121015.tar.bz2

diff --git a/gcc.spec b/gcc.spec
index 093c2c7..d3646b3 100644
--- a/gcc.spec
+++ b/gcc.spec
@@ -1,9 +1,9 @@
-%global DATE 20121009
-%global SVNREV 192248
+%global DATE 20121015
+%global SVNREV 192447
 %global gcc_version 4.7.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 5
+%global gcc_release 6
 %global _unpackaged_files_terminate_build 0
 %global multilib_64_archs sparc64 ppc64 s390x x86_64
 %ifarch %{ix86} x86_64 ia64 ppc ppc64 alpha
@@ -2662,9 +2662,13 @@ fi
 %{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_version}/plugin
 
 %changelog
-* Mon Oct 15 2012 Jon Ciesla <limburgher@gmail.com> 4.7.2-5
+* Mon Oct 15 2012 Jon Ciesla <limburgher@gmail.com> 4.7.2-6
 - Provides: bundled(libiberty)
 
+* Mon Oct 15 2012 Jakub Jelinek <jakub@redhat.com> 4.7.2-5
+- update from the 4.7 branch
+  - PRs fortran/54784, libfortran/54736, libstdc++/54861
+
 * Tue Oct  9 2012 Jakub Jelinek <jakub@redhat.com> 4.7.2-4
 - update from the 4.7 branch
   - PRs c++/54777, c++/54858, debug/53135, target/54741, target/54785,

diff --git a/sources b/sources
index 664e5e6..f92fea9 100644
--- a/sources
+++ b/sources
@@ -1,2 +1,2 @@
 2659f09c2e43ef8b7d4406321753f1b2  fastjar-0.97.tar.gz
-57efcf9b68bb9f6e739a16f4673230d0  gcc-4.7.2-20121009.tar.bz2
+2891991f350ae9f513b8070beab43611  gcc-4.7.2-20121015.tar.bz2

diff --git a/gcc.spec b/gcc.spec
index 5e064a8..d3646b3 100644
--- a/gcc.spec
+++ b/gcc.spec
@@ -3,7 +3,7 @@
 %global gcc_version 4.7.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 5
+%global gcc_release 6
 %global _unpackaged_files_terminate_build 0
 %global multilib_64_archs sparc64 ppc64 s390x x86_64
 %ifarch %{ix86} x86_64 ia64 ppc ppc64 alpha
@@ -166,6 +166,7 @@ Requires: cloog-ppl >= 0.15
 Requires(post): /sbin/install-info
 Requires(preun): /sbin/install-info
 AutoReq: true
+Provides: bundled(libiberty)
 
 Patch0: gcc47-hack.patch
 Patch1: gcc47-c++-builtin-redecl.patch
@@ -2661,6 +2662,9 @@ fi
 %{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_version}/plugin
 
 %changelog
+* Mon Oct 15 2012 Jon Ciesla <limburgher@gmail.com> 4.7.2-6
+- Provides: bundled(libiberty)
+
 * Mon Oct 15 2012 Jakub Jelinek <jakub@redhat.com> 4.7.2-5
 - update from the 4.7 branch
   - PRs fortran/54784, libfortran/54736, libstdc++/54861

^ permalink raw reply related	[flat|nested] 3+ messages in thread
* [rpms/gcc] rhel-f41-base: Merge branch 'master' of ssh://pkgs.fedoraproject.org/gcc
@ 2026-06-29 12:25 Jakub Jelinek
  0 siblings, 0 replies; 3+ messages in thread
From: Jakub Jelinek @ 2026-06-29 12:25 UTC (permalink / raw)
  To: git-commits

            A new commit has been pushed.

            Repo   : rpms/gcc
            Branch : rhel-f41-base
            Commit : 3774a68ac636eb8badc5f8eb5b97dc7e1610a4e6
            Author : Jakub Jelinek <jakub@redhat.com>
            Date   : 2011-05-25T11:05:40+02:00
            Stats  : +310/-460 in 12 file(s)
            URL    : https://src.fedoraproject.org/rpms/gcc/c/3774a68ac636eb8badc5f8eb5b97dc7e1610a4e6?branch=rhel-f41-base

            Log:
            Merge branch 'master' of ssh://pkgs.fedoraproject.org/gcc

Conflicts:
	gcc.spec

---
diff --git a/gcc.spec b/gcc.spec
index e4addec..5ea2a6a 100644
--- a/gcc.spec
+++ b/gcc.spec
@@ -45,7 +45,7 @@
 Summary: Various compilers (C, C++, Objective-C, Java, ...)
 Name: gcc
 Version: %{gcc_version}
-Release: %{gcc_release}%{?dist}
+Release: %{gcc_release}%{?dist}.1
 # libgcc, libgfortran, libmudflap, libgomp, libstdc++ and crtstuff have
 # GCC Runtime Exception.
 License: GPLv3+ and GPLv3+ with exceptions and GPLv2+ with exceptions and LGPLv2+ and BSD

diff --git a/.gitignore b/.gitignore
index 95935dd..a1f733e 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,3 +1,4 @@
 /fastjar-0.97.tar.gz
 /gcc-4.6.0-20110128.tar.bz2
 /gcc-4.6.0-20110205.tar.bz2
+/gcc-4.6.0-20110525.tar.bz2

diff --git a/gcc.spec b/gcc.spec
index 5550c7e..5ea2a6a 100644
--- a/gcc.spec
+++ b/gcc.spec
@@ -1,9 +1,9 @@
-%global DATE 20110205
-%global SVNREV 169849
+%global DATE 20110525
+%global SVNREV 174173
 %global gcc_version 4.6.0
 # 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 0.6
+%global gcc_release 8
 %global _unpackaged_files_terminate_build 0
 %global multilib_64_archs sparc64 ppc64 s390x x86_64
 %ifarch %{ix86} x86_64 ia64 ppc ppc64 alpha
@@ -108,7 +108,12 @@ BuildRequires: gcc-gnat >= 3.1, libgnat >= 3.1
 BuildRequires: libunwind >= 0.98
 %endif
 %if %{build_cloog}
-BuildRequires: ppl >= 0.10, ppl-devel >= 0.10, cloog-ppl >= 0.15, cloog-ppl-devel >= 0.15
+%if 0%{?fedora} >= 15
+BuildRequires: ppl >= 0.11.2, ppl-devel >= 0.11.2
+%else
+BuildRequires: ppl >= 0.10, ppl-devel >= 0.10
+%endif
+BuildRequires: cloog-ppl >= 0.15, cloog-ppl-devel >= 0.15
 %endif
 %if %{build_libstdcxx_docs}
 BuildRequires: doxygen >= 1.7.1
@@ -163,11 +168,8 @@ Patch12: gcc46-cloog-dl.patch
 Patch14: gcc46-pr38757.patch
 Patch15: gcc46-libstdc++-docs.patch
 Patch17: gcc46-no-add-needed.patch
-Patch18: gcc46-unwind-debughook-sdt.patch
-Patch19: gcc46-ppl-0.10.patch
-Patch20: gcc46-Woverlength-string.patch
-Patch21: gcc46-Woverlength-string-asm.patch
-Patch22: gcc46-pr47610.patch
+Patch18: gcc46-ppl-0.10.patch
+Patch19: gcc46-pr47858.patch
 
 Patch1000: fastjar-0.97-segfault.patch
 Patch1001: fastjar-0.97-len1.patch
@@ -597,11 +599,10 @@ not stable, so plugins must be rebuilt any time GCC is updated.
 %patch15 -p0 -b .libstdc++-docs~
 %endif
 %patch17 -p0 -b .no-add-needed~
-%patch18 -p0 -b .unwind-debughook-sdt~
-%patch19 -p0 -b .ppl-0.10~
-%patch20 -p0 -b .Woverlength-string~
-%patch21 -p0 -b .Woverlength-string-asm~
-%patch22 -p0 -b .pr47610~
+%if 0%{?fedora} < 15
+%patch18 -p0 -b .ppl-0.10~
+%endif
+%patch19 -p0 -b .pr47858~
 
 # This testcase doesn't compile.
 rm libjava/testsuite/libjava.lang/PR35020*
@@ -618,7 +619,7 @@ tar xzf %{SOURCE4}
 tar xjf %{SOURCE10}
 %endif
 
-sed -i -e 's/4\.6\.0/4.6.0/' gcc/BASE-VER
+sed -i -e 's/4\.6\.1/4.6.0/' gcc/BASE-VER
 echo 'Red Hat %{version}-%{gcc_release}' > gcc/DEV-PHASE
 
 # Default to -gdwarf-3 rather than -gdwarf-2
@@ -1075,6 +1076,7 @@ if [ "%{_lib}" != "lib" ]; then
   sed '/^libdir/s/lib$/%{_lib}/' %{buildroot}%{_prefix}/lib/pkgconfig/libgcj-*.pc \
     > %{buildroot}%{_prefix}/%{_lib}/pkgconfig/`basename %{buildroot}%{_prefix}/lib/pkgconfig/libgcj-*.pc`
 fi
+
 %endif
 
 mkdir -p %{buildroot}%{_datadir}/gdb/auto-load/%{_prefix}/%{_lib}
@@ -1393,7 +1395,6 @@ rm -f %{buildroot}%{_prefix}/%{_lib}/{libffi*,libiberty.a}
 rm -f $FULLEPATH/install-tools/{mkheaders,fixincl}
 rm -f %{buildroot}%{_prefix}/lib/{32,64}/libiberty.a
 rm -f %{buildroot}%{_prefix}/%{_lib}/libssp*
-rm -f %{buildroot}%{_prefix}/bin/gnative2ascii
 rm -f %{buildroot}%{_prefix}/bin/gappletviewer || :
 rm -f %{buildroot}%{_prefix}/bin/%{_target_platform}-gcc-%{version} || :
 rm -f %{buildroot}%{_prefix}/bin/%{_target_platform}-gfortran || :
@@ -1806,7 +1807,8 @@ fi
 %dir %{_datadir}/gdb/auto-load/%{_prefix}/%{_lib}/
 %{_datadir}/gdb/auto-load/%{_prefix}/%{_lib}/libstdc*gdb.py*
 %dir %{_prefix}/share/gcc-%{gcc_version}
-%{_prefix}/share/gcc-%{gcc_version}/python
+%dir %{_prefix}/share/gcc-%{gcc_version}/python
+%{_prefix}/share/gcc-%{gcc_version}/python/libstdcxx
 
 %files -n libstdc++-devel
 %defattr(-,root,root,-)
@@ -1995,6 +1997,7 @@ fi
 %{_prefix}/bin/gij
 %{_prefix}/bin/gjar
 %{_prefix}/bin/fastjar
+%{_prefix}/bin/gnative2ascii
 %{_prefix}/bin/grepjar
 %{_prefix}/bin/grmic
 %{_prefix}/bin/grmid
@@ -2011,6 +2014,7 @@ fi
 %{_mandir}/man1/gjarsigner.1*
 %{_mandir}/man1/jv-convert.1*
 %{_mandir}/man1/gij.1*
+%{_mandir}/man1/gnative2ascii.1*
 %{_mandir}/man1/grmic.1*
 %{_mandir}/man1/grmiregistry.1*
 %{_mandir}/man1/gcj-dbtool.1*
@@ -2083,7 +2087,8 @@ fi
 %if %{build_ada}
 %files gnat
 %defattr(-,root,root,-)
-%{_prefix}/bin/gnat*
+%{_prefix}/bin/gnat
+%{_prefix}/bin/gnat[^i]*
 %{_infodir}/gnat*
 %dir %{_prefix}/lib/gcc
 %dir %{_prefix}/lib/gcc/%{gcc_target_platform}
@@ -2337,8 +2342,209 @@ fi
 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/plugin
 
 %changelog
-* Tue Feb 08 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 4.6.0-0.6.1
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
+* Wed May 25 2011 Jakub Jelinek <jakub@redhat.com> 4.6.0-8
+- update from the 4.6 branch
+  - PRs bootstrap/49086, c++/47263, c++/47336, c++/47544, c++/48522,
+	c++/48617, c++/48647, c++/48736, c++/48745, c++/48780, c++/48859,
+	c++/48869, c++/48873, c++/48884, c++/48945, c++/48948, c++/49042,
+	c++/49043, c++/49066, c++/49082, c++/49105, c++/49136, c/49120,
+	debug/48159, debug/49032, fortran/48889, libstdc++/49058, lto/48207,
+	lto/48703, lto/49123, middle-end/48973, middle-end/49029,
+	preprocessor/48677, target/48986, target/49002, target/49104,
+	target/49128, target/49133, tree-optimization/48172,
+	tree-optimization/48794, tree-optimization/48822,
+	tree-optimization/48975, tree-optimization/49000,
+	tree-optimization/49018, tree-optimization/49039,
+	tree-optimization/49073, tree-optimization/49079
+  - ppc V2DImode ABI fix (#705764, PR target/48857)
+  - fix ppc var-tracking ICE (#703888, PR debug/48967)
+
+* Mon May  9 2011 Jakub Jelinek <jakub@redhat.com> 4.6.0-7
+- update from the 4.6 branch
+  - PRs ada/48844, c++/40975, c++/48089, c++/48446, c++/48656, c++/48749,
+	c++/48838, c++/48909, c++/48911, fortran/48112, fortran/48279,
+	fortran/48462, fortran/48720, fortran/48746, fortran/48788,
+	fortran/48800, fortran/48810, fortran/48894, libgfortran/48030,
+	libstdc++/48750, libstdc++/48760, lto/48846, middle-end/48597,
+	preprocessor/48192, target/48226, target/48252, target/48262,
+	target/48774, target/48900, tree-optimization/48809
+- fix ICE with references in templates (PR c++/48574)
+- disable tail call optimization if tail recursion needs accumulators
+  (PR PR tree-optimization/48837)
+
+* Thu Apr 28 2011 Jakub Jelinek <jakub@redhat.com> 4.6.0-6
+- update from the 4.6 branch
+  - PRs c++/42687, c++/46304, c++/48046, c++/48657, c++/48707, c++/48726,
+	c/48685, c/48716, c/48742, debug/48768, fortran/47976,
+	fortran/48588, libstdc++/48521, lto/48148, lto/48492,
+	middle-end/48695, other/48748, preprocessor/48740, target/48288,
+	target/48708, target/48723, tree-optimization/48611,
+	tree-optimization/48717, tree-optimization/48731,
+	tree-optimization/48734
+
+* Tue Apr 19 2011 Jakub Jelinek <jakub@redhat.com> 4.6.0-5
+- update from the 4.6 branch
+  - PRs c++/48537, c++/48632, fortran/48360, fortran/48456,
+	libfortran/47571, libstdc++/48476, libstdc++/48631,
+	libstdc++/48635, lto/48538, middle-end/46364, middle-end/48661,
+	preprocessor/48248, target/48366, target/48605, target/48614,
+	target/48678, testsuite/48675, tree-optimization/48616
+  - fix calling functor or non-pointer-to-member through
+    overloaded pointer-to-member operator (#695567, PR c++/48594)
+
+* Wed Apr 13 2011 Jakub Jelinek <jakub@redhat.com> 4.6.0-4
+- update from the 4.6 branch
+  - PRs c++/48450, c++/48452, c++/48468, c++/48500, c++/48523, c++/48528,
+	c++/48534, c++/48570, c++/48574, c/48517, libstdc++/48465,
+	libstdc++/48541, libstdc++/48566, target/47829, target/48090,
+	testsuite/48506, tree-optimization/48195, tree-optimization/48377
+  - fix combiner with -g (#695019, PR rtl-optimization/48549)
+  - fix OpenMP atomic __float128 handling on i?86 (#696129,
+    PR middle-end/48591)
+
+* Fri Apr  8 2011 Jakub Jelinek <jakub@redhat.com> 4.6.0-3
+- update from the 4.6 branch
+  - PRs bootstrap/48431, c++/48280, debug/48343, debug/48466, fortran/48117,
+	fortran/48291, libstdc++/48398, middle-end/48335,
+	rtl-optimization/48143, rtl-optimization/48144, target/16292,
+	target/48142
+  - don't ICE because of empty partitions during LTO (#688767, PR lto/48246)
+- don't emit DW_AT_*_pc for CUs without any code
+
+* Thu Mar 31 2011 Jakub Jelinek <jakub@redhat.com> 4.6.0-2
+- update from the 4.6 branch
+  - PRs c++/47504, c++/47570, c++/47999, c++/48166, c++/48212, c++/48265,
+	c++/48281, c++/48289, c++/48296, c++/48313, c++/48319, c++/48369,
+	debug/48041, debug/48253, preprocessor/48248, target/48349
+- add -fno-debug-types-section switch
+- don't emit .debug_abbrev section if it is empty and unused
+
+* Tue Mar 29 2011 Jakub Jelinek <jakub@redhat.com> 4.6.0-1
+- update from the 4.6 branch
+  - GCC 4.6.0 release
+  - PRs c/42544, c/48197, debug/48204, middle-end/48031,
+	middle-end/48134, middle-end/48269, other/48179, other/48221,
+	other/48234, rtl-optimization/48156, target/47553,
+	target/48237, testsuite/48251, tree-optimization/48228
+  - improve RTL DSE speed with large number of stores (#684900,
+    PR rtl-optimization/48141)
+- add gnative2ascii binary and man page to libgcj
+
+* Mon Mar 21 2011 Jakub Jelinek <jakub@redhat.com> 4.6.0-0.15
+- update from the 4.6 branch
+  - PRs bootstrap/45381, bootstrap/48135
+- fix s390 ICE during address delegitimization (PR target/48213, #689266)
+
+* Fri Mar 18 2011 Jakub Jelinek <jakub@redhat.com> 4.6.0-0.14
+- update from the 4.6 branch
+  - PRs bootstrap/48161, c++/48113, c++/48115, c++/48132, debug/47510,
+	debug/48176, libstdc++/48123, middle-end/47405, middle-end/48165,
+	target/46778, target/46788, target/48171
+- update libstdc++ pretty printers from trunk
+
+* Tue Mar 15 2011 Jakub Jelinek <jakub@redhat.com> 4.6.0-0.13
+- update from trunk and the 4.6 branch
+  - PRs bootstrap/48000, bootstrap/48102, c++/44629, c++/45651, c++/46220,
+	c++/46803, c++/47125, c++/47144, c++/47198, c++/47488, c++/47705,
+	c++/47808, c++/47957, c++/47971, c++/48003, c++/48008, c++/48015,
+	c++/48029, c++/48035, c++/48069, c/47786, debug/47881, debug/48043,
+	fortran/47552, fortran/47850, fortran/48054, fortran/48059,
+	libfortran/48066, libgfortran/48047, libstdc++/48038, libstdc++/48114,
+	lto/47497, lto/48073, lto/48086, middle-end/47968, middle-end/47975,
+	middle-end/48044, middle-end/48098, rtl-optimization/47866,
+	rtl-optimization/47899, target/45413, target/47719, target/47862,
+	target/47986, target/48032, target/48053, testsuite/47954,
+	tree-optimization/47127, tree-optimization/47278,
+	tree-optimization/47714, tree-optimization/47967,
+	tree-optimization/48022, tree-optimization/48063,
+	tree-optimization/48067
+  - fix var-tracking ICE on s390x (#682410, PR debug/47991)
+
+* Fri Mar  4 2011 Jakub Jelinek <jakub@redhat.com> 4.6.0-0.12
+- update from trunk
+  - PRs c++/46159, c++/46282, c++/47200, c++/47774, c++/47851, c++/47950,
+	c++/47974, c/47963, libstdc++/47913, middle-end/47283,
+	rtl-optimization/47925, target/47935, tree-optimization/47890
+- rebuilt against ppl 0.11.2, reenable cloog-ppl Requires
+
+* Tue Mar  1 2011 Jakub Jelinek <jakub@redhat.com> 4.6.0-0.11
+- update from trunk
+  - PRs c++/46466, c++/47873, c++/47897, c++/47906, debug/28047,
+	fortran/40850, fortran/47839, fortran/47846, fortran/47872,
+	fortran/47878, fortran/47886, fortran/47894, libfortran/45165,
+	libfortran/47802, libgfortran/47778, libgfortran/47933,
+	libobjc/47922, libstdc++/42622, libstdc++/47921, lto/46911,
+	lto/47924, middle-end/46790, middle-end/47903, target/42240,
+	target/45261, target/46898, testsuite/47801, tree-optimization/45470
+  - fix stack slot padding reusal (#679924, PR middle-end/47893)
+  - fix ICE on DECL_PARM_INDEX in cp_tree_equal (#680603, PR c++/47904)
+- disable IPA-SRA at -O2/-Os (#668489, PR debug/47858)
+- temporarily disable cloog-ppl Requires, so that ppl and cloog-ppl can
+  be bumped
+
+* Wed Feb 22 2011 Jakub Jelinek <jakub@redhat.com> 4.6.0-0.10
+- update from trunk
+  - PRs c++/46868, tree-optimization/47838, tree-optimization/47849
+- don't ship aotcompile.py* and classfile.py* in libstdc++ (#678982)
+
+* Wed Feb 22 2011 Jakub Jelinek <jakub@redhat.com> 4.6.0-0.9
+- update from trunk
+  - PRs bootstrap/47827, c++/44118, c++/46394, c++/46472, c++/46831,
+	c++/47199, c++/47207, c++/47242, c++/47666, c++/47703, c++/47833,
+	doc/47848, fortran/41359, fortran/44945, fortran/45077,
+	fortran/45743, fortran/46818, fortran/47797, libfortran/47694,
+	libfortran/47830, libgomp/47854, lto/47820, lto/47822,
+	objc++/47711, objc/47784, rtl-optimization/46002,
+	rtl-optimization/47763, target/47822, target/47840,
+	tree-optimization/47835
+  - fix handling of ObjC pointer to struct with flexible array member
+    in interfaces (#678928, PR objc/47832)
+- temporarily BuildRequire urw-fonts until graphviz is fixed (#677114)
+
+* Sun Feb 20 2011 Jakub Jelinek <jakub@redhat.com> 4.6.0-0.8
+- update from trunk
+  - PRs ada/41929, bootstrap/47736, bootstrap/47807, c++/46807,
+	c++/47172, c++/47208, c++/47326, c++/47482, c++/47503,
+	c++/47704, c++/47783, c++/47795, c/47809, debug/47630,
+	debug/47780, driver/45731, driver/47390, driver/47787,
+	fortran/47348, fortran/47349, fortran/47569, fortran/47633,
+	fortran/47642, fortran/47648, fortran/47716, fortran/47728,
+	fortran/47730, fortran/47745, fortran/47750, fortran/47767,
+	fortran/47768, fortran/47775, fortran/47789, libfortran/47757,
+	libgfortran/47667, libgomp/47731, libgomp/47758, libgomp/47804,
+	libjava/47484, libstdc++/47709, libstdc++/47724, libstdc++/47773,
+	libstdc++/47776, lto/47647, lto/47798, middle-end/47581,
+	middle-end/47725, middle-end/47788, pch/14940,
+	rtl-optimization/46178, target/43653, target/45808, target/47696,
+	target/47755, target/47792, tree-optimization/46494,
+	tree-optimization/46620, tree-optimization/47737,
+	tree-optimization/47738, tree-optimization/47743
+  - fix i?86 shift + plus peephole2 (#678530, PR target/47800)
+
+* Sat Feb 12 2011 Jakub Jelinek <jakub@redhat.com> 4.6.0-0.7
+- update from trunk
+  - PRs binutils/12283, c++/47511, debug/42631, debug/47684, driver/47678,
+	fortran/42434, fortran/45290, fortran/45586, fortran/47352,
+	fortran/47463, fortran/47550, fortran/47574, fortran/47583,
+	fortran/47592, fortran/47637, libffi/46661, libfortran/47571,
+	libgfortran/47567, libstdc++/43863, libstdc++/47433,
+	libstdc++/47628, libstdc++/47668, lto/47225, lto/47241,
+	middle-end/45505, middle-end/47610, middle-end/47639,
+	middle-end/47646, target/42333, target/44606, target/45701,
+	target/46481, target/46610, target/46997, target/47032,
+	target/47324, target/47534, target/47548, target/47558,
+	target/47629, target/47636, target/47665, target/47683,
+	testsuite/47400, testsuite/47622, tree-optimization/42893,
+	tree-optimization/46834, tree-optimization/46994,
+	tree-optimization/46995, tree-optimization/47420,
+	tree-optimization/47615, tree-optimization/47621,
+	tree-optimization/47632, tree-optimization/47641,
+	tree-optimization/47664, tree-optimization/47707
+  - fix postreload on auto inc/decrement instructions (#675787,
+    PR rtl-optimization/47614)
+  - fix a hang in VRP (#676473, PR tree-optimization/47677)
+  - fix STL headers with -fno-operator-names (#676910, PR libstdc++/47662)
+- fix scheduling of debug insns (#675711, PR debug/47620)
 
 * Sat Feb  5 2011 Jakub Jelinek <jakub@redhat.com> 4.6.0-0.6
 - update from trunk

diff --git a/gcc46-Woverlength-string-asm.patch b/gcc46-Woverlength-string-asm.patch
deleted file mode 100644
index 47aae37..0000000
--- a/gcc46-Woverlength-string-asm.patch
+++ /dev/null
@@ -1,180 +0,0 @@
-2011-02-02  Tom Tromey  <tromey@redhat.com>
-
-	* c-parser.c (c_parser_asm_string_literal): Clear
-	warn_overlength_strings.
-
-	* gcc.dg/Woverlength-strings-pedantic-c90-asm.c: New file.
-	* gcc.dg/Woverlength-strings-pedantic-c89-asm.c: New file.
-	* gcc.dg/Woverlength-strings-pedantic-c99-asm.c: New file.
-
---- gcc/c-parser.c
-+++ gcc/c-parser.c
-@@ -3264,6 +3264,8 @@ static tree
- c_parser_asm_string_literal (c_parser *parser)
- {
-   tree str;
-+  int save_flag = warn_overlength_strings;
-+  warn_overlength_strings = 0;
-   if (c_parser_next_token_is (parser, CPP_STRING))
-     {
-       str = c_parser_peek_token (parser)->value;
-@@ -3281,6 +3283,7 @@ c_parser_asm_string_literal (c_parser *parser)
-       c_parser_error (parser, "expected string literal");
-       str = NULL_TREE;
-     }
-+  warn_overlength_strings = save_flag;
-   return str;
- }
- 
---- gcc/testsuite/gcc.dg/Woverlength-strings-pedantic-c89-asm.c
-+++ gcc/testsuite/gcc.dg/Woverlength-strings-pedantic-c89-asm.c
-@@ -0,0 +1,47 @@
-+/* -Woverlength-strings complains about string constants which are too long
-+   for the C standard's "minimum maximum" limits.  It is off by default,
-+   but implied by -pedantic.  */
-+
-+/* { dg-options "-std=c89 -pedantic" } */
-+
-+#define TEN "          "
-+#define HUN TEN TEN TEN TEN TEN  TEN TEN TEN TEN TEN
-+#define THO HUN HUN HUN HUN HUN  HUN HUN HUN HUN HUN
-+
-+/* C89's minimum-maximum is 509. */
-+__asm__ (HUN HUN HUN HUN HUN TEN);
-+
-+/* C99's minimum-maximum is 4095.  */
-+__asm__ (
-+  THO THO THO THO     /* 4000 */
-+  TEN TEN TEN TEN TEN /* 4050 */
-+  TEN TEN TEN TEN     /* 4090 */
-+  "123456");
-+
-+void
-+f (void)
-+{
-+  /* C89's minimum-maximum is 509. */
-+  __asm__ (HUN HUN HUN HUN HUN TEN);
-+  __asm__ (HUN HUN HUN HUN HUN TEN : : );
-+  __asm__ goto (HUN HUN HUN HUN HUN TEN : : : : label);
-+
-+  /* C99's minimum-maximum is 4095.  */
-+  __asm__ (
-+	   THO THO THO THO     /* 4000 */
-+	   TEN TEN TEN TEN TEN /* 4050 */
-+	   TEN TEN TEN TEN     /* 4090 */
-+	   "123456");
-+  __asm__ (
-+	   THO THO THO THO     /* 4000 */
-+	   TEN TEN TEN TEN TEN /* 4050 */
-+	   TEN TEN TEN TEN     /* 4090 */
-+	   "123456" : : );
-+  __asm__ goto (
-+		THO THO THO THO     /* 4000 */
-+		TEN TEN TEN TEN TEN /* 4050 */
-+		TEN TEN TEN TEN     /* 4090 */
-+		"123456" : : : : label);
-+
-+ label: ;
-+}
---- gcc/testsuite/gcc.dg/Woverlength-strings-pedantic-c90-asm.c
-+++ gcc/testsuite/gcc.dg/Woverlength-strings-pedantic-c90-asm.c
-@@ -0,0 +1,48 @@
-+/* -Woverlength-strings complains about string constants which are too long
-+   for the C standard's "minimum maximum" limits.  It is off by default,
-+   but implied by -pedantic.  */
-+
-+/* { dg-options "-std=c90 -pedantic" } */
-+
-+#define TEN "          "
-+#define HUN TEN TEN TEN TEN TEN  TEN TEN TEN TEN TEN
-+#define THO HUN HUN HUN HUN HUN  HUN HUN HUN HUN HUN
-+
-+/* C89's minimum-maximum is 509. */
-+__asm__ (HUN HUN HUN HUN HUN TEN);
-+
-+/* C99's minimum-maximum is 4095.  */
-+__asm__ (
-+  THO THO THO THO     /* 4000 */
-+  TEN TEN TEN TEN TEN /* 4050 */
-+  TEN TEN TEN TEN     /* 4090 */
-+  "123456");
-+
-+void
-+f (void)
-+{
-+  /* C89's minimum-maximum is 509. */
-+  __asm__ (HUN HUN HUN HUN HUN TEN);
-+  __asm__ (HUN HUN HUN HUN HUN TEN : :);
-+  __asm__ goto (HUN HUN HUN HUN HUN TEN : : : : label);
-+
-+  /* C99's minimum-maximum is 4095.  */
-+  __asm__ (
-+	   THO THO THO THO     /* 4000 */
-+	   TEN TEN TEN TEN TEN /* 4050 */
-+	   TEN TEN TEN TEN     /* 4090 */
-+	   "123456");
-+  __asm__ (
-+	   THO THO THO THO     /* 4000 */
-+	   TEN TEN TEN TEN TEN /* 4050 */
-+	   TEN TEN TEN TEN     /* 4090 */
-+	   "123456" : :);
-+  __asm__ goto (
-+		THO THO THO THO     /* 4000 */
-+		TEN TEN TEN TEN TEN /* 4050 */
-+		TEN TEN TEN TEN     /* 4090 */
-+		"123456" : : : : label);
-+
-+ label: ;
-+}
-+
---- gcc/testsuite/gcc.dg/Woverlength-strings-pedantic-c99-asm.c
-+++ gcc/testsuite/gcc.dg/Woverlength-strings-pedantic-c99-asm.c
-@@ -0,0 +1,48 @@
-+/* -Woverlength-strings complains about string constants which are too long
-+   for the C standard's "minimum maximum" limits.  It is off by default,
-+   but implied by -pedantic.  */
-+
-+/* { dg-options "-std=c99 -pedantic" } */
-+
-+#define TEN "          "
-+#define HUN TEN TEN TEN TEN TEN  TEN TEN TEN TEN TEN
-+#define THO HUN HUN HUN HUN HUN  HUN HUN HUN HUN HUN
-+
-+/* C89's minimum-maximum is 509. */
-+__asm__ (HUN HUN HUN HUN HUN TEN);
-+
-+/* C99's minimum-maximum is 4095.  */
-+__asm__ (
-+  THO THO THO THO     /* 4000 */
-+  TEN TEN TEN TEN TEN /* 4050 */
-+  TEN TEN TEN TEN     /* 4090 */
-+  "123456");
-+
-+void
-+f (void)
-+{
-+  /* C89's minimum-maximum is 509. */
-+  __asm__ (HUN HUN HUN HUN HUN TEN);
-+  __asm__ (HUN HUN HUN HUN HUN TEN : :);
-+  __asm__ goto (HUN HUN HUN HUN HUN TEN : : : : label);
-+
-+  /* C99's minimum-maximum is 4095.  */
-+  __asm__ (
-+	   THO THO THO THO     /* 4000 */
-+	   TEN TEN TEN TEN TEN /* 4050 */
-+	   TEN TEN TEN TEN     /* 4090 */
-+	   "123456");
-+  __asm__ (
-+	   THO THO THO THO     /* 4000 */
-+	   TEN TEN TEN TEN TEN /* 4050 */
-+	   TEN TEN TEN TEN     /* 4090 */
-+	   "123456" : :);
-+  __asm__ goto (
-+		THO THO THO THO     /* 4000 */
-+		TEN TEN TEN TEN TEN /* 4050 */
-+		TEN TEN TEN TEN     /* 4090 */
-+		"123456" : : : : label);
-+
-+ label: ;
-+}
-+

diff --git a/gcc46-Woverlength-string.patch b/gcc46-Woverlength-string.patch
deleted file mode 100644
index cda5cbf..0000000
--- a/gcc46-Woverlength-string.patch
+++ /dev/null
@@ -1,103 +0,0 @@
-2011-01-18  Tom Tromey  <tromey@redhat.com>
-
-	* c-parser.c (disable_extension_diagnostics): Save
-	warn_overlength_strings.
-	(restore_extension_diagnostics): Restore warn_overlength_strings.
-
-	* gcc.dg/Woverlength-strings-pedantic-c89-ext.c: New file.
-	* gcc.dg/Woverlength-strings-pedantic-c90-ext.c: New file.
-	* gcc.dg/Woverlength-strings-pedantic-c99-ext.c: New file.
-
---- gcc/c-parser.c	(revision 168933)
-+++ gcc/c-parser.c	(working copy)
-@@ -1045,13 +1045,15 @@
- 	     | (warn_traditional << 2)
- 	     | (flag_iso << 3)
- 	     | (warn_long_long << 4)
--	     | (warn_cxx_compat << 5));
-+	     | (warn_cxx_compat << 5)
-+	     | (warn_overlength_strings << 6));
-   cpp_opts->cpp_pedantic = pedantic = 0;
-   warn_pointer_arith = 0;
-   cpp_opts->cpp_warn_traditional = warn_traditional = 0;
-   flag_iso = 0;
-   cpp_opts->cpp_warn_long_long = warn_long_long = 0;
-   warn_cxx_compat = 0;
-+  warn_overlength_strings = 0;
-   return ret;
- }
- 
-@@ -1067,6 +1069,7 @@
-   flag_iso = (flags >> 3) & 1;
-   cpp_opts->cpp_warn_long_long = warn_long_long = (flags >> 4) & 1;
-   warn_cxx_compat = (flags >> 5) & 1;
-+  warn_overlength_strings = (flags >> 6) & 1;
- }
- 
- /* Possibly kinds of declarator to parse.  */
---- gcc/testsuite/gcc.dg/Woverlength-strings-pedantic-c89-ext.c	(revision 0)
-+++ gcc/testsuite/gcc.dg/Woverlength-strings-pedantic-c89-ext.c	(revision 0)
-@@ -0,0 +1,19 @@
-+/* -Woverlength-strings complains about string constants which are too long
-+   for the C standard's "minimum maximum" limits.  It is off by default,
-+   but implied by -pedantic.  */
-+
-+/* { dg-options "-std=c89 -pedantic" } */
-+
-+#define TEN "xxxxxxxxxx"
-+#define HUN TEN TEN TEN TEN TEN  TEN TEN TEN TEN TEN
-+#define THO HUN HUN HUN HUN HUN  HUN HUN HUN HUN HUN
-+
-+/* C89's minimum-maximum is 509. */
-+const char x510[] = __extension__ HUN HUN HUN HUN HUN TEN;
-+
-+/* C99's minimum-maximum is 4095.  */
-+const char x4096[] = __extension__
-+  THO THO THO THO     /* 4000 */
-+  TEN TEN TEN TEN TEN /* 4050 */
-+  TEN TEN TEN TEN     /* 4090 */
-+  "123456";
---- gcc/testsuite/gcc.dg/Woverlength-strings-pedantic-c90-ext.c	(revision 0)
-+++ gcc/testsuite/gcc.dg/Woverlength-strings-pedantic-c90-ext.c	(revision 0)
-@@ -0,0 +1,19 @@
-+/* -Woverlength-strings complains about string constants which are too long
-+   for the C standard's "minimum maximum" limits.  It is off by default,
-+   but implied by -pedantic.  */
-+
-+/* { dg-options "-std=c90 -pedantic" } */
-+
-+#define TEN "xxxxxxxxxx"
-+#define HUN TEN TEN TEN TEN TEN  TEN TEN TEN TEN TEN
-+#define THO HUN HUN HUN HUN HUN  HUN HUN HUN HUN HUN
-+
-+/* C89's minimum-maximum is 509. */
-+const char x510[] = __extension__ HUN HUN HUN HUN HUN TEN;
-+
-+/* C99's minimum-maximum is 4095.  */
-+const char x4096[] = __extension__
-+  THO THO THO THO     /* 4000 */
-+  TEN TEN TEN TEN TEN /* 4050 */
-+  TEN TEN TEN TEN     /* 4090 */
-+  "123456";
---- gcc/testsuite/gcc.dg/Woverlength-strings-pedantic-c99-ext.c	(revision 0)
-+++ gcc/testsuite/gcc.dg/Woverlength-strings-pedantic-c99-ext.c	(revision 0)
-@@ -0,0 +1,19 @@
-+/* -Woverlength-strings complains about string constants which are too long
-+   for the C standard's "minimum maximum" limits.  It is off by default,
-+   but implied by -pedantic.  */
-+
-+/* { dg-options "-std=c99 -pedantic" } */
-+
-+#define TEN "xxxxxxxxxx"
-+#define HUN TEN TEN TEN TEN TEN  TEN TEN TEN TEN TEN
-+#define THO HUN HUN HUN HUN HUN  HUN HUN HUN HUN HUN
-+
-+/* C89's minimum-maximum is 509. */
-+const char x510[] = HUN HUN HUN HUN HUN TEN;
-+
-+/* C99's minimum-maximum is 4095.  */
-+const char x4096[] = __extension__
-+  THO THO THO THO     /* 4000 */
-+  TEN TEN TEN TEN TEN /* 4050 */
-+  TEN TEN TEN TEN     /* 4090 */
-+  "123456";

diff --git a/gcc46-c++-builtin-redecl.patch b/gcc46-c++-builtin-redecl.patch
index 1f36f1f..9463428 100644
--- a/gcc46-c++-builtin-redecl.patch
+++ b/gcc46-c++-builtin-redecl.patch
@@ -4,8 +4,8 @@
 	keep the merged decl builtin whenever types match, even if new
 	decl defines a function.
 
-	* gcc.dg/builtins-65.c: New test.
-	* g++.dg/ext/builtin10.C: New test.
+	* gcc.dg/builtins-85.c: New test.
+	* g++.dg/ext/builtin30.C: New test.
 
 --- gcc/cp/decl.c.jj	2007-10-01 22:11:09.000000000 +0200
 +++ gcc/cp/decl.c	2007-10-02 11:39:46.000000000 +0200
@@ -42,8 +42,8 @@
  	  DECL_RESULT (newdecl) = DECL_RESULT (olddecl);
  	  /* Don't clear out the arguments if we're just redeclaring a
  	     function.  */
---- gcc/testsuite/gcc.dg/builtins-65.c.jj	2007-10-02 11:23:51.000000000 +0200
-+++ gcc/testsuite/gcc.dg/builtins-65.c	2007-10-02 11:24:12.000000000 +0200
+--- gcc/testsuite/gcc.dg/builtins-85.c.jj	2007-10-02 11:23:51.000000000 +0200
++++ gcc/testsuite/gcc.dg/builtins-85.c	2007-10-02 11:24:12.000000000 +0200
 @@ -0,0 +1,25 @@
 +/* { dg-do compile } */
 +/* { dg-options "-O2" } */
@@ -70,8 +70,8 @@
 +
 +/* { dg-final { scan-assembler "mysnprintf" } } */
 +/* { dg-final { scan-assembler-not "__chk_fail" } } */
---- gcc/testsuite/g++.dg/ext/builtin10.C.jj	2007-10-02 11:19:45.000000000 +0200
-+++ gcc/testsuite/g++.dg/ext/builtin10.C	2007-10-02 11:23:26.000000000 +0200
+--- gcc/testsuite/g++.dg/ext/builtin30.C.jj	2007-10-02 11:19:45.000000000 +0200
++++ gcc/testsuite/g++.dg/ext/builtin30.C	2007-10-02 11:23:26.000000000 +0200
 @@ -0,0 +1,27 @@
 +// { dg-do compile }
 +// { dg-options "-O2" }

diff --git a/gcc46-cloog-dl.patch b/gcc46-cloog-dl.patch
index dd9a5b9..11ce82b 100644
--- a/gcc46-cloog-dl.patch
+++ b/gcc46-cloog-dl.patch
@@ -102,12 +102,20 @@
  	$(LINKER) $(LINKERFLAGS) $(LDFLAGS) -o $@ \
 --- gcc/graphite-cloog-compat.h.jj	2011-01-03 12:53:05.000000000 +0100
 +++ gcc/graphite-cloog-compat.h	2011-01-04 17:34:09.857757544 +0100
-@@ -272,4 +272,263 @@ static inline int cloog_matrix_nrows (Cl
+@@ -272,4 +272,277 @@ static inline int cloog_matrix_nrows (Cl
     return m->NbRows;
  }
  #endif /* CLOOG_ORG  */
 +
 +#include <dlfcn.h>
++#if PPL_VERSION_MAJOR == 0 && PPL_VERSION_MINOR < 11
++#define DYNSYMS_PPL11
++#else
++#define DYNSYMS_PPL11 \
++  DYNSYM (ppl_new_PIP_Problem_from_constraints); \
++  DYNSYM (ppl_PIP_Problem_is_satisfiable); \
++  DYNSYM (ppl_delete_PIP_Problem);
++#endif
 +#define DYNSYMS \
 +  DYNSYM (cloog_block_alloc); \
 +  DYNSYM (cloog_block_list_free); \
@@ -217,7 +225,8 @@
 +  DYNSYM (ppl_new_Constraint_System_from_Constraint); \
 +  DYNSYM (ppl_new_C_Polyhedron_from_Constraint_System); \
 +  DYNSYM (ppl_Polyhedron_affine_image); \
-+  DYNSYM (ppl_io_fprint_Pointset_Powerset_C_Polyhedron);
++  DYNSYM (ppl_io_fprint_Pointset_Powerset_C_Polyhedron); \
++  DYNSYMS_PPL11
 +extern struct
 +{
 +  bool inited;
@@ -360,7 +369,12 @@
 +#define ppl_new_Constraint_System_from_Constraint (*cloog_pointers__.p_ppl_new_Constraint_System_from_Constraint)
 +#define ppl_new_C_Polyhedron_from_Constraint_System (*cloog_pointers__.p_ppl_new_C_Polyhedron_from_Constraint_System)
 +#define ppl_Polyhedron_affine_image (*cloog_pointers__.p_ppl_Polyhedron_affine_image)
-+#define ppl_io_fprint_Pointset_Powerset_C_Polyhedron (cloog_pointers__.p_ppl_io_fprint_Pointset_Powerset_C_Polyhedron)
++#define ppl_io_fprint_Pointset_Powerset_C_Polyhedron (*cloog_pointers__.p_ppl_io_fprint_Pointset_Powerset_C_Polyhedron)
++#if !(PPL_VERSION_MAJOR == 0 && PPL_VERSION_MINOR < 11)
++#define ppl_new_PIP_Problem_from_constraints (*cloog_pointers__.p_ppl_new_PIP_Problem_from_constraints)
++#define ppl_PIP_Problem_is_satisfiable (*cloog_pointers__.p_ppl_PIP_Problem_is_satisfiable)
++#define ppl_delete_PIP_Problem (*cloog_pointers__.p_ppl_delete_PIP_Problem)
++#endif
 +
 +#define cloog_finalize (*cloog_pointers__.p_ppl_finalize)
 +
@@ -368,9 +382,9 @@
  #endif /* GRAPHITE_CLOOG_COMPAT_H  */
 --- gcc/graphite.c.jj	2011-01-03 12:53:05.194056513 +0100
 +++ gcc/graphite.c	2011-01-04 16:18:32.385007767 +0100
-@@ -54,6 +54,35 @@ along with GCC; see the file COPYING3.  
- #include "graphite-clast-to-gimple.h"
- #include "graphite-sese-to-poly.h"
+@@ -56,6 +56,35 @@ along with GCC; see the file COPYING3.  
+ 
+ CloogState *cloog_state;
  
 +__typeof (cloog_pointers__) cloog_pointers__;
 +
@@ -404,7 +418,7 @@
  /* Print global statistics to FILE.  */
  
  static void
-@@ -199,6 +228,12 @@ graphite_initialize (void)
+@@ -201,6 +230,12 @@ graphite_initialize (void)
        return false;
      }
  

diff --git a/gcc46-libstdc++-docs.patch b/gcc46-libstdc++-docs.patch
index a926da8..2d1cd5f 100644
--- a/gcc46-libstdc++-docs.patch
+++ b/gcc46-libstdc++-docs.patch
@@ -13,13 +13,13 @@
 --- libstdc++-v3/doc/html/api.html.jj	2011-01-03 12:53:21.000000000 +0100
 +++ libstdc++-v3/doc/html/api.html	2011-01-04 18:12:01.672757784 +0100
 @@ -3,7 +3,7 @@
- <html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>API Documentation</title><meta name="generator" content="DocBook XSL Stylesheets V1.75.2" /><link rel="home" href="spine.html" title="The GNU C++ Library Documentation" /><link rel="up" href="bk02.html" title="" /><link rel="prev" href="bk02.html" title="" /><link rel="next" href="bk03.html" title="" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">API Documentation</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="bk02.html">Prev</a> </td><th width="60%" align="center"></th><td width="20%" align="right"> <a accesskey="n" href="bk03.html">Next</a></td></tr></table><hr /></div><div class="article" title="API Documentation"><div class="titlepage"><div><div><h2 class="title"><a id="api"></a>API Documentation</h2></div><div><p class="copyright">Copyright © 
+ <html xmlns="http://www.w3.org/1999/xhtml"><head><title>The GNU C++ Library API Reference</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1"/><link rel="home" href="spine.html" title="The GNU C++ Library"/><link rel="up" href="bk02.html" title=""/><link rel="prev" href="bk02.html" title=""/><link rel="next" href="bk03.html" title=""/></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">The GNU C++ Library API Reference</th></tr><tr><td align="left"><a accesskey="p" href="bk02.html">Prev</a> </td><th width="60%" align="center"/><td align="right"> <a accesskey="n" href="bk03.html">Next</a></td></tr></table><hr/></div><div class="article" title="The GNU C++ Library API Reference"><div class="titlepage"><div><div><h2 class="title"><a id="api"/>The GNU C++ Library API Reference</h2></div><div><p class="copyright">Copyright © 
        2008
      , 
 -      2010
 +      2010, 2011
       
-       <a class="ulink" href="http://www.fsf.org/" target="_top">FSF
+       <a class="link" href="http://www.fsf.org/">FSF
        </a>
 @@ -19,8 +19,11 @@
    member functions for the library classes, finding out what is in a
@@ -27,10 +27,10 @@
  </p><p>
 -  The API documentation, rendered into HTML, can be viewed online:
 +  The API documentation, rendered into HTML, can be viewed here:
- </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>
-+      <a class="ulink" href="api/index.html" target="_top">for the 4.6 release, local
+ </p><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p>
++      <a class="ulink" href="api/index.html">for the 4.6 release, local
 +      </a>
 +    </p></li><li class="listitem"><p>
-       <a class="ulink" href="http://gcc.gnu.org/onlinedocs/libstdc++/libstdc++-html-USERS-3.4/index.html" target="_top">for the 3.4 release
+       <a class="link" href="http://gcc.gnu.org/onlinedocs/libstdc++/libstdc++-html-USERS-3.4/index.html">for the 3.4 release
        </a>
      </p></li><li class="listitem"><p>

diff --git a/gcc46-ppl-0.10.patch b/gcc46-ppl-0.10.patch
index 3ea7118..d43f34f 100644
--- a/gcc46-ppl-0.10.patch
+++ b/gcc46-ppl-0.10.patch
@@ -49,39 +49,39 @@ gcc/
  #endif
 --- configure.ac	(revision 169207)
 +++ configure.ac	(revision 169206)
-@@ -1668,9 +1668,9 @@ ENABLE_PPL_CHECK=yes)
- if test "x$with_ppl" != "xno" -a "${ENABLE_PPL_CHECK}" = "yes"; then
-   saved_CFLAGS="$CFLAGS"
-   CFLAGS="$CFLAGS $pplinc $gmpinc"
--  AC_MSG_CHECKING([for version 0.11 (or later revision) of PPL])
-+  AC_MSG_CHECKING([for version 0.10 (or later revision) of PPL])
-   AC_TRY_COMPILE([#include "ppl_c.h"],[
--  #if PPL_VERSION_MAJOR != 0 || PPL_VERSION_MINOR < 11
-+  #if PPL_VERSION_MAJOR != 0 || PPL_VERSION_MINOR < 10
-   choke me
-   #endif
-   ], [AC_MSG_RESULT([yes])], [AC_MSG_RESULT([no]); ppllibs= ; pplinc= ; with_ppl=no ])
+@@ -1688,9 +1688,9 @@ if test "x$with_ppl" != xno; then
+   if test "$enable_ppl_version_check" != no; then
+     saved_CFLAGS="$CFLAGS"
+     CFLAGS="$CFLAGS $pplinc $gmpinc"
+-    AC_MSG_CHECKING([for version 0.11 (revision 0 or later) of PPL])
++    AC_MSG_CHECKING([for version 0.10 (revision 0 or later) of PPL])
+     AC_TRY_COMPILE([#include "ppl_c.h"],[
+-    #if PPL_VERSION_MAJOR != 0 || PPL_VERSION_MINOR < 11
++    #if PPL_VERSION_MAJOR != 0 || PPL_VERSION_MINOR < 10
+     choke me
+     #endif
+     ], [AC_MSG_RESULT([yes])], [AC_MSG_RESULT([no]); ppllibs= ; pplinc= ; with_ppl=no ])
 --- configure	(revision 169207)
 +++ configure	(revision 169206)
-@@ -5716,8 +5716,8 @@ fi
- if test "x$with_ppl" != "xno" -a "${ENABLE_PPL_CHECK}" = "yes"; then
-   saved_CFLAGS="$CFLAGS"
-   CFLAGS="$CFLAGS $pplinc $gmpinc"
--  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for version 0.11 (or later revision) of PPL" >&5
--$as_echo_n "checking for version 0.11 (or later revision) of PPL... " >&6; }
-+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for version 0.10 (or later revision) of PPL" >&5
-+$as_echo_n "checking for version 0.10 (or later revision) of PPL... " >&6; }
-   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+@@ -5775,8 +5775,8 @@ fi
+   if test "$enable_ppl_version_check" != no; then
+     saved_CFLAGS="$CFLAGS"
+     CFLAGS="$CFLAGS $pplinc $gmpinc"
+-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for version 0.11 (revision 0 or later) of PPL" >&5
+-$as_echo_n "checking for version 0.11 (revision 0 or later) of PPL... " >&6; }
++    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for version 0.10 (revision 0 or later) of PPL" >&5
++$as_echo_n "checking for version 0.10 (revision 0 or later) of PPL... " >&6; }
+     cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  /* end confdefs.h.  */
  #include "ppl_c.h"
-@@ -5725,7 +5725,7 @@ int
+@@ -5784,7 +5784,7 @@ int
  main ()
  {
  
--  #if PPL_VERSION_MAJOR != 0 || PPL_VERSION_MINOR < 11
-+  #if PPL_VERSION_MAJOR != 0 || PPL_VERSION_MINOR < 10
-   choke me
-   #endif
+-    #if PPL_VERSION_MAJOR != 0 || PPL_VERSION_MINOR < 11
++    #if PPL_VERSION_MAJOR != 0 || PPL_VERSION_MINOR < 10
+     choke me
+     #endif
  
 --- gcc/testsuite/gcc.dg/graphite/interchange-11.c.jj	2011-01-28 09:38:11.000000000 +0100
 +++ gcc/testsuite/gcc.dg/graphite/interchange-11.c	2011-01-28 11:06:56.461429848 +0100

diff --git a/gcc46-pr47610.patch b/gcc46-pr47610.patch
deleted file mode 100644
index 777ce7b..0000000
--- a/gcc46-pr47610.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-2011-02-05  Jakub Jelinek  <jakub@redhat.com>
-
-	PR middle-end/47610
-	* varasm.c (default_section_type_flags): If decl is NULL,
-	and name is .data.rel.ro or .data.rel.ro.local, set SECTION_RELRO
-	bit.
-
---- gcc/varasm.c.jj	2011-02-03 20:09:38.000000000 +0100
-+++ gcc/varasm.c	2011-02-05 00:01:59.911796344 +0100
-@@ -6060,7 +6060,12 @@ default_section_type_flags (tree decl, c
- 	flags = SECTION_WRITE;
-     }
-   else
--    flags = SECTION_WRITE;
-+    {
-+      flags = SECTION_WRITE;
-+      if (strcmp (name, ".data.rel.ro") == 0
-+	  || strcmp (name, ".data.rel.ro.local") == 0)
-+	flags |= SECTION_RELRO;
-+    }
- 
-   if (decl && DECL_ONE_ONLY (decl))
-     flags |= SECTION_LINKONCE;

diff --git a/gcc46-pr47858.patch b/gcc46-pr47858.patch
new file mode 100644
index 0000000..8d05ac6
--- /dev/null
+++ b/gcc46-pr47858.patch
@@ -0,0 +1,23 @@
+2011-03-01  Jakub Jelinek  <jakub@redhat.com>
+
+	PR debug/47858
+	* opts.c (default_options_table): Enable -fipa-sra by default
+	only for -O3, not for -O2 and -Os.
+
+--- gcc/opts.c.jj	2011-02-20 08:36:59.888390890 +0100
++++ gcc/opts.c	2011-03-01 12:04:38.680558351 +0100
+@@ -487,13 +487,13 @@ static const struct default_options defa
+     { OPT_LEVELS_2_PLUS, OPT_ftree_switch_conversion, NULL, 1 },
+     { OPT_LEVELS_2_PLUS, OPT_fipa_cp, NULL, 1 },
+     { OPT_LEVELS_2_PLUS, OPT_fdevirtualize, NULL, 1 },
+-    { OPT_LEVELS_2_PLUS, OPT_fipa_sra, NULL, 1 },
+     { OPT_LEVELS_2_PLUS, OPT_falign_loops, NULL, 1 },
+     { OPT_LEVELS_2_PLUS, OPT_falign_jumps, NULL, 1 },
+     { OPT_LEVELS_2_PLUS, OPT_falign_labels, NULL, 1 },
+     { OPT_LEVELS_2_PLUS, OPT_falign_functions, NULL, 1 },
+ 
+     /* -O3 optimizations.  */
++    { OPT_LEVELS_3_PLUS, OPT_fipa_sra, NULL, 1 },
+     { OPT_LEVELS_3_PLUS, OPT_ftree_loop_distribute_patterns, NULL, 1 },
+     { OPT_LEVELS_3_PLUS, OPT_fpredictive_commoning, NULL, 1 },
+     /* Inlining of functions reducing size is a good idea with -Os

diff --git a/gcc46-unwind-debughook-sdt.patch b/gcc46-unwind-debughook-sdt.patch
deleted file mode 100644
index 3b87e39..0000000
--- a/gcc46-unwind-debughook-sdt.patch
+++ /dev/null
@@ -1,88 +0,0 @@
-2011-01-14  Tom Tromey  <tromey@redhat.com>
-
-	* unwind-dw2.c: Include sys/sdt.h if it exists.
-	(_Unwind_DebugHook): Use STAP_PROBE2.
-	* config.in, configure: Rebuild.
-	* configure.ac: Check for sys/sdt.h.
-
---- gcc/configure.ac
-+++ gcc/configure.ac
-@@ -4313,6 +4313,16 @@ if test x$gcc_cv_libc_provides_ssp = xyes; then
- 	    [Define if your target C library provides stack protector support])
- fi
- 
-+# Test for <sys/sdt.h> on the target.
-+GCC_TARGET_TEMPLATE([HAVE_SYS_SDT_H])
-+AC_MSG_CHECKING(sys/sdt.h in the target C library)
-+have_sys_sdt_h=no
-+if test -f $target_header_dir/sys/sdt.h; then
-+  AC_DEFINE(HAVE_SYS_SDT_H, 1,
-+            [Define if your target C library provides sys/sdt.h])
-+fi
-+AC_MSG_RESULT($have_sys_sdt_h)
-+
- # Check if TFmode long double should be used by default or not.
- # Some glibc targets used DFmode long double, but with glibc 2.4
- # and later they can use TFmode.
---- gcc/unwind-dw2.c
-+++ gcc/unwind-dw2.c
-@@ -37,6 +37,10 @@
- #include "gthr.h"
- #include "unwind-dw2.h"
- 
-+#ifdef HAVE_SYS_SDT_H
-+#include <sys/sdt.h>
-+#endif
-+
- #ifndef __USING_SJLJ_EXCEPTIONS__
- 
- #ifndef STACK_GROWS_DOWNWARD
-@@ -1493,7 +1497,13 @@ static void
- _Unwind_DebugHook (void *cfa __attribute__ ((__unused__)),
- 		   void *handler __attribute__ ((__unused__)))
- {
-+  /* We only want to use stap probes starting with v3.  Earlier
-+     versions added too much startup cost.  */
-+#if defined (HAVE_SYS_SDT_H) && defined (STAP_PROBE2) && _SDT_NOTE_TYPE >= 3
-+  STAP_PROBE2 (libgcc, unwind, cfa, handler);
-+#else
-   asm ("");
-+#endif
- }
- 
- /* Install TARGET into CURRENT so that we can return to it.  This is a
-
---- gcc/config.in.jj	2011-01-22 10:21:47.000000000 +0100
-+++ gcc/config.in	2011-01-22 11:10:39.000000000 +0100
-@@ -1405,6 +1407,9 @@
- #endif
- 
- 
-+/* Define if your target C library provides sys/sdt.h */
-+#undef HAVE_SYS_SDT_H
-+
- /* Define to 1 if you have the <sys/stat.h> header file. */
- #ifndef USED_FOR_TARGET
- #undef HAVE_SYS_STAT_H
---- gcc/configure.jj	2011-01-22 10:20:55.000000000 +0100
-+++ gcc/configure	2011-01-22 11:10:34.990648298 +0100
-@@ -25757,6 +25757,19 @@ $as_echo "#define TARGET_LIBC_PROVIDES_S
- 
- fi
- 
-+# Test for <sys/sdt.h> on the target.
-+
-+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking sys/sdt.h in the target C library" >&5
-+$as_echo_n "checking sys/sdt.h in the target C library... " >&6; }
-+have_sys_sdt_h=no
-+if test -f $target_header_dir/sys/sdt.h; then
-+
-+$as_echo "#define HAVE_SYS_SDT_H 1" >>confdefs.h
-+
-+fi
-+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $have_sys_sdt_h" >&5
-+$as_echo "$have_sys_sdt_h" >&6; }
-+
- # Check if TFmode long double should be used by default or not.
- # Some glibc targets used DFmode long double, but with glibc 2.4
- # and later they can use TFmode.

diff --git a/sources b/sources
index 224f569..393cc66 100644
--- a/sources
+++ b/sources
@@ -1,2 +1,2 @@
 2659f09c2e43ef8b7d4406321753f1b2  fastjar-0.97.tar.gz
-262b320051245fab671a5ec8429381cf  gcc-4.6.0-20110205.tar.bz2
+5bd7ccfedc39a9e978cac5d198cc8485  gcc-4.6.0-20110525.tar.bz2

^ permalink raw reply related	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2026-06-29 12:27 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-06-29 12:27 [rpms/gcc] rhel-f41-base: Merge branch 'master' of ssh://pkgs.fedoraproject.org/gcc Jakub Jelinek
  -- strict thread matches above, loose matches on Subject: below --
2026-06-29 12:25 Jon Ciesla
2026-06-29 12:25 Jakub Jelinek

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox