]> TLD Linux GIT Repositories - packages/gcc.git/commitdiff
- merged and TLDized GCC 4.7.3 from PLD
authorMarcin Krol <hawk@tld-linux.org>
Sat, 13 Apr 2013 13:01:18 +0000 (13:01 +0000)
committerMarcin Krol <hawk@tld-linux.org>
Sat, 13 Apr 2013 13:01:18 +0000 (13:01 +0000)
gcc-ada-link.patch
gcc-branch.diff
gcc-build-id.patch [new file with mode: 0644]
gcc-cloog.patch [new file with mode: 0644]
gcc-extern-template-sed.patch [deleted file]
gcc-nodebug.patch
gcc-plugin-decl-hook.patch [deleted file]
gcc.spec
libffi.pc.in

index e3df27e6eba9f29b872422406e2f77740bd0d4b9..82cf03f0a16aaab420979c3c565ac1d5d805fc9d 100644 (file)
@@ -1,9 +1,9 @@
 --- a/gcc/ada/link.c   2004-09-13 12:18:40.000000000 +0200
 +++ b/gcc/ada/link.c   2004-09-26 12:24:29.079704096 +0200
-@@ -213,10 +213,10 @@
+@@ -157,10 +157,10 @@
  
  #elif defined (linux) || defined(__GLIBC__)
- const char *__gnat_object_file_option = "";
+ const char *__gnat_object_file_option = "-Wl,@";
 -const char *__gnat_run_path_option = "-Wl,-rpath,";
 +const char *__gnat_run_path_option = "";
  char __gnat_shared_libgnat_default = STATIC;
@@ -12,8 +12,8 @@
 +char __gnat_shared_libgcc_default = SHARED;
 +int __gnat_link_max = 131072;
  unsigned char __gnat_objlist_file_supported = 1;
- unsigned char __gnat_using_gnu_linker = 1;
  const char *__gnat_object_library_extension = ".a";
+ unsigned char __gnat_separate_run_path_options = 0;
 --- a/gcc/ada/gcc-interface/Make-lang.in       2004-09-01 12:46:47.000000000 +0200
 +++ b/gcc/ada/gcc-interface/Make-lang.in       2004-09-26 12:21:15.135188144 +0200
 @@ -378,7 +378,7 @@
        cd $(RTSDIR); $(LN_S) libgnarl$(hyphen)$(LIBRARY_VERSION)$(soext) \
 --- a/gcc/ada/gcc-interface/Makefile.in~       2011-03-27 13:01:06.697666231 +0200
 +++ b/gcc/ada/gcc-interface/Makefile.in        2011-03-27 13:08:55.725801177 +0200
-@@ -2500,7 +2500,7 @@
-            THREAD_KIND="$(THREAD_KIND)" \
+@@ -2612,14 +2612,14 @@
               gnatlib
        $(RM) $(RTSDIR)/libgna*$(soext)
--      cd $(RTSDIR); ../../xgcc -B../../ -shared $(GNATLIBCFLAGS) \
-+      cd $(RTSDIR); ../../xgcc -B../../ -shared -shared-libgcc $(GNATLIBCFLAGS) \
-               $(TARGET_LIBGCC2_CFLAGS) \
+       cd $(RTSDIR); `echo "$(GCC_FOR_TARGET)" \
+-                | sed -e 's,\./xgcc,../../xgcc,' -e 's,-B\./,-B../../,'` -shared $(GNATLIBCFLAGS) \
++                | sed -e 's,\./xgcc,../../xgcc,' -e 's,-B\./,-B../../,'` -shared -shared-libgcc $(GNATLIBCFLAGS) \
+               $(PICFLAG_FOR_TARGET) \
                -o libgnat$(hyphen)$(LIBRARY_VERSION)$(soext) \
                $(GNATRTL_NONTASKING_OBJS) $(LIBGNAT_OBJS) \
+               $(SO_OPTS)libgnat$(hyphen)$(LIBRARY_VERSION)$(soext) \
+               $(MISCLIB) -lm
+       cd $(RTSDIR); `echo "$(GCC_FOR_TARGET)" \
+-                | sed -e 's,\./xgcc,../../xgcc,' -e 's,-B\./,-B../../,'` -shared $(GNATLIBCFLAGS) \
++                | sed -e 's,\./xgcc,../../xgcc,' -e 's,-B\./,-B../../,'` -shared -shared-libgcc $(GNATLIBCFLAGS) \
+               $(PICFLAG_FOR_TARGET) \
+               -o libgnarl$(hyphen)$(LIBRARY_VERSION)$(soext) \
+               $(GNATRTL_TASKING_OBJS) \
 
index bc5227dc41ae21ee3208107c68249839cfae095f..ae7334d737326c96c72cbba3afde2973715fe896 100644 (file)
-Index: gcc/targhooks.c
-===================================================================
---- gcc/targhooks.c    (.../tags/gcc_4_6_3_release)    (wersja 185440)
-+++ gcc/targhooks.c    (.../branches/gcc-4_6-branch)   (wersja 185440)
-@@ -529,6 +529,7 @@
-       case scalar_to_vec:
-       case cond_branch_not_taken:
-       case vec_perm:
-+      case vec_promote_demote:
-         return 1;
-       case unaligned_load:
-Index: gcc/DATESTAMP
-===================================================================
---- gcc/DATESTAMP      (.../tags/gcc_4_6_3_release)    (wersja 185440)
-+++ gcc/DATESTAMP      (.../branches/gcc-4_6-branch)   (wersja 185440)
-@@ -1 +1 @@
--20120301
-+20120315
-Index: gcc/target.h
-===================================================================
---- gcc/target.h       (.../tags/gcc_4_6_3_release)    (wersja 185440)
-+++ gcc/target.h       (.../branches/gcc-4_6-branch)   (wersja 185440)
-@@ -128,7 +128,8 @@
-   scalar_to_vec,
-   cond_branch_not_taken,
-   cond_branch_taken,
--  vec_perm
-+  vec_perm,
-+  vec_promote_demote
- };
- /* Sets of optimization levels at which an option may be enabled by
 Index: gcc/DEV-PHASE
 ===================================================================
---- gcc/DEV-PHASE      (.../tags/gcc_4_6_3_release)    (wersja 185440)
-+++ gcc/DEV-PHASE      (.../branches/gcc-4_6-branch)   (wersja 185440)
+--- gcc/DEV-PHASE      (.../tags/gcc_4_7_3_release)    (wersja 197768)
++++ gcc/DEV-PHASE      (.../branches/gcc-4_7-branch)   (wersja 197768)
 @@ -0,0 +1 @@
 +prerelease
 Index: gcc/ChangeLog
 ===================================================================
---- gcc/ChangeLog      (.../tags/gcc_4_6_3_release)    (wersja 185440)
-+++ gcc/ChangeLog      (.../branches/gcc-4_6-branch)   (wersja 185440)
-@@ -1,3 +1,101 @@
-+2012-03-15  Chung-Lin Tang  <cltang@codesourcery.com>
-+
-+      Backport from mainline
-+      2012-03-10  Chung-Lin Tang  <cltang@codesourcery.com>
-+
-+      PR rtl-optimization/52528
-+      * combine.c (can_combine_p): Add setting of subst_low_luid
-+      before call to expand_field_assignment().
-+
-+2012-03-12  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
-+
-+      Backport from mainline
-+      2011-09-03  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
-+
-+      PR Bug middle-end/50232
-+      * config/pa/pa.md (return): Define "return" insn pattern.
-+      (epilogue): Use it when no epilogue is needed.
-+      * config/pa/pa.c (pa_can_use_return_insn): New function.
-+      * config/pa/pa-protos.h (pa_can_use_return_insn): Declare.
-+
-+      Backport for mainline
-+      2012-01-28  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
-+
-+      PR target/51871
-+      * config/pa/pa.c (pa_return_addr_rtx): Add support for PA2.0 export
-+      stubs.
-+
-+2012-03-06  Michael Meissner  <meissner@linux.vnet.ibm.com>
-+
-+      Backport from mainline
-+      PR target/50310
-+      * config/rs6000/vector.md (vector_uneq<mode>): Add support for
-+      UNEQ, LTGT, ORDERED, and UNORDERED IEEE vector comparisons.
-+      (vector_ltgt<mode>): Likewise.
-+      (vector_ordered<mode>): Likewise.
-+      (vector_unordered<mode>): Likewise.
-+      * config/rs6000/rs6000.c (rs6000_emit_vector_compare_inner):
-+      Likewise.
-+
-+2012-03-04  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
-+
-+      Backport from mainline
-+      2012-03-01  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
-+
-+      PR target/52408
-+      * config/pa/pa.md (zvdep_imm32): Change type of variable x from int to
-+      unsigned HOST_WIDE_INT.
-+      (zvdep_imm64): Likewise.
-+      (vdepi_ior): Change type of variable x from int to HOST_WIDE_INT.
-+      (vdepi_and): Likewise.
-+      Likewise for unamed 64-bit patterns.
-+      * config/pa/predicates.md (lhs_lshift_cint_operand): Update comment.
-+
-+2012-03-03  Eric Botcazou  <ebotcazou@adacore.com>
-+
-+      PR target/52425
-+      Backport from mainline
-+      2011-05-22  Eric Botcazou  <ebotcazou@adacore.com>
-+
-+      * config/sparc/sparc.c (sparc_delegitimize_address): Handle
-+      UNSPEC_MOVE_PIC pattern.
-+
-+2012-03-02  Peter Bergner  <bergner@vnet.ibm.com>
-+
-+      Backport from mainline
-+      2012-03-02  Peter Bergner  <bergner@vnet.ibm.com>
-+
-+      * config/rs6000/vsx.md (vsx_set_<mode>): Reorder operands.
-+
-+2012-03-02  Bill Schmidt <wschmidt@linux.vnet.ibm.com>
-+          Ira Rosen <irar@il.ibm.com>
-+
-+      PR tree-optimization/50031
-+      PR tree-optimization/50969
-+      * targhooks.c (default_builtin_vectorization_cost): Handle
-+      vec_promote_demote.
-+      * target.h (enum vect_cost_for_stmt): Add vec_promote_demote.
-+      * tree-vect-loop.c (vect_get_single_scalar_iteraion_cost): Handle
-+      all types of reduction and pattern statements.
-+      (vect_estimate_min_profitable_iters): Likewise.
-+      * tree-vect-stmts.c (vect_model_promotion_demotion_cost): New function.
-+      (vect_model_store_cost): Use vec_perm rather than vector_stmt for
-+      statement cost.
-+      (vect_model_load_cost): Likewise.
-+      (vect_get_load_cost): Likewise; add dump logic for explicit realigns.
-+      (vectorizable_type_demotion): Call vect_model_promotion_demotion_cost.
-+      (vectorizable_type_promotion): Likewise.
-+      * config/spu/spu.c (spu_builtin_vectorization_cost): Handle
-+      vec_promote_demote.
-+      * config/i386/i386.c (ix86_builtin_vectorization_cost): Likewise.
-+      * config/rs6000/rs6000.c (rs6000_builtin_vectorization_cost): Update
-+      vec_perm for VSX and handle vec_promote_demote.
+--- gcc/ChangeLog      (.../tags/gcc_4_7_3_release)    (wersja 197768)
++++ gcc/ChangeLog      (.../branches/gcc-4_7-branch)   (wersja 197768)
+@@ -1,3 +1,8 @@
++2013-04-11  Richard Biener  <rguenther@suse.de>
 +
-+2012-03-01  Jakub Jelinek  <jakub@redhat.com>
-+
-+      * BASE-VER: Set to 4.6.4.
++      * BASE-VER: Set to 4.7.4.
 +      * DEV-PHASE: Set to prerelease.
 +
- 2012-03-01  Release Manager
+ 2013-04-11  Release Manager
  
-       * GCC 4.6.3 released.
-Index: gcc/testsuite/gcc.target/powerpc/pr52457.c
-===================================================================
---- gcc/testsuite/gcc.target/powerpc/pr52457.c (.../tags/gcc_4_6_3_release)    (wersja 0)
-+++ gcc/testsuite/gcc.target/powerpc/pr52457.c (.../branches/gcc-4_6-branch)   (wersja 185440)
-@@ -0,0 +1,34 @@
-+/* { dg-do run { target { powerpc*-*-linux* } } } */
-+/* { dg-skip-if "" { powerpc*-*-darwin* } { "*" } { "" } } */
-+/* { dg-skip-if "" { powerpc*-*-*spe* } { "*" } { "" } } */
-+/* { dg-require-effective-target vsx_hw } */
-+/* { dg-options "-O1 -mcpu=power7" } */
-+
-+extern void abort (void);
-+
-+typedef long long T;
-+typedef T vl_t __attribute__((vector_size(2 * sizeof (T))));
-+
-+vl_t
-+buggy_func (T x)
-+{
-+  vl_t w;
-+  T *p = (T *)&w;
-+  p[0] = p[1] = x;
-+  return w;
-+}
-+
-+int
-+main(void)
-+{
-+  vl_t rval;
-+  T *pl;
-+
-+  pl = (T *) &rval;
-+  rval = buggy_func (2);
-+
-+  if (pl[0] != 2 || pl[1] != 2)
-+    abort ();
-+
-+  return 0;
-+}
-Index: gcc/testsuite/gfortran.dg/intrinsic_8.f90
-===================================================================
---- gcc/testsuite/gfortran.dg/intrinsic_8.f90  (.../tags/gcc_4_6_3_release)    (wersja 0)
-+++ gcc/testsuite/gfortran.dg/intrinsic_8.f90  (.../branches/gcc-4_6-branch)   (wersja 185440)
-@@ -0,0 +1,23 @@
-+! { dg-do compile }
-+!
-+! PR fortran/52452
-+!
-+! Contributed by Roger Ferrer Ibanez
-+!
-+PROGRAM test_etime
-+    IMPLICIT NONE
-+    INTRINSIC :: etime
-+    REAL(4) :: tarray(1:2)
-+    REAL(4) :: result
-+
-+    CALL etime(tarray, result)
-+END PROGRAM test_etime
-+
-+subroutine test_etime2
-+    IMPLICIT NONE
-+    INTRINSIC :: etime
-+    REAL(4) :: tarray(1:2)
-+    REAL(4) :: result
-+
-+    result = etime(tarray)
-+END subroutine test_etime2
-Index: gcc/testsuite/gfortran.dg/proc_ptr_34.f90
-===================================================================
---- gcc/testsuite/gfortran.dg/proc_ptr_34.f90  (.../tags/gcc_4_6_3_release)    (wersja 0)
-+++ gcc/testsuite/gfortran.dg/proc_ptr_34.f90  (.../branches/gcc-4_6-branch)   (wersja 185440)
-@@ -0,0 +1,79 @@
-+! { dg-do compile }
-+!
-+! PR fortran/52469
-+!
-+! This was failing as the DECL of the proc pointer "func"
-+! was used for the interface of the proc-pointer component "my_f_ptr"
-+! rather than the decl of the proc-pointer target
-+!
-+! Contributed by palott@gmail.com
-+!
-+
-+module ExampleFuncs
-+  implicit none
-+
-+  ! NOTE: "func" is a procedure pointer!
-+  pointer :: func
-+  interface
-+     function func (z)
-+        real :: func
-+        real, intent (in) :: z
-+     end function func
-+  end interface
-+
-+  type Contains_f_ptr
-+     procedure (func), pointer, nopass :: my_f_ptr
-+  end type Contains_f_ptr
-+contains
-+
-+function f1 (x)
-+  real :: f1
-+  real, intent (in) :: x
-+
-+  f1 = 2.0 * x
-+
-+  return
-+end function f1
-+
-+function f2 (x)
-+   real :: f2
-+   real, intent (in) :: x
-+
-+   f2 = 3.0 * x**2
-+
-+   return
-+end function f2
-+
-+function fancy (func, x)
-+   real :: fancy
-+   real, intent (in) :: x
-+
-+   interface AFunc
-+      function func (y)
-+         real :: func
-+         real, intent (in) ::y
-+      end function func
-+   end interface AFunc
-+
-+   fancy = func (x) + 3.3 * x
-+end function fancy
-+
-+end module  ExampleFuncs
-+
-+
-+program test_proc_ptr
-+  use ExampleFuncs
-+  implicit none
-+
-+  type (Contains_f_ptr), dimension (2) :: NewType
-+ 
-+  !NewType(1) % my_f_ptr => f1
-+  NewType(2) % my_f_ptr => f2
-+
-+  !write (*, *) NewType(1) % my_f_ptr (3.0), NewType(2) % my_f_ptr (3.0)
-+  write (6, *)  NewType(2) % my_f_ptr (3.0) ! < Shall print '27.0'
-+
-+  stop
-+end program test_proc_ptr
-+
-+! { dg-final { cleanup-modules "examplefuncs" } }
-Index: gcc/testsuite/ChangeLog
-===================================================================
---- gcc/testsuite/ChangeLog    (.../tags/gcc_4_6_3_release)    (wersja 185440)
-+++ gcc/testsuite/ChangeLog    (.../branches/gcc-4_6-branch)   (wersja 185440)
-@@ -1,3 +1,23 @@
-+2012-03-10  Tobias Burnus  <burnus@net-b.de>
-+
-+      PR fortran/52469
-+      * gfortran.dg/proc_ptr_34.f90: New.
-+
-+2012-03-06  Tobias Burnus  <burnus@net-b.de>
-+
-+      Backport from mainline
-+      2012-03-02  Tobias Burnus  <burnus@net-b.de>
-+
-+      PR fortran/52452
-+      * gfortran.dg/intrinsic_8.f90: New.
-+
-+2012-03-02  Peter Bergner  <bergner@vnet.ibm.com>
-+
-+      Backport from mainline
-+      2012-03-02  Peter Bergner  <bergner@vnet.ibm.com>
-+
-+      * gcc.target/powerpc/pr52457.c: New test.
-+
- 2012-03-01  Release Manager
-       * GCC 4.6.3 released.
-Index: gcc/fortran/ChangeLog
-===================================================================
---- gcc/fortran/ChangeLog      (.../tags/gcc_4_6_3_release)    (wersja 185440)
-+++ gcc/fortran/ChangeLog      (.../branches/gcc-4_6-branch)   (wersja 185440)
-@@ -1,3 +1,18 @@
-+2012-03-10  Tobias Burnus  <burnus@net-b.de>
-+
-+      PR fortran/52469
-+      * trans-types.c (gfc_get_function_type): Handle backend_decl
-+      of a procedure pointer.
-+
-+2012-03-06  Tobias Burnus  <burnus@net-b.de>
-+
-+      Backport from mainline
-+      2012-03-02  Tobias Burnus  <burnus@net-b.de>
-+
-+      PR fortran/52452
-+      * resolve.c (resolve_intrinsic): Don't search for a
-+      function if we know that it is a subroutine.
-+
- 2012-03-01  Release Manager
-       * GCC 4.6.3 released.
-Index: gcc/fortran/trans-types.c
-===================================================================
---- gcc/fortran/trans-types.c  (.../tags/gcc_4_6_3_release)    (wersja 185440)
-+++ gcc/fortran/trans-types.c  (.../branches/gcc-4_6-branch)   (wersja 185440)
-@@ -2519,7 +2519,11 @@
-             || sym->attr.flavor == FL_PROGRAM);
-   if (sym->backend_decl)
--    return TREE_TYPE (sym->backend_decl);
-+    {
-+      if (sym->attr.proc_pointer)
-+      return TREE_TYPE (TREE_TYPE (sym->backend_decl));
-+      return TREE_TYPE (sym->backend_decl);
-+    }
-   alternate_return = 0;
-   typelist = NULL_TREE;
-Index: gcc/fortran/resolve.c
-===================================================================
---- gcc/fortran/resolve.c      (.../tags/gcc_4_6_3_release)    (wersja 185440)
-+++ gcc/fortran/resolve.c      (.../branches/gcc-4_6-branch)   (wersja 185440)
-@@ -1452,7 +1452,7 @@
-   if (sym->intmod_sym_id)
-     isym = gfc_intrinsic_function_by_id ((gfc_isym_id) sym->intmod_sym_id);
--  else
-+  else if (!sym->attr.subroutine)
-     isym = gfc_find_function (sym->name);
-   if (isym)
+       * GCC 4.7.3 released.
 Index: gcc/BASE-VER
 ===================================================================
---- gcc/BASE-VER       (.../tags/gcc_4_6_3_release)    (wersja 185440)
-+++ gcc/BASE-VER       (.../branches/gcc-4_6-branch)   (wersja 185440)
+--- gcc/BASE-VER       (.../tags/gcc_4_7_3_release)    (wersja 197768)
++++ gcc/BASE-VER       (.../branches/gcc-4_7-branch)   (wersja 197768)
 @@ -1 +1 @@
--4.6.3
-+4.6.4
-Index: gcc/tree-vect-loop.c
-===================================================================
---- gcc/tree-vect-loop.c       (.../tags/gcc_4_6_3_release)    (wersja 185440)
-+++ gcc/tree-vect-loop.c       (.../branches/gcc-4_6-branch)   (wersja 185440)
-@@ -2104,7 +2104,8 @@
-           if (stmt_info
-               && !STMT_VINFO_RELEVANT_P (stmt_info)
-               && (!STMT_VINFO_LIVE_P (stmt_info)
--                  || STMT_VINFO_DEF_TYPE (stmt_info) != vect_reduction_def))
-+                  || !VECTORIZABLE_CYCLE_DEF (STMT_VINFO_DEF_TYPE (stmt_info)))
-+            && !STMT_VINFO_IN_PATTERN_P (stmt_info))
-             continue;
-           if (STMT_VINFO_DATA_REF (vinfo_for_stmt (stmt)))
-@@ -2251,11 +2252,19 @@
-       {
-         gimple stmt = gsi_stmt (si);
-         stmt_vec_info stmt_info = vinfo_for_stmt (stmt);
-+
-+        if (STMT_VINFO_IN_PATTERN_P (stmt_info))
-+          {
-+            stmt = STMT_VINFO_RELATED_STMT (stmt_info);
-+            stmt_info = vinfo_for_stmt (stmt);
-+          }
-+
-         /* Skip stmts that are not vectorized inside the loop.  */
-         if (!STMT_VINFO_RELEVANT_P (stmt_info)
-             && (!STMT_VINFO_LIVE_P (stmt_info)
--                || STMT_VINFO_DEF_TYPE (stmt_info) != vect_reduction_def))
-+                || !VECTORIZABLE_CYCLE_DEF (STMT_VINFO_DEF_TYPE (stmt_info))))
-           continue;
-+
-         vec_inside_cost += STMT_VINFO_INSIDE_OF_LOOP_COST (stmt_info) * factor;
-         /* FIXME: for stmts in the inner-loop in outer-loop vectorization,
-            some of the "outside" costs are generated inside the outer-loop.  */
-Index: gcc/tree-vect-stmts.c
-===================================================================
---- gcc/tree-vect-stmts.c      (.../tags/gcc_4_6_3_release)    (wersja 185440)
-+++ gcc/tree-vect-stmts.c      (.../branches/gcc-4_6-branch)   (wersja 185440)
-@@ -623,6 +623,46 @@
- }
-+/* Model cost for type demotion and promotion operations.  PWR is normally
-+   zero for single-step promotions and demotions.  It will be one if 
-+   two-step promotion/demotion is required, and so on.  Each additional
-+   step doubles the number of instructions required.  */
-+
-+static void
-+vect_model_promotion_demotion_cost (stmt_vec_info stmt_info,
-+                                  enum vect_def_type *dt, int pwr)
-+{
-+  int i, tmp;
-+  int inside_cost = 0, outside_cost = 0, single_stmt_cost;
-+
-+  /* The SLP costs were already calculated during SLP tree build.  */
-+  if (PURE_SLP_STMT (stmt_info))
-+    return;
-+
-+  single_stmt_cost = vect_get_stmt_cost (vec_promote_demote);
-+  for (i = 0; i < pwr + 1; i++)
-+    {
-+      tmp = (STMT_VINFO_TYPE (stmt_info) == type_promotion_vec_info_type) ?
-+      (i + 1) : i;
-+      inside_cost += vect_pow2 (tmp) * single_stmt_cost;
-+    }
-+
-+  /* FORNOW: Assuming maximum 2 args per stmts.  */
-+  for (i = 0; i < 2; i++)
-+    {
-+      if (dt[i] == vect_constant_def || dt[i] == vect_external_def)
-+        outside_cost += vect_get_stmt_cost (vector_stmt);
-+    }
-+
-+  if (vect_print_dump_info (REPORT_COST))
-+    fprintf (vect_dump, "vect_model_promotion_demotion_cost: inside_cost = %d, "
-+             "outside_cost = %d .", inside_cost, outside_cost);
-+
-+  /* Set the costs in STMT_INFO.  */
-+  stmt_vinfo_set_inside_of_loop_cost (stmt_info, NULL, inside_cost);
-+  stmt_vinfo_set_outside_of_loop_cost (stmt_info, NULL, outside_cost);
-+}
-+
- /* Function vect_cost_strided_group_size
-    For strided load or store, return the group_size only if it is the first
-@@ -691,7 +731,7 @@
-     {
-       /* Uses a high and low interleave operation for each needed permute.  */
-       inside_cost = ncopies * exact_log2(group_size) * group_size
--        * vect_get_stmt_cost (vector_stmt);
-+        * vect_get_stmt_cost (vec_perm);
-       if (vect_print_dump_info (REPORT_COST))
-         fprintf (vect_dump, "vect_model_store_cost: strided group_size = %d .",
-@@ -795,7 +835,7 @@
-     {
-       /* Uses an even and odd extract operations for each needed permute.  */
-       inside_cost = ncopies * exact_log2(group_size) * group_size
--      * vect_get_stmt_cost (vector_stmt);
-+      * vect_get_stmt_cost (vec_perm);
-       if (vect_print_dump_info (REPORT_COST))
-         fprintf (vect_dump, "vect_model_load_cost: strided group_size = %d .",
-@@ -855,7 +895,7 @@
-     case dr_explicit_realign:
-       {
-         *inside_cost += ncopies * (2 * vect_get_stmt_cost (vector_load)
--           + vect_get_stmt_cost (vector_stmt));
-+                                 + vect_get_stmt_cost (vec_perm));
-         /* FIXME: If the misalignment remains fixed across the iterations of
-            the containing loop, the following cost should be added to the
-@@ -863,6 +903,9 @@
-         if (targetm.vectorize.builtin_mask_for_load)
-           *inside_cost += vect_get_stmt_cost (vector_stmt);
-+        if (vect_print_dump_info (REPORT_COST))
-+          fprintf (vect_dump, "vect_model_load_cost: explicit realign");
-+
-         break;
-       }
-     case dr_explicit_realign_optimized:
-@@ -886,7 +929,12 @@
-           }
-         *inside_cost += ncopies * (vect_get_stmt_cost (vector_load)
--          + vect_get_stmt_cost (vector_stmt));
-+                                 + vect_get_stmt_cost (vec_perm));
-+
-+        if (vect_print_dump_info (REPORT_COST))
-+          fprintf (vect_dump,
-+                 "vect_model_load_cost: explicit realign optimized");
-+
-         break;
-       }
-@@ -2919,7 +2967,7 @@
-       STMT_VINFO_TYPE (stmt_info) = type_demotion_vec_info_type;
-       if (vect_print_dump_info (REPORT_DETAILS))
-         fprintf (vect_dump, "=== vectorizable_demotion ===");
--      vect_model_simple_cost (stmt_info, ncopies, dt, NULL);
-+      vect_model_promotion_demotion_cost (stmt_info, dt, multi_step_cvt);
-       return true;
-     }
-@@ -3217,7 +3265,7 @@
-       STMT_VINFO_TYPE (stmt_info) = type_promotion_vec_info_type;
-       if (vect_print_dump_info (REPORT_DETAILS))
-         fprintf (vect_dump, "=== vectorizable_promotion ===");
--      vect_model_simple_cost (stmt_info, 2*ncopies, dt, NULL);
-+      vect_model_promotion_demotion_cost (stmt_info, dt, multi_step_cvt);
-       return true;
-     }
-Index: gcc/combine.c
-===================================================================
---- gcc/combine.c      (.../tags/gcc_4_6_3_release)    (wersja 185440)
-+++ gcc/combine.c      (.../branches/gcc-4_6-branch)   (wersja 185440)
-@@ -1788,6 +1788,10 @@
-   if (set == 0)
-     return 0;
-+  /* The simplification in expand_field_assignment may call back to
-+     get_last_value, so set safe guard here.  */
-+  subst_low_luid = DF_INSN_LUID (insn);
-+
-   set = expand_field_assignment (set);
-   src = SET_SRC (set), dest = SET_DEST (set);
-Index: gcc/config/spu/spu.c
-===================================================================
---- gcc/config/spu/spu.c       (.../tags/gcc_4_6_3_release)    (wersja 185440)
-+++ gcc/config/spu/spu.c       (.../branches/gcc-4_6-branch)   (wersja 185440)
-@@ -6794,6 +6794,7 @@
-       case scalar_to_vec:
-       case cond_branch_not_taken:
-       case vec_perm:
-+      case vec_promote_demote:
-         return 1;
-       case scalar_store:
-Index: gcc/config/sparc/sparc.c
-===================================================================
---- gcc/config/sparc/sparc.c   (.../tags/gcc_4_6_3_release)    (wersja 185440)
-+++ gcc/config/sparc/sparc.c   (.../branches/gcc-4_6-branch)   (wersja 185440)
-@@ -3658,13 +3658,17 @@
- {
-   x = delegitimize_mem_from_attrs (x);
--  if (GET_CODE (x) == LO_SUM
--      && GET_CODE (XEXP (x, 1)) == UNSPEC
--      && XINT (XEXP (x, 1), 1) == UNSPEC_TLSLE)
--    {
--      x = XVECEXP (XEXP (x, 1), 0, 0);
--      gcc_assert (GET_CODE (x) == SYMBOL_REF);
--    }
-+  if (GET_CODE (x) == LO_SUM && GET_CODE (XEXP (x, 1)) == UNSPEC)
-+    switch (XINT (XEXP (x, 1), 1))
-+      {
-+      case UNSPEC_MOVE_PIC:
-+      case UNSPEC_TLSLE:
-+      x = XVECEXP (XEXP (x, 1), 0, 0);
-+      gcc_assert (GET_CODE (x) == SYMBOL_REF);
-+      break;
-+      default:
-+      break;
-+      }
-   return x;
- }
-Index: gcc/config/i386/i386.c
-===================================================================
---- gcc/config/i386/i386.c     (.../tags/gcc_4_6_3_release)    (wersja 185440)
-+++ gcc/config/i386/i386.c     (.../branches/gcc-4_6-branch)   (wersja 185440)
-@@ -32823,7 +32823,8 @@
-         return ix86_cost->cond_not_taken_branch_cost;
-       case vec_perm:
--        return 1;
-+      case vec_promote_demote:
-+        return ix86_cost->vec_stmt_cost;
-       default:
-         gcc_unreachable ();
-Index: gcc/config/rs6000/vector.md
-===================================================================
---- gcc/config/rs6000/vector.md        (.../tags/gcc_4_6_3_release)    (wersja 185440)
-+++ gcc/config/rs6000/vector.md        (.../branches/gcc-4_6-branch)   (wersja 185440)
-@@ -448,6 +448,94 @@
-   "VECTOR_UNIT_ALTIVEC_P (<MODE>mode)"
-   "")
-+(define_insn_and_split "*vector_uneq<mode>"
-+  [(set (match_operand:VEC_F 0 "vfloat_operand" "")
-+      (uneq:VEC_F (match_operand:VEC_F 1 "vfloat_operand" "")
-+                  (match_operand:VEC_F 2 "vfloat_operand" "")))]
-+  "VECTOR_UNIT_ALTIVEC_OR_VSX_P (<MODE>mode)"
-+  "#"
-+  ""
-+  [(set (match_dup 3)
-+      (gt:VEC_F (match_dup 1)
-+                (match_dup 2)))
-+   (set (match_dup 4)
-+      (gt:VEC_F (match_dup 2)
-+                (match_dup 1)))
-+   (set (match_dup 0)
-+      (not:VEC_F (ior:VEC_F (match_dup 3)
-+                            (match_dup 4))))]
-+  "
-+{
-+  operands[3] = gen_reg_rtx (<MODE>mode);
-+  operands[4] = gen_reg_rtx (<MODE>mode);
-+}")
-+
-+(define_insn_and_split "*vector_ltgt<mode>"
-+  [(set (match_operand:VEC_F 0 "vfloat_operand" "")
-+      (ltgt:VEC_F (match_operand:VEC_F 1 "vfloat_operand" "")
-+                  (match_operand:VEC_F 2 "vfloat_operand" "")))]
-+  "VECTOR_UNIT_ALTIVEC_OR_VSX_P (<MODE>mode)"
-+  "#"
-+  ""
-+  [(set (match_dup 3)
-+      (gt:VEC_F (match_dup 1)
-+                (match_dup 2)))
-+   (set (match_dup 4)
-+      (gt:VEC_F (match_dup 2)
-+                (match_dup 1)))
-+   (set (match_dup 0)
-+      (ior:VEC_F (match_dup 3)
-+                 (match_dup 4)))]
-+  "
-+{
-+  operands[3] = gen_reg_rtx (<MODE>mode);
-+  operands[4] = gen_reg_rtx (<MODE>mode);
-+}")
-+
-+(define_insn_and_split "*vector_ordered<mode>"
-+  [(set (match_operand:VEC_F 0 "vfloat_operand" "")
-+      (ordered:VEC_F (match_operand:VEC_F 1 "vfloat_operand" "")
-+                     (match_operand:VEC_F 2 "vfloat_operand" "")))]
-+  "VECTOR_UNIT_ALTIVEC_OR_VSX_P (<MODE>mode)"
-+  "#"
-+  ""
-+  [(set (match_dup 3)
-+      (ge:VEC_F (match_dup 1)
-+                (match_dup 2)))
-+   (set (match_dup 4)
-+      (ge:VEC_F (match_dup 2)
-+                (match_dup 1)))
-+   (set (match_dup 0)
-+      (ior:VEC_F (match_dup 3)
-+                 (match_dup 4)))]
-+  "
-+{
-+  operands[3] = gen_reg_rtx (<MODE>mode);
-+  operands[4] = gen_reg_rtx (<MODE>mode);
-+}")
-+
-+(define_insn_and_split "*vector_unordered<mode>"
-+  [(set (match_operand:VEC_F 0 "vfloat_operand" "")
-+      (unordered:VEC_F (match_operand:VEC_F 1 "vfloat_operand" "")
-+                       (match_operand:VEC_F 2 "vfloat_operand" "")))]
-+  "VECTOR_UNIT_ALTIVEC_OR_VSX_P (<MODE>mode)"
-+  "#"
-+  ""
-+  [(set (match_dup 3)
-+      (ge:VEC_F (match_dup 1)
-+                (match_dup 2)))
-+   (set (match_dup 4)
-+      (ge:VEC_F (match_dup 2)
-+                (match_dup 1)))
-+   (set (match_dup 0)
-+      (not:VEC_F (ior:VEC_F (match_dup 3)
-+                            (match_dup 4))))]
-+  "
-+{
-+  operands[3] = gen_reg_rtx (<MODE>mode);
-+  operands[4] = gen_reg_rtx (<MODE>mode);
-+}")
-+
- ;; Note the arguments for __builtin_altivec_vsel are op2, op1, mask
- ;; which is in the reverse order that we want
- (define_expand "vector_select_<mode>"
-Index: gcc/config/rs6000/rs6000.c
-===================================================================
---- gcc/config/rs6000/rs6000.c (.../tags/gcc_4_6_3_release)    (wersja 185440)
-+++ gcc/config/rs6000/rs6000.c (.../branches/gcc-4_6-branch)   (wersja 185440)
-@@ -3695,12 +3695,23 @@
-       case vec_to_scalar:
-       case scalar_to_vec:
-       case cond_branch_not_taken:
--      case vec_perm:
-         return 1;
-       case cond_branch_taken:
-         return 3;
-+      case vec_perm:
-+      if (TARGET_VSX)
-+        return 4;
-+      else
-+        return 1;
-+
-+      case vec_promote_demote:
-+      if (TARGET_VSX)
-+        return 5;
-+      else
-+        return 1;
-+
-       case unaligned_load:
-         if (TARGET_VSX && TARGET_ALLOW_MOVMISALIGN)
-           {
-@@ -17229,6 +17240,10 @@
-     case EQ:
-     case GT:
-     case GTU:
-+    case ORDERED:
-+    case UNORDERED:
-+    case UNEQ:
-+    case LTGT:
-       mask = gen_reg_rtx (mode);
-       emit_insn (gen_rtx_SET (VOIDmode,
-                             mask,
-Index: gcc/config/rs6000/vsx.md
-===================================================================
---- gcc/config/rs6000/vsx.md   (.../tags/gcc_4_6_3_release)    (wersja 185440)
-+++ gcc/config/rs6000/vsx.md   (.../branches/gcc-4_6-branch)   (wersja 185440)
-@@ -1006,9 +1006,9 @@
-   "VECTOR_MEM_VSX_P (<MODE>mode)"
- {
-   if (INTVAL (operands[3]) == 0)
--    return \"xxpermdi %x0,%x1,%x2,1\";
-+    return \"xxpermdi %x0,%x2,%x1,1\";
-   else if (INTVAL (operands[3]) == 1)
--    return \"xxpermdi %x0,%x2,%x1,0\";
-+    return \"xxpermdi %x0,%x1,%x2,0\";
-   else
-     gcc_unreachable ();
- }
-Index: gcc/config/pa/predicates.md
-===================================================================
---- gcc/config/pa/predicates.md        (.../tags/gcc_4_6_3_release)    (wersja 185440)
-+++ gcc/config/pa/predicates.md        (.../branches/gcc-4_6-branch)   (wersja 185440)
-@@ -421,9 +421,9 @@
-   (ior (match_operand 0 "register_operand")
-        (match_operand 0 "cint_ior_operand")))
--;; True iff OP is a CONST_INT of the forms 0...0xxxx or
--;; 0...01...1xxxx. Such values can be the left hand side x in (x <<
--;; r), using the zvdepi instruction.
-+;; True iff OP is a CONST_INT of the forms 0...0xxxx, 0...01...1xxxx,
-+;; or 1...1xxxx. Such values can be the left hand side x in (x << r),
-+;; using the zvdepi instruction.
- (define_predicate "lhs_lshift_cint_operand"
-   (match_code "const_int")
-Index: gcc/config/pa/pa.md
-===================================================================
---- gcc/config/pa/pa.md        (.../tags/gcc_4_6_3_release)    (wersja 185440)
-+++ gcc/config/pa/pa.md        (.../branches/gcc-4_6-branch)   (wersja 185440)
-@@ -6348,7 +6348,7 @@
-   ""
-   "*
- {
--  int x = INTVAL (operands[1]);
-+  unsigned HOST_WIDE_INT x = UINTVAL (operands[1]);
-   operands[2] = GEN_INT (4 + exact_log2 ((x >> 4) + 1));
-   operands[1] = GEN_INT ((x & 0xf) - 0x10);
-   return \"{zvdepi %1,%2,%0|depwi,z %1,%%sar,%2,%0}\";
-@@ -6366,7 +6366,7 @@
-   "exact_log2 (INTVAL (operands[1]) + 1) > 0"
-   "*
- {
--  int x = INTVAL (operands[1]);
-+  HOST_WIDE_INT x = INTVAL (operands[1]);
-   operands[2] = GEN_INT (exact_log2 (x + 1));
-   return \"{vdepi -1,%2,%0|depwi -1,%%sar,%2,%0}\";
- }"
-@@ -6383,7 +6383,7 @@
-   "INTVAL (operands[1]) == -2"
-   "*
- {
--  int x = INTVAL (operands[1]);
-+  HOST_WIDE_INT x = INTVAL (operands[1]);
-   operands[2] = GEN_INT (exact_log2 ((~x) + 1));
-   return \"{vdepi 0,%2,%0|depwi 0,%%sar,%2,%0}\";
- }"
-@@ -6447,7 +6447,7 @@
-   "TARGET_64BIT"
-   "*
- {
--  int x = INTVAL (operands[1]);
-+  unsigned HOST_WIDE_INT x = UINTVAL (operands[1]);
-   operands[2] = GEN_INT (4 + exact_log2 ((x >> 4) + 1));
-   operands[1] = GEN_INT ((x & 0x1f) - 0x20);
-   return \"depdi,z %1,%%sar,%2,%0\";
-@@ -6465,7 +6465,7 @@
-   "TARGET_64BIT && exact_log2 (INTVAL (operands[1]) + 1) > 0"
-   "*
- {
--  int x = INTVAL (operands[1]);
-+  HOST_WIDE_INT x = INTVAL (operands[1]);
-   operands[2] = GEN_INT (exact_log2 (x + 1));
-   return \"depdi -1,%%sar,%2,%0\";
- }"
-@@ -6482,7 +6482,7 @@
-   "TARGET_64BIT && INTVAL (operands[1]) == -2"
-   "*
- {
--  int x = INTVAL (operands[1]);
-+  HOST_WIDE_INT x = INTVAL (operands[1]);
-   operands[2] = GEN_INT (exact_log2 ((~x) + 1));
-   return \"depdi 0,%%sar,%2,%0\";
- }"
-@@ -6671,6 +6671,20 @@
\f
- ;; Unconditional and other jump instructions.
-+;; Trivial return used when no epilogue is needed.
-+(define_insn "return"
-+  [(return)
-+   (use (reg:SI 2))]
-+  "pa_can_use_return_insn ()"
-+  "*
-+{
-+  if (TARGET_PA_20)
-+    return \"bve%* (%%r2)\";
-+  return \"bv%* %%r0(%%r2)\";
-+}"
-+  [(set_attr "type" "branch")
-+   (set_attr "length" "4")])
-+
- ;; This is used for most returns.
- (define_insn "return_internal"
-   [(return)
-@@ -6719,11 +6733,8 @@
-   rtx x;
-   /* Try to use the trivial return first.  Else use the full epilogue.  */
--  if (reload_completed
--      && !frame_pointer_needed
--      && !df_regs_ever_live_p (2)
--      && (compute_frame_size (get_frame_size (), 0) ? 0 : 1))
--    x = gen_return_internal ();
-+  if (pa_can_use_return_insn ())
-+    x = gen_return ();
-   else
-     {
-       hppa_expand_epilogue ();
-Index: gcc/config/pa/pa-protos.h
-===================================================================
---- gcc/config/pa/pa-protos.h  (.../tags/gcc_4_6_3_release)    (wersja 185440)
-+++ gcc/config/pa/pa-protos.h  (.../branches/gcc-4_6-branch)   (wersja 185440)
-@@ -136,6 +136,7 @@
- extern int cint_ok_for_move (HOST_WIDE_INT);
- extern void hppa_expand_prologue (void);
- extern void hppa_expand_epilogue (void);
-+extern bool pa_can_use_return_insn (void);
- extern int ior_mask_p (unsigned HOST_WIDE_INT);
- extern void compute_zdepdi_operands (unsigned HOST_WIDE_INT,
-                                    unsigned *);
-Index: gcc/config/pa/pa.c
-===================================================================
---- gcc/config/pa/pa.c (.../tags/gcc_4_6_3_release)    (wersja 185440)
-+++ gcc/config/pa/pa.c (.../branches/gcc-4_6-branch)   (wersja 185440)
-@@ -4442,6 +4442,24 @@
-     }
- }
-+bool
-+pa_can_use_return_insn (void)
-+{
-+  if (!reload_completed)
-+    return false;
-+
-+  if (frame_pointer_needed)
-+    return false;
-+
-+  if (df_regs_ever_live_p (2))
-+    return false;
-+
-+  if (crtl->profile)
-+    return false;
-+
-+  return compute_frame_size (get_frame_size (), 0) == 0;
-+}
-+
- rtx
- hppa_pic_save_rtx (void)
- {
-@@ -4586,7 +4604,7 @@
-   rtx saved_rp;
-   rtx ins;
--  /* Instruction stream at the normal return address for the export stub:
-+  /* The instruction stream at the return address of a PA1.X export stub is:
-       0x4bc23fd1 | stub+8:   ldw -18(sr0,sp),rp
-       0x004010a1 | stub+12:  ldsid (sr0,rp),r1
-@@ -4594,11 +4612,17 @@
-       0xe0400002 | stub+20:  be,n 0(sr0,rp)
-      0xe0400002 must be specified as -532676606 so that it won't be
--     rejected as an invalid immediate operand on 64-bit hosts.  */
-+     rejected as an invalid immediate operand on 64-bit hosts.
--  HOST_WIDE_INT insns[4] = {0x4bc23fd1, 0x004010a1, 0x00011820, -532676606};
--  int i;
-+     The instruction stream at the return address of a PA2.0 export stub is:
-+      0x4bc23fd1 | stub+8:   ldw -18(sr0,sp),rp
-+      0xe840d002 | stub+12:  bve,n (rp)
-+  */
-+
-+  HOST_WIDE_INT insns[4];
-+  int i, len;
-+
-   if (count != 0)
-     return NULL_RTX;
-@@ -4620,11 +4644,26 @@
-   ins = copy_to_reg (gen_rtx_AND (Pmode, rp, MASK_RETURN_ADDR));
-   label = gen_label_rtx ();
-+  if (TARGET_PA_20)
-+    {
-+      insns[0] = 0x4bc23fd1;
-+      insns[1] = -398405630;
-+      len = 2;
-+    }
-+  else
-+    {
-+      insns[0] = 0x4bc23fd1;
-+      insns[1] = 0x004010a1;
-+      insns[2] = 0x00011820;
-+      insns[3] = -532676606;
-+      len = 4;
-+    }
-+
-   /* Check the instruction stream at the normal return address for the
-      export stub.  If it is an export stub, than our return address is
-      really in -24[frameaddr].  */
--  for (i = 0; i < 3; i++)
-+  for (i = 0; i < len; i++)
-     {
-       rtx op0 = gen_rtx_MEM (SImode, plus_constant (ins, i * 4)); 
-       rtx op1 = GEN_INT (insns[i]);
-Index: libstdc++-v3/include/debug/safe_iterator.h
-===================================================================
---- libstdc++-v3/include/debug/safe_iterator.h (.../tags/gcc_4_6_3_release)    (wersja 185440)
-+++ libstdc++-v3/include/debug/safe_iterator.h (.../branches/gcc-4_6-branch)   (wersja 185440)
-@@ -1,6 +1,6 @@
- // Safe iterator implementation  -*- C++ -*-
--// Copyright (C) 2003, 2004, 2005, 2006, 2009, 2010, 2011
-+// Copyright (C) 2003, 2004, 2005, 2006, 2009, 2010, 2011, 2012
- // Free Software Foundation, Inc.
- //
- // This file is part of the GNU ISO C++ Library.  This library is free
-@@ -142,7 +142,25 @@
-                             ._M_iterator(__x, "other"));
-       }
-+#ifdef __GXX_EXPERIMENTAL_CXX0X__
-       /**
-+       * @brief Move construction.
-+       * @post __x is singular and unattached
-+       */
-+      _Safe_iterator(_Safe_iterator&& __x) : _M_current()
-+      {
-+      _GLIBCXX_DEBUG_VERIFY(!__x._M_singular()
-+                            || __x._M_current == _Iterator(),
-+                            _M_message(__msg_init_copy_singular)
-+                            ._M_iterator(*this, "this")
-+                            ._M_iterator(__x, "other"));
-+      std::swap(_M_current, __x._M_current);
-+      this->_M_attach(__x._M_sequence);
-+      __x._M_detach();
-+      }
-+#endif
-+
-+      /**
-        *  @brief Converting constructor from a mutable iterator to a
-        *  constant iterator.
-       */
-@@ -181,7 +199,28 @@
-       return *this;
-       }
-+#ifdef __GXX_EXPERIMENTAL_CXX0X__
-       /**
-+       * @brief Move assignment.
-+       * @post __x is singular and unattached
-+       */
-+      _Safe_iterator&
-+      operator=(_Safe_iterator&& __x)
-+      {
-+      _GLIBCXX_DEBUG_VERIFY(!__x._M_singular()
-+                            || __x._M_current == _Iterator(),
-+                            _M_message(__msg_copy_singular)
-+                            ._M_iterator(*this, "this")
-+                            ._M_iterator(__x, "other"));
-+      _M_current = __x._M_current;
-+      _M_attach(__x._M_sequence);
-+      __x._M_detach();
-+      __x._M_current = _Iterator();
-+      return *this;
-+      }
-+#endif
-+
-+      /**
-        *  @brief Iterator dereference.
-        *  @pre iterator is dereferenceable
-        */
-@@ -415,7 +454,9 @@
-       /// Is this iterator equal to the sequence's before_begin() iterator if
-       /// any?
-       bool _M_is_before_begin() const
--      { return _BeforeBeginHelper<_Sequence>::_M_Is(base(), _M_get_sequence()); }
-+      {
-+      return _BeforeBeginHelper<_Sequence>::_M_Is(base(), _M_get_sequence());
-+      }
-     };
-   template<typename _IteratorL, typename _IteratorR, typename _Sequence>
-Index: libstdc++-v3/ChangeLog
-===================================================================
---- libstdc++-v3/ChangeLog     (.../tags/gcc_4_6_3_release)    (wersja 185440)
-+++ libstdc++-v3/ChangeLog     (.../branches/gcc-4_6-branch)   (wersja 185440)
-@@ -1,3 +1,10 @@
-+2012-03-08  Jonathan Wakely  <jwakely.gcc@gmail.com>
-+
-+      PR libstdc++/52433
-+      * include/debug/safe_iterator.h (_Safe_iterator): Add move
-+      constructor and move assignment operator.
-+      * testsuite/23_containers/vector/debug/52433.cc: New.
-+
- 2012-03-01  Release Manager
-       * GCC 4.6.3 released.
-Index: libstdc++-v3/testsuite/23_containers/vector/debug/52433.cc
-===================================================================
---- libstdc++-v3/testsuite/23_containers/vector/debug/52433.cc (.../tags/gcc_4_6_3_release)    (wersja 0)
-+++ libstdc++-v3/testsuite/23_containers/vector/debug/52433.cc (.../branches/gcc-4_6-branch)   (wersja 185440)
-@@ -0,0 +1,43 @@
-+// Copyright (C) 2012 Free Software Foundation, Inc.
-+//
-+// This file is part of the GNU ISO C++ Library.  This library is free
-+// software; you can redistribute it and/or modify it under the
-+// terms of the GNU General Public License as published by the
-+// Free Software Foundation; either version 3, or (at your option)
-+// any later version.
-+//
-+// This library is distributed in the hope that it will be useful,
-+// but WITHOUT ANY WARRANTY; without even the implied warranty of
-+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-+// GNU General Public License for more details.
-+//
-+// You should have received a copy of the GNU General Public License along
-+// with this library; see the file COPYING3.  If not see
-+// <http://www.gnu.org/licenses/>.
-+//
-+// { dg-require-debug-mode "" }
-+// { dg-options "-std=gnu++0x" }
-+// { dg-do compile }
-+
-+// PR libstdc++/52433
-+
-+#include <vector>
-+
-+struct X
-+{
-+    std::vector<int>::iterator i;
-+
-+    X() = default;
-+    X(const X&) = default;
-+    X(X&&) = default;
-+    X& operator=(const X&) = default;
-+    X& operator=(X&&) = default;
-+};
-+
-+X test01()
-+{
-+    X x;
-+    x = X();
-+    return x;
-+}
-+
-Index: boehm-gc/configure.ac
-===================================================================
---- boehm-gc/configure.ac      (.../tags/gcc_4_6_3_release)    (wersja 185440)
-+++ boehm-gc/configure.ac      (.../branches/gcc-4_6-branch)   (wersja 185440)
-@@ -392,6 +392,7 @@
- oldLIBS="$LIBS"
- LIBS="$LIBS $THREADLIBS"
- AC_CHECK_FUNCS([pthread_getattr_np])
-+AC_CHECK_FUNCS([pthread_get_stackaddr_np])
- LIBS="$oldLIBS"
- # Configuration of machine-dependent code
-Index: boehm-gc/include/gc_config.h.in
-===================================================================
---- boehm-gc/include/gc_config.h.in    (.../tags/gcc_4_6_3_release)    (wersja 185440)
-+++ boehm-gc/include/gc_config.h.in    (.../branches/gcc-4_6-branch)   (wersja 185440)
-@@ -87,6 +87,9 @@
- /* Define to 1 if you have the `pthread_getattr_np' function. */
- #undef HAVE_PTHREAD_GETATTR_NP
-+/* Define to 1 if you have the `pthread_get_stackaddr_np_np' function. */
-+#undef HAVE_PTHREAD_GET_STACKADDR_NP
-+
- /* Define to 1 if you have the <stdint.h> header file. */
- #undef HAVE_STDINT_H
-Index: boehm-gc/include/private/gcconfig.h
-===================================================================
---- boehm-gc/include/private/gcconfig.h        (.../tags/gcc_4_6_3_release)    (wersja 185440)
-+++ boehm-gc/include/private/gcconfig.h        (.../branches/gcc-4_6-branch)   (wersja 185440)
-@@ -1331,7 +1331,11 @@
-        These aren't used when dyld support is enabled (it is by default) */
- #     define DATASTART ((ptr_t) get_etext())
- #     define DATAEND  ((ptr_t) get_end())
--#     define STACKBOTTOM ((ptr_t) 0xc0000000)
-+#     ifdef HAVE_PTHREAD_GET_STACKADDR_NP
-+#       define STACKBOTTOM (ptr_t)pthread_get_stackaddr_np(pthread_self())
-+#     else
-+#       define STACKBOTTOM ((ptr_t) 0xc0000000)
-+#     endif
- #     define USE_MMAP
- #     define USE_MMAP_ANON
- #     define USE_ASM_PUSH_REGS
-@@ -2011,7 +2015,11 @@
-        These aren't used when dyld support is enabled (it is by default) */
- #     define DATASTART ((ptr_t) get_etext())
- #     define DATAEND  ((ptr_t) get_end())
--#     define STACKBOTTOM ((ptr_t) 0x7fff5fc00000)
-+#     ifdef HAVE_PTHREAD_GET_STACKADDR_NP
-+#       define STACKBOTTOM (ptr_t)pthread_get_stackaddr_np(pthread_self())
-+#     else
-+#       define STACKBOTTOM ((ptr_t) 0x7fff5fc00000)
-+#     endif
- #     define USE_MMAP
- #     define USE_MMAP_ANON
- #     ifdef GC_DARWIN_THREADS
-Index: boehm-gc/ChangeLog
-===================================================================
---- boehm-gc/ChangeLog (.../tags/gcc_4_6_3_release)    (wersja 185440)
-+++ boehm-gc/ChangeLog (.../branches/gcc-4_6-branch)   (wersja 185440)
-@@ -1,3 +1,17 @@
-+2012-03-02  Jack Howarth  <howarth@bromo.med.uc.edu>
-+
-+      Backport from mainline
-+      2012-02-23  Patrick Marlier  <patrick.marlier@gmail.com>
-+                  Jack Howarth  <howarth@bromo.med.uc.edu>
-+
-+      PR boehm-gc/52179
-+      * include/gc_config.h.in: Undefine HAVE_PTHREAD_GET_STACKADDR_NP.
-+      * include/private/gcconfig.h (DARWIN): Define STACKBOTTOM with
-+      pthread_get_stackaddr_np when available.
-+      * configure.ac (THREADS): Check availability of
-+      pthread_get_stackaddr_np.
-+      * configure: Regenerate.
-+
- 2012-03-01  Release Manager
-       * GCC 4.6.3 released.
-Index: boehm-gc/configure
-===================================================================
---- boehm-gc/configure (.../tags/gcc_4_6_3_release)    (wersja 185440)
-+++ boehm-gc/configure (.../branches/gcc-4_6-branch)   (wersja 185440)
-@@ -15246,6 +15246,17 @@
- fi
- done
-+for ac_func in pthread_get_stackaddr_np
-+do :
-+  ac_fn_c_check_func "$LINENO" "pthread_get_stackaddr_np" "ac_cv_func_pthread_get_stackaddr_np"
-+if test "x$ac_cv_func_pthread_get_stackaddr_np" = x""yes; then :
-+  cat >>confdefs.h <<_ACEOF
-+#define HAVE_PTHREAD_GET_STACKADDR_NP 1
-+_ACEOF
-+
-+fi
-+done
-+
- LIBS="$oldLIBS"
- # Configuration of machine-dependent code
-Index: libjava/configure.ac
-===================================================================
---- libjava/configure.ac       (.../tags/gcc_4_6_3_release)    (wersja 185440)
-+++ libjava/configure.ac       (.../branches/gcc-4_6-branch)   (wersja 185440)
-@@ -886,14 +886,9 @@
-         SYSTEMSPEC="-lunicows $SYSTEMSPEC"
-       fi
-     ;;
--    *-*-darwin9*)
-+    *-*-darwin[[912]]*)
-       SYSTEMSPEC="%{!Zdynamiclib:%{!Zbundle:-allow_stack_execute}}"
-     ;;
--    *-*-darwin[[12]]*)
--      # Something is incompatible with pie, would be nice to fix it and
--      # remove -no_pie.  PR49461
--      SYSTEMSPEC="-no_pie %{!Zdynamiclib:%{!Zbundle:-allow_stack_execute}}"
--    ;;
-     *)
-       SYSTEMSPEC=
-     ;;
-Index: libjava/ChangeLog
-===================================================================
---- libjava/ChangeLog  (.../tags/gcc_4_6_3_release)    (wersja 185440)
-+++ libjava/ChangeLog  (.../branches/gcc-4_6-branch)   (wersja 185440)
-@@ -1,3 +1,13 @@
-+2012-03-02  Jack Howarth  <howarth@bromo.med.uc.edu>
-+
-+      Backport from mainline
-+      2012-02-23  Patrick Marlier  <patrick.marlier@gmail.com>
-+                  Jack Howarth  <howarth@bromo.med.uc.edu>
-+
-+      PR target/49461
-+      * configure.ac (SYSTEMSPEC): No longer pass -no_pie for darwin11.
-+      * configure: Regenerate.
-+
- 2012-03-01  Release Manager
-       * GCC 4.6.3 released.
-Index: libjava/configure
-===================================================================
---- libjava/configure  (.../tags/gcc_4_6_3_release)    (wersja 185440)
-+++ libjava/configure  (.../branches/gcc-4_6-branch)   (wersja 185440)
-@@ -19775,14 +19775,9 @@
-         SYSTEMSPEC="-lunicows $SYSTEMSPEC"
-       fi
-     ;;
--    *-*-darwin9*)
-+    *-*-darwin[912]*)
-       SYSTEMSPEC="%{!Zdynamiclib:%{!Zbundle:-allow_stack_execute}}"
-     ;;
--    *-*-darwin[12]*)
--      # Something is incompatible with pie, would be nice to fix it and
--      # remove -no_pie.  PR49461
--      SYSTEMSPEC="-no_pie %{!Zdynamiclib:%{!Zbundle:-allow_stack_execute}}"
--    ;;
-     *)
-       SYSTEMSPEC=
-     ;;
+-4.7.3
++4.7.4
diff --git a/gcc-build-id.patch b/gcc-build-id.patch
new file mode 100644 (file)
index 0000000..f76f939
--- /dev/null
@@ -0,0 +1,52 @@
+2007-07-22  Roland McGrath  <roland@redhat.com>
+
+       * config/rs6000/sysv4.h (LINK_EH_SPEC): Add --build-id for
+       non-relocatable link.
+       * config/linux.h (LINK_EH_SPEC): Likewise.
+       * config/alpha/elf.h (LINK_EH_SPEC): Likewise.
+       * config/ia64/linux.h (LINK_EH_SPEC): Likewise.
+
+--- gcc/config/rs6000/sysv4.h.~1~
++++ gcc/config/rs6000/sysv4.h
+@@ -906,7 +906,7 @@ extern int fixuplabelno;
+   %{!dynamic-linker:-dynamic-linker " LINUX_DYNAMIC_LINKER "}}}"
+ #if defined(HAVE_LD_EH_FRAME_HDR)
+-# define LINK_EH_SPEC "%{!static:--eh-frame-hdr} "
++# define LINK_EH_SPEC "%{!static:--eh-frame-hdr} %{!r:--build-id} "
+ #endif
+ #define CPP_OS_LINUX_SPEC "-D__unix__ -D__gnu_linux__ -D__linux__ \
+--- gcc/config/linux.h.~1~
++++ gcc/config/linux.h
+@@ -85,7 +85,7 @@ Boston, MA 02110-1301, USA.  */
+     } while (0)
+ #if defined(HAVE_LD_EH_FRAME_HDR)
+-#define LINK_EH_SPEC "%{!static:--eh-frame-hdr} "
++#define LINK_EH_SPEC "%{!static:--eh-frame-hdr} %{!r:--build-id} "
+ #endif
+ /* Define this so we can compile MS code for use with WINE.  */
+--- gcc/config/alpha/elf.h.~1~
++++ gcc/config/alpha/elf.h
+@@ -421,7 +421,7 @@ extern int alpha_this_gpdisp_sequence_nu
+    I imagine that other systems will catch up.  In the meantime, it
+    doesn't harm to make sure that the data exists to be used later.  */
+ #if defined(HAVE_LD_EH_FRAME_HDR)
+-#define LINK_EH_SPEC "%{!static:--eh-frame-hdr} "
++#define LINK_EH_SPEC "%{!static:--eh-frame-hdr} %{!r:--build-id} "
+ #endif
+ /* A C statement (sans semicolon) to output to the stdio stream STREAM
+--- gcc/config/ia64/linux.h.~1~
++++ gcc/config/ia64/linux.h
+@@ -56,7 +56,7 @@ do {                                         \
+    Signalize that because we have fde-glibc, we don't need all C shared libs
+    linked against -lgcc_s.  */
+ #undef LINK_EH_SPEC
+-#define LINK_EH_SPEC ""
++#define LINK_EH_SPEC "%{!r:--build-id} "
+ #define MD_UNWIND_SUPPORT "config/ia64/linux-unwind.h"
diff --git a/gcc-cloog.patch b/gcc-cloog.patch
new file mode 100644 (file)
index 0000000..0f3f39c
--- /dev/null
@@ -0,0 +1,26 @@
+--- gcc-4.7.1/config/cloog.m4.orig     2011-03-02 04:48:36.000000000 +0100
++++ gcc-4.7.1/config/cloog.m4  2012-07-06 18:44:25.045888239 +0200
+@@ -207,8 +207,8 @@
+ m4_define([_CLOOG_CHECK_CT_PROG],[AC_LANG_PROGRAM(
+   [#include "cloog/cloog.h"],
+   [#if CLOOG_VERSION_MAJOR != $1 \
+-    || CLOOG_VERSION_MINOR != $2 \
+-    || CLOOG_VERSION_REVISION < $3
++    || CLOOG_VERSION_MINOR < $2 \
++    || (CLOOG_VERSION_MINOR == $2 && CLOOG_VERSION_REVISION < $3)
+     choke me
+    #endif])])
+--- gcc-4.7.1/configure.orig   2012-02-02 11:20:32.000000000 +0100
++++ gcc-4.7.1/configure        2012-07-06 19:07:17.112497327 +0200
+@@ -5973,8 +5973,8 @@
+ main ()
+ {
+ #if CLOOG_VERSION_MAJOR != 0 \
+-    || CLOOG_VERSION_MINOR != 16 \
+-    || CLOOG_VERSION_REVISION < 1
++    || CLOOG_VERSION_MINOR < 16 \
++    || (CLOOG_VERSION_MINOR == 16 && CLOOG_VERSION_REVISION < 1)
+     choke me
+    #endif
+   ;
diff --git a/gcc-extern-template-sed.patch b/gcc-extern-template-sed.patch
deleted file mode 100644 (file)
index a3dee4b..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-diff --git a/libstdc++-v3/include/Makefile.am b/libstdc++-v3/include/Makefile.am
-index 1e9b144..b099580 100644
---- a/libstdc++-v3/include/Makefile.am
-+++ b/libstdc++-v3/include/Makefile.am
-@@ -1105,7 +1105,7 @@ ${host_builddir}/c++config.h: ${CONFIG_HEADER} \
-       sed -e "s,define __GLIBCXX__,define __GLIBCXX__ $$date," \
-       -e "s,define _GLIBCXX_INLINE_VERSION, define _GLIBCXX_INLINE_VERSION $$ns_version," \
-       -e "s,define _GLIBCXX_HAVE_ATTRIBUTE_VISIBILITY, define _GLIBCXX_HAVE_ATTRIBUTE_VISIBILITY $$visibility," \
--      -e "s,define _GLIBCXX_EXTERN_TEMPLATE, define _GLIBCXX_EXTERN_TEMPLATE $$externtemplate," \
-+      -e "s,define _GLIBCXX_EXTERN_TEMPLATE$$, define _GLIBCXX_EXTERN_TEMPLATE $$externtemplate," \
-       -e "$$ldbl_compat" \
-           < ${glibcxx_srcdir}/include/bits/c++config > $@ ;\
-       sed -e 's/HAVE_/_GLIBCXX_HAVE_/g' \
-diff --git a/libstdc++-v3/include/Makefile.in b/libstdc++-v3/include/Makefile.in
-index 19a7c0e..9344d46 100644
---- a/libstdc++-v3/include/Makefile.in
-+++ b/libstdc++-v3/include/Makefile.in
-@@ -1497,7 +1497,7 @@ ${host_builddir}/c++config.h: ${CONFIG_HEADER} \
-       sed -e "s,define __GLIBCXX__,define __GLIBCXX__ $$date," \
-       -e "s,define _GLIBCXX_INLINE_VERSION, define _GLIBCXX_INLINE_VERSION $$ns_version," \
-       -e "s,define _GLIBCXX_HAVE_ATTRIBUTE_VISIBILITY, define _GLIBCXX_HAVE_ATTRIBUTE_VISIBILITY $$visibility," \
--      -e "s,define _GLIBCXX_EXTERN_TEMPLATE, define _GLIBCXX_EXTERN_TEMPLATE $$externtemplate," \
-+      -e "s,define _GLIBCXX_EXTERN_TEMPLATE$$, define _GLIBCXX_EXTERN_TEMPLATE $$externtemplate," \
-       -e "$$ldbl_compat" \
-           < ${glibcxx_srcdir}/include/bits/c++config > $@ ;\
-       sed -e 's/HAVE_/_GLIBCXX_HAVE_/g' \
index 6115833e29eb956c28d2b0a45c189cc4c7cbe55f..09ca5a91a490ef73e2af286a966ec99e6aeafd0a 100644 (file)
@@ -1,27 +1,5 @@
---- a/Makefile.in      2006-07-02 15:31:20.000000000 +0200
-+++ b/Makefile.in      2006-07-02 20:55:33.573762250 +0200
-@@ -274,7 +274,7 @@
- # Flags to pass to stage2 and later makes.  They are defined
- # here so that they can be overridden by Makefile fragments.
--BOOT_CFLAGS= -g -O2
-+BOOT_CFLAGS= -O2
- BOOT_LDFLAGS=
- BISON = @BISON@
---- a/gcc/Makefile.in  2008-02-25 15:53:34.000000000 +0100
-+++ b/gcc/Makefile.in  2008-03-03 16:42:29.000000000 +0100
-@@ -560,7 +560,7 @@
- # Options to use when compiling libgcc2.a.
- #
--LIBGCC2_DEBUG_CFLAGS = -g
-+LIBGCC2_DEBUG_CFLAGS =
- LIBGCC2_CFLAGS = -O2 $(LIBGCC2_INCLUDES) $(GCC_CFLAGS) $(TARGET_LIBGCC2_CFLAGS) \
-                $(LIBGCC2_DEBUG_CFLAGS) $(GTHREAD_FLAGS) \
-                -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED \
---- a/gcc/ada/gcc-interface/Makefile.in        2004-09-13 12:18:40.000000000 +0200
-+++ b/gcc/ada/gcc-interface/Makefile.in        2004-09-26 11:40:30.070894416 +0200
+--- gcc-4.7.1/gcc/ada/gcc-interface/Makefile.in.orig   2012-07-10 17:33:42.146462985 +0200
++++ gcc-4.7.1/gcc/ada/gcc-interface/Makefile.in        2012-07-12 18:27:21.682409479 +0200
 @@ -66,7 +66,7 @@
  # CFLAGS is for the user to override to, e.g., do a bootstrap with -O2.
  # BOOT_CFLAGS is the value of CFLAGS to pass
  BOOT_CFLAGS = -O $(CFLAGS)
  # These exists to be overridden by the t-* files, respectively.
  T_CFLAGS =
-@@ -102,9 +102,9 @@
+@@ -105,11 +105,11 @@
+ GNATBIND_FLAGS = -static -x
  ADA_CFLAGS =
  ADAFLAGS = -W -Wall -gnatpg -gnata
- SOME_ADAFLAGS =-gnata
 -FORCE_DEBUG_ADAFLAGS = -g
 +FORCE_DEBUG_ADAFLAGS =
- GNATLIBFLAGS = -gnatpg -nostdinc
+ NO_SIBLING_ADAFLAGS = -fno-optimize-sibling-calls
+ NO_REORDER_ADAFLAGS = -fno-toplevel-reorder
+ GNATLIBFLAGS = -W -Wall -gnatpg -nostdinc
 -GNATLIBCFLAGS = -g -O2
 +GNATLIBCFLAGS = -O2
+ PICFLAG_FOR_TARGET = @PICFLAG_FOR_TARGET@
  # Pretend that _Unwind_GetIPInfo is available for the target by default.  This
- # should be autodetected during the configuration of libada and passed down to
- # here, but we need something for --disable-libada and hope for the best.
---- a/libada/Makefile.in       2005-11-04 13:49:08.000000000 +0000
-+++ b/libada/Makefile.in       2005-11-24 23:52:14.739531296 +0000
-@@ -49,13 +49,13 @@
- LDFLAGS=
- # The tedious process of getting CFLAGS right.
--CFLAGS=-g
-+CFLAGS=
- LOOSE_WARN = -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes
- GCC_WARN_CFLAGS = $(LOOSE_WARN)
- WARN_CFLAGS = @warn_cflags@
- TARGET_LIBGCC2_CFLAGS=
+@@ -2755,7 +2755,7 @@
+       cd $(RTSDIR) && \
+       ../../gnatsym -s SYMVEC_$$$$.opt \
+       $(LIBGNAT_OBJS) $(GNATRTL_NONTASKING_OBJS) && \
+-      ../../xgcc -g -B../../ -shared -shared-libgcc \
++      ../../xgcc -B../../ -shared -shared-libgcc \
+          -o libgnat$(hyphen)$(LIBRARY_VERSION)$(soext) libgnat.a \
+          sys\$$library:trace.exe \
+          --for-linker=/noinform \
+@@ -2764,7 +2764,7 @@
+       cd $(RTSDIR) && \
+       ../../gnatsym -s SYMVEC_$$$$.opt \
+       $(GNATRTL_TASKING_OBJS) && \
+-      ../../xgcc -g -B../../ -shared -shared-libgcc \
++      ../../xgcc -B../../ -shared -shared-libgcc \
+          -o libgnarl$(hyphen)$(LIBRARY_VERSION)$(soext) \
+          libgnarl.a libgnat$(hyphen)$(LIBRARY_VERSION)$(soext) \
+          sys\$$library:trace.exe \
+--- gcc-4.7.1/libada/Makefile.in.orig  2012-06-12 17:12:37.000000000 +0200
++++ gcc-4.7.1/libada/Makefile.in       2012-07-12 18:27:53.482408144 +0200
+@@ -53,7 +53,7 @@
+ CFLAGS=-g
+ PICFLAG = @PICFLAG@
+ GNATLIBFLAGS= -W -Wall -gnatpg -nostdinc
 -GNATLIBCFLAGS= -g -O2
 +GNATLIBCFLAGS= -O2
- GNATLIBCFLAGS_FOR_C = $(GNATLIBCFLAGS) $(TARGET_LIBGCC2_CFLAGS) -fexceptions \
-       -DIN_RTS @have_getipinfo@
+ GNATLIBCFLAGS_FOR_C = -W -Wall $(GNATLIBCFLAGS) \
+       -fexceptions -DIN_RTS @have_getipinfo@
  
---- a/libffi/Makefile.in       2004-08-30 17:42:59.000000000 +0200
-+++ b/libffi/Makefile.in       2004-09-26 11:44:10.789340112 +0200
-@@ -453,7 +453,7 @@
-       $(am__append_21) $(am__append_22)
+--- gcc-4.7.1/libffi/Makefile.am.orig  2012-02-27 11:00:12.000000000 +0100
++++ gcc-4.7.1/libffi/Makefile.am       2012-07-12 18:28:20.115740360 +0200
+@@ -168,7 +168,7 @@
  libffi_convenience_la_SOURCES = $(libffi_la_SOURCES)
  nodist_libffi_convenience_la_SOURCES = $(nodist_libffi_la_SOURCES)
 -AM_CFLAGS = -Wall -g -fexceptions
 +AM_CFLAGS = -Wall -fexceptions
  LTLDFLAGS = $(shell $(SHELL) $(top_srcdir)/../libtool-ldflags $(LDFLAGS))
- libffi_la_LDFLAGS = -version-info `grep -v '^\#' $(srcdir)/libtool-version` $(LTLDFLAGS)
- AM_CPPFLAGS = -I. -I$(top_srcdir)/include -Iinclude -I$(top_srcdir)/src
---- a/libffi/Makefile.am       2008-05-09 12:10:53.000000000 +0200
-+++ b/libffi/Makefile.am       2008-11-28 02:02:01.690063811 +0100
-@@ -154,7 +154,7 @@
+--- gcc-4.7.1/libffi/Makefile.in.orig  2012-06-14 10:48:08.000000000 +0200
++++ gcc-4.7.1/libffi/Makefile.in       2012-07-12 18:28:35.029073067 +0200
+@@ -475,7 +475,7 @@
+       $(am__append_24) $(am__append_25)
  libffi_convenience_la_SOURCES = $(libffi_la_SOURCES)
  nodist_libffi_convenience_la_SOURCES = $(nodist_libffi_la_SOURCES)
 -AM_CFLAGS = -Wall -g -fexceptions
 +AM_CFLAGS = -Wall -fexceptions
  LTLDFLAGS = $(shell $(SHELL) $(top_srcdir)/../libtool-ldflags $(LDFLAGS))
+ libffi_la_LDFLAGS = -version-info `grep -v '^\#' $(srcdir)/libtool-version` $(LTLDFLAGS) $(AM_LTLDFLAGS)
+ AM_CPPFLAGS = -I. -I$(top_srcdir)/include -Iinclude -I$(top_srcdir)/src
+--- gcc-4.7.1/libgcc/Makefile.in.orig  2012-05-24 16:59:38.000000000 +0200
++++ gcc-4.7.1/libgcc/Makefile.in       2012-07-12 18:28:59.042405393 +0200
+@@ -221,7 +221,7 @@
  
---- a/libjava/Makefile.am      2004-09-10 10:22:58.000000000 +0200
-+++ b/libjava/Makefile.am      2004-09-26 11:46:24.041082768 +0200
-@@ -179,7 +179,7 @@
+ # Options to use when compiling libgcc2.a.
+ #
+-LIBGCC2_DEBUG_CFLAGS = -g
++LIBGCC2_DEBUG_CFLAGS =
+ LIBGCC2_CFLAGS = -O2 $(LIBGCC2_INCLUDES) $(GCC_CFLAGS) $(HOST_LIBGCC2_CFLAGS) \
+                $(LIBGCC2_DEBUG_CFLAGS) -DIN_LIBGCC2 \
+                -fbuilding-libgcc -fno-stack-protector \
+--- gcc-4.7.1/libjava/classpath/tools/Makefile.am.orig 2011-09-29 13:37:47.000000000 +0200
++++ gcc-4.7.1/libjava/classpath/tools/Makefile.am      2012-07-12 18:29:33.452403949 +0200
+@@ -355,8 +355,8 @@
+ if JAVA_MAINTAINER_MODE
+ ## Compile ASM separately as it is latin-1 encoded.
+       AC=`echo $(JCOMPILER) | sed -e 's/UTF-8/ISO-8859-1/g'`; \
+-        $$AC -g -w -d $(srcdir)/asm @asm.lst
+-      $(JCOMPILER) $(USE_JAVAC_FLAGS) -g -d $(srcdir)/classes @classes.lst @vm-tools.lst
++        $$AC -w -d $(srcdir)/asm @asm.lst
++      $(JCOMPILER) $(USE_JAVAC_FLAGS) -d $(srcdir)/classes @classes.lst @vm-tools.lst
+ endif
+ ## END GCJ LOCAL
+ ## Copy over tools resource files.
+--- gcc-4.7.1/libjava/classpath/tools/Makefile.in.orig 2011-09-29 13:37:47.000000000 +0200
++++ gcc-4.7.1/libjava/classpath/tools/Makefile.in      2012-07-12 18:29:52.035736502 +0200
+@@ -1413,8 +1413,8 @@
+       fi
+       cat classes.lst asm.lst vm-tools.lst > all-classes.lst
+ @JAVA_MAINTAINER_MODE_TRUE@   AC=`echo $(JCOMPILER) | sed -e 's/UTF-8/ISO-8859-1/g'`; \
+-@JAVA_MAINTAINER_MODE_TRUE@     $$AC -g -w -d $(srcdir)/asm @asm.lst
+-@JAVA_MAINTAINER_MODE_TRUE@   $(JCOMPILER) $(USE_JAVAC_FLAGS) -g -d $(srcdir)/classes @classes.lst @vm-tools.lst
++@JAVA_MAINTAINER_MODE_TRUE@     $$AC -w -d $(srcdir)/asm @asm.lst
++@JAVA_MAINTAINER_MODE_TRUE@   $(JCOMPILER) $(USE_JAVAC_FLAGS) -d $(srcdir)/classes @classes.lst @vm-tools.lst
+       @list=`cd $(srcdir)/resource && find gnu/classpath/tools com/sun/tools/javac \
+              sun/rmi/rmic $(GJDOC_EX) -name \*.properties -print -o -name \*.jav -print`; \
+       for p in $$list; do \
+--- gcc-4.7.1/libjava/Makefile.am.orig 2011-08-05 16:37:48.000000000 +0200
++++ gcc-4.7.1/libjava/Makefile.am      2012-07-12 18:30:07.649069180 +0200
+@@ -399,7 +399,7 @@
  ## Extra CFLAGS used for JNI C sources shared with GNU Classpath.
  PEDANTIC_CFLAGS = -ansi -pedantic -Wall -Wno-long-long
  
  JC1FLAGS = @LIBGCJ_JAVAFLAGS@ $(GCJFLAGS)
  
  LIBFFIINCS = @LIBFFIINCS@
---- a/libjava/Makefile.in      2004-09-19 19:47:04.000000000 +0200
-+++ b/libjava/Makefile.in      2004-09-26 11:47:02.431246576 +0200
-@@ -4167,7 +4167,7 @@
- @USING_GCC_FALSE@AM_CFLAGS = @LIBGCJ_CFLAGS@
- @USING_GCC_TRUE@AM_CFLAGS = @LIBGCJ_CFLAGS@ $(WARNINGS)
+--- gcc-4.7.1/libjava/Makefile.in.orig 2012-06-14 10:48:08.000000000 +0200
++++ gcc-4.7.1/libjava/Makefile.in      2012-07-12 18:30:20.642401968 +0200
+@@ -1032,7 +1032,7 @@
+ @BUILD_LIBGCJ_REDUCED_REFLECTION_FALSE@LIBGCJ_REDUCED_REFLECTION_FLAGS = 
+ @BUILD_LIBGCJ_REDUCED_REFLECTION_TRUE@LIBGCJ_REDUCED_REFLECTION_FLAGS = -freduced-reflection
  PEDANTIC_CFLAGS = -ansi -pedantic -Wall -Wno-long-long
 -JCFLAGS = -g
 +JCFLAGS =
  JC1FLAGS = @LIBGCJ_JAVAFLAGS@ $(GCJFLAGS)
- AM_CPPFLAGS = -I$(top_srcdir) -Iinclude -I$(top_srcdir)/include \
-       $(GCINCS) $(THREADINCS) $(INCLTDL) \
+ AM_CPPFLAGS = -I$(top_srcdir) \
+       -Iinclude -I$(top_srcdir)/include \
+--- gcc-4.7.1/libjava/testsuite/Makefile.am.orig       2010-05-04 00:37:50.000000000 +0200
++++ gcc-4.7.1/libjava/testsuite/Makefile.am    2012-07-12 18:30:54.965733863 +0200
+@@ -83,11 +83,11 @@
+         testtmpdir=`echo $$test | sed -e 's,/,_,g'`T; \
+         rm -rf $$testtmpdir; $(mkdir_p) $$testtmpdir; \
+         if test -n "$$testdep"; then \
+-          $(GCJ) -C -g -w --encoding=UTF-8 -bootclasspath \
++          $(GCJ) -C -w --encoding=UTF-8 -bootclasspath \
+             $(top_builddir)/libgcj-$(gcc_version).jar::$$testtmpdir \
+             -d $$testtmpdir $(srcdir)/$$testdep || exit; \
+         fi; \
+-        $(GCJ) -C -g -w --encoding=UTF-8 -bootclasspath \
++        $(GCJ) -C -w --encoding=UTF-8 -bootclasspath \
+           $(top_builddir)/libgcj-$(gcc_version).jar:$$testtmpdir \
+           -d $$testtmpdir $(srcdir)/$$test || exit; \
+         case "$$test" in \
+--- gcc-4.7.1/libjava/testsuite/Makefile.in.orig       2012-05-21 20:14:01.000000000 +0200
++++ gcc-4.7.1/libjava/testsuite/Makefile.in    2012-07-12 18:31:09.359066590 +0200
+@@ -569,11 +569,11 @@
+ @JAVA_MAINTAINER_MODE_TRUE@     testtmpdir=`echo $$test | sed -e 's,/,_,g'`T; \
+ @JAVA_MAINTAINER_MODE_TRUE@     rm -rf $$testtmpdir; $(mkdir_p) $$testtmpdir; \
+ @JAVA_MAINTAINER_MODE_TRUE@     if test -n "$$testdep"; then \
+-@JAVA_MAINTAINER_MODE_TRUE@       $(GCJ) -C -g -w --encoding=UTF-8 -bootclasspath \
++@JAVA_MAINTAINER_MODE_TRUE@       $(GCJ) -C -w --encoding=UTF-8 -bootclasspath \
+ @JAVA_MAINTAINER_MODE_TRUE@         $(top_builddir)/libgcj-$(gcc_version).jar::$$testtmpdir \
+ @JAVA_MAINTAINER_MODE_TRUE@         -d $$testtmpdir $(srcdir)/$$testdep || exit; \
+ @JAVA_MAINTAINER_MODE_TRUE@     fi; \
+-@JAVA_MAINTAINER_MODE_TRUE@     $(GCJ) -C -g -w --encoding=UTF-8 -bootclasspath \
++@JAVA_MAINTAINER_MODE_TRUE@     $(GCJ) -C -w --encoding=UTF-8 -bootclasspath \
+ @JAVA_MAINTAINER_MODE_TRUE@       $(top_builddir)/libgcj-$(gcc_version).jar:$$testtmpdir \
+ @JAVA_MAINTAINER_MODE_TRUE@       -d $$testtmpdir $(srcdir)/$$test || exit; \
+ @JAVA_MAINTAINER_MODE_TRUE@     case "$$test" in \
+--- gcc-4.7.1/libstdc++-v3/include/Makefile.am.orig    2012-03-23 12:00:54.000000000 +0100
++++ gcc-4.7.1/libstdc++-v3/include/Makefile.am 2012-07-12 18:31:29.102399096 +0200
+@@ -1154,22 +1154,22 @@
+ # Build two precompiled C++ includes, stdc++.h.gch/*.gch
+ ${pch1a_output}: ${allstamped} ${host_builddir}/c++config.h ${pch1_source}
+       -mkdir -p ${pch1_output_builddir}
+-      $(CXX) $(PCHFLAGS) $(AM_CPPFLAGS) -O2 -g -std=gnu++0x ${pch1_source} \
++      $(CXX) $(PCHFLAGS) $(AM_CPPFLAGS) -O2 -std=gnu++0x ${pch1_source} \
+       -o $@
+ ${pch1b_output}: ${allstamped} ${host_builddir}/c++config.h ${pch1_source}
+       -mkdir -p ${pch1_output_builddir}
+-      $(CXX) $(PCHFLAGS) $(AM_CPPFLAGS) -O2 -g ${pch1_source} -o $@
++      $(CXX) $(PCHFLAGS) $(AM_CPPFLAGS) -O2 ${pch1_source} -o $@
+ # Build a precompiled TR1 include, stdtr1c++.h.gch/O2.gch
+ ${pch2_output}: ${pch2_source} ${pch1_output}
+       -mkdir -p ${pch2_output_builddir}
+-      $(CXX) $(PCHFLAGS) $(AM_CPPFLAGS) -O2 -g ${pch2_source} -o $@
++      $(CXX) $(PCHFLAGS) $(AM_CPPFLAGS) -O2 ${pch2_source} -o $@
+ # Build a precompiled extension include, extc++.h.gch/O2.gch
+ ${pch3_output}: ${pch3_source} ${pch2_output}
+       -mkdir -p ${pch3_output_builddir}
+-      $(CXX) $(PCHFLAGS) $(AM_CPPFLAGS) -O2 -g ${pch3_source} -o $@
++      $(CXX) $(PCHFLAGS) $(AM_CPPFLAGS) -O2 ${pch3_source} -o $@
+ # For robustness sake (in light of junk files or in-source
+ # configuration), copy from the build or source tree to the install
+--- gcc-4.7.1/libstdc++-v3/include/Makefile.in.orig    2012-03-23 12:00:54.000000000 +0100
++++ gcc-4.7.1/libstdc++-v3/include/Makefile.in 2012-07-12 18:31:43.922398474 +0200
+@@ -1543,22 +1543,22 @@
+ # Build two precompiled C++ includes, stdc++.h.gch/*.gch
+ ${pch1a_output}: ${allstamped} ${host_builddir}/c++config.h ${pch1_source}
+       -mkdir -p ${pch1_output_builddir}
+-      $(CXX) $(PCHFLAGS) $(AM_CPPFLAGS) -O2 -g -std=gnu++0x ${pch1_source} \
++      $(CXX) $(PCHFLAGS) $(AM_CPPFLAGS) -O2 -std=gnu++0x ${pch1_source} \
+       -o $@
+ ${pch1b_output}: ${allstamped} ${host_builddir}/c++config.h ${pch1_source}
+       -mkdir -p ${pch1_output_builddir}
+-      $(CXX) $(PCHFLAGS) $(AM_CPPFLAGS) -O2 -g ${pch1_source} -o $@
++      $(CXX) $(PCHFLAGS) $(AM_CPPFLAGS) -O2 ${pch1_source} -o $@
+ # Build a precompiled TR1 include, stdtr1c++.h.gch/O2.gch
+ ${pch2_output}: ${pch2_source} ${pch1_output}
+       -mkdir -p ${pch2_output_builddir}
+-      $(CXX) $(PCHFLAGS) $(AM_CPPFLAGS) -O2 -g ${pch2_source} -o $@
++      $(CXX) $(PCHFLAGS) $(AM_CPPFLAGS) -O2 ${pch2_source} -o $@
+ # Build a precompiled extension include, extc++.h.gch/O2.gch
+ ${pch3_output}: ${pch3_source} ${pch2_output}
+       -mkdir -p ${pch3_output_builddir}
+-      $(CXX) $(PCHFLAGS) $(AM_CPPFLAGS) -O2 -g ${pch3_source} -o $@
++      $(CXX) $(PCHFLAGS) $(AM_CPPFLAGS) -O2 ${pch3_source} -o $@
+ # For robustness sake (in light of junk files or in-source
+ # configuration), copy from the build or source tree to the install
+--- gcc-4.7.1/Makefile.in.orig 2012-05-16 17:54:24.000000000 +0200
++++ gcc-4.7.1/Makefile.in      2012-07-12 18:32:07.075730835 +0200
+@@ -364,7 +364,7 @@
+ # Flags to pass to stage2 and later makes.  They are defined
+ # here so that they can be overridden by Makefile fragments.
+-BOOT_CFLAGS= -g -O2
++BOOT_CFLAGS= -O2
+ BOOT_LDFLAGS=
+ BOOT_ADAFLAGS=-gnatpg -gnata
+@@ -574,7 +574,7 @@
+ LIBCFLAGS_FOR_TARGET = $(CFLAGS_FOR_TARGET)
+ LIBCXXFLAGS_FOR_TARGET = $(CXXFLAGS_FOR_TARGET) -fno-implicit-templates
+ LDFLAGS_FOR_TARGET = @LDFLAGS_FOR_TARGET@
+-GOCFLAGS_FOR_TARGET = -O2 -g
++GOCFLAGS_FOR_TARGET = -O2
+ FLAGS_FOR_TARGET = @FLAGS_FOR_TARGET@
+ SYSROOT_CFLAGS_FOR_TARGET = @SYSROOT_CFLAGS_FOR_TARGET@
diff --git a/gcc-plugin-decl-hook.patch b/gcc-plugin-decl-hook.patch
deleted file mode 100644 (file)
index 65b3e3f..0000000
+++ /dev/null
@@ -1,72 +0,0 @@
-diff --git a/gcc/c-decl.c b/gcc/c-decl.c
-index b438b06..c3738b9 100644
---- a/gcc/c-decl.c
-+++ b/gcc/c-decl.c
-@@ -4480,6 +4480,8 @@ finish_decl (tree decl, location_t init_loc, tree init,
-              && C_TYPE_FIELDS_READONLY (type))
-       diagnose_uninitialized_cst_member (decl, type);
-     }
-+
-+  invoke_plugin_callbacks(PLUGIN_FINISH_DECL, decl);
- }
- /* Given a parsed parameter declaration, decode it into a PARM_DECL.  */
-diff --git a/gcc/cp/decl.c b/gcc/cp/decl.c
-index 6a13cc4..9752cf4 100644
---- a/gcc/cp/decl.c
-+++ b/gcc/cp/decl.c
-@@ -6147,6 +6147,8 @@ cp_finish_decl (tree decl, tree init, bool init_const_expr_p,
-   if (was_readonly)
-     TREE_READONLY (decl) = 1;
-+
-+  invoke_plugin_callbacks(PLUGIN_FINISH_DECL, decl);
- }
- /* Returns a declaration for a VAR_DECL as if:
-diff --git a/gcc/doc/plugins.texi b/gcc/doc/plugins.texi
-index 767cee8..d989ddd 100644
---- a/gcc/doc/plugins.texi
-+++ b/gcc/doc/plugins.texi
-@@ -153,6 +153,7 @@ enum plugin_event
-   PLUGIN_FINISH_TYPE,           /* After finishing parsing a type.  */
-   PLUGIN_FINISH_UNIT,           /* Useful for summary processing.  */
-   PLUGIN_PRE_GENERICIZE,        /* Allows to see low level AST in C and C++ frontends.  */
-+  PLUGIN_FINISH_DECL,           /* Allows to see all declarations in C and C++ frontends. */
-   PLUGIN_FINISH,                /* Called before GCC exits.  */
-   PLUGIN_INFO,                  /* Information about the plugin. */
-   PLUGIN_GGC_START,             /* Called at start of GCC Garbage Collection. */
-diff --git a/gcc/plugin.c b/gcc/plugin.c
-index c93daed..f65e54a 100644
---- a/gcc/plugin.c
-+++ b/gcc/plugin.c
-@@ -423,6 +423,7 @@ register_callback (const char *plugin_name,
-       case PLUGIN_START_UNIT:
-       case PLUGIN_FINISH_UNIT:
-       case PLUGIN_PRE_GENERICIZE:
-+      case PLUGIN_FINISH_DECL:
-       case PLUGIN_GGC_START:
-       case PLUGIN_GGC_MARKING:
-       case PLUGIN_GGC_END:
-@@ -499,6 +500,7 @@ invoke_plugin_callbacks_full (int event, void *gcc_data)
-       case PLUGIN_START_UNIT:
-       case PLUGIN_FINISH_UNIT:
-       case PLUGIN_PRE_GENERICIZE:
-+      case PLUGIN_FINISH_DECL:
-       case PLUGIN_ATTRIBUTES:
-       case PLUGIN_PRAGMAS:
-       case PLUGIN_FINISH:
-diff --git a/gcc/plugin.def b/gcc/plugin.def
-index 4a40c2c..4f8ad08 100644
---- a/gcc/plugin.def
-+++ b/gcc/plugin.def
-@@ -30,6 +30,9 @@ DEFEVENT (PLUGIN_FINISH_UNIT)
- /* Allows to see low level AST in C and C++ frontends. */
- DEFEVENT (PLUGIN_PRE_GENERICIZE)
-+/* Allows to see all declarations in C and C++ frontends. */
-+DEFEVENT (PLUGIN_FINISH_DECL)
-+
- /* Called before GCC exits.  */
- DEFEVENT (PLUGIN_FINISH)
index 10044ea7be1546fbd6d83267c0402f9621ee4310..1ccceb1ca66cc401d697d6d8cc3bc0a2bf8e1854 100644 (file)
--- a/gcc.spec
+++ b/gcc.spec
 %bcond_without objc            # build without Objective-C support
 %bcond_without objcxx          # build without Objective-C++ support
 # - features:
+%bcond_with    cloogpplleg     # use cloog-ppl-legacy (0.15.x) backend (instead of cloog-isl)
+%bcond_with    cloogppl        # use cloog-ppl 0.16.1 backend (instead of cloog-isl)
 %bcond_without gomp            # build without OpenMP support
 %bcond_without mudflap         # build without Mudflap pointer debugging support
 %bcond_without multilib        # build without multilib support (it needs glibc[32&64]-devel)
-%bcond_with    profiling       # build with profiling
+%bcond_without profiling       # build without profiling
 %bcond_without python          # build without libstdc++ printers for gdb and aot-compile for java
 # - libgcj options:
 %bcond_without alsa            # don't build libgcj ALSA MIDI interface
 # - other:
 %bcond_without bootstrap       # omit 3-stage bootstrap
 %bcond_with    tests           # torture gcc
+%bcond_with    symvers         # enable versioned symbols in libstdc++ (WARNING: changes soname from .so.6 to so.7)
+
+%if %{with symvers}
+%define                cxx_sover       7
+%else
+%define                cxx_sover       6
+%endif
 
 %if %{without cxx}
 %undefine      with_go
 %undefine      with_multilib
 %endif
 
-%ifarch i386 i486 i586
-# __i686.get_pc_thunk.bx undefined in libgo (TODO: recheck on gcc updates)
-%undefine      with_go
+%if %{with cloogppl}
+%define        cloog_backend   ppl
+%else
+%if %{with cloogpplleg}
+%define        cloog_backend   ppl-legacy
+%else
+%define        cloog_backend   isl
+%endif
 %endif
 
-%define                major_ver       4.6
+%define                major_ver       4.7
 %define                minor_ver       3
 %define                major_ecj_ver   4.5
 # class data version seen with file(1) that this jvm is able to load
 %define                _classdataversion 50.0
-%define                gcj_soname_ver  12
+%define                gcj_soname_ver  13
 
 Summary:       GNU Compiler Collection: the C compiler and shared files
 Summary(es.UTF-8):     Colección de compiladores GNU: el compilador C y ficheros compartidos
@@ -74,28 +88,27 @@ Summary(pl.UTF-8):  Kolekcja kompilatorów GNU: kompilator C i pliki współdziel
 Summary(pt_BR.UTF-8):  Coleção dos compiladores GNU: o compilador C e arquivos compartilhados
 Name:          gcc
 Version:       %{major_ver}.%{minor_ver}
-Release:       5
+Release:       1
 Epoch:         6
 License:       GPL v3+
 Group:         Development/Languages
 Source0:       ftp://gcc.gnu.org/pub/gcc/releases/gcc-%{version}/%{name}-%{version}.tar.bz2
-# Source0-md5: 773092fe5194353b02bb0110052a972e
+# Source0-md5: 86f428a30379bdee0224e353ee2f999e
 Source1:       %{name}-optimize-la.pl
 Source2:       ftp://sourceware.org/pub/java/ecj-%{major_ecj_ver}.jar
 # Source2-md5: d7cd6a27c8801e66cbaa964a039ecfdb
 # check libffi version with libffi/configure.ac
 Source3:       libffi.pc.in
-# svn diff -x --ignore-eol-style svn://gcc.gnu.org/svn/gcc/tags/gcc_4_6_3_release svn://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch > gcc-branch.diff
+# svn diff -x --ignore-eol-style --force svn://gcc.gnu.org/svn/gcc/tags/gcc_4_7_3_release svn://gcc.gnu.org/svn/gcc/branches/gcc-4_7-branch > gcc-branch.diff
 Patch100:      %{name}-branch.diff
+# Patch100-md5:        ed71b602ecff35de8f4678e27dd9c2ef
 Patch0:                %{name}-info.patch
+Patch1:                %{name}-cloog.patch
 Patch2:                %{name}-nodebug.patch
 Patch3:                %{name}-ada-link.patch
 Patch7:                %{name}-libjava-multilib.patch
 Patch8:                %{name}-enable-java-awt-qt.patch
-# http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41757
-Patch12:       %{name}-plugin-decl-hook.patch
 Patch13:       issue4664051.patch
-Patch14:       %{name}-extern-template-sed.patch
 URL:           http://gcc.gnu.org/
 BuildRequires: autoconf >= 2.64
 %{?with_tests:BuildRequires:   autogen}
@@ -104,7 +117,16 @@ BuildRequires:     automake >= 1:1.9.3
 BuildRequires: binutils >= 3:2.17.50.0.9-1
 BuildRequires: bison
 BuildRequires: chrpath >= 0.13-2
-BuildRequires: cloog-ppl-devel
+%if %{with cloogppl}
+BuildRequires: cloog-ppl-devel >= 0.16.1
+%else
+%if %{with cloogpplleg}
+BuildRequires: cloog-ppl-devel >= 0.15.9
+BuildRequires: cloog-ppl-devel < 0.16
+%else
+BuildRequires: cloog-isl-devel >= 0.16.1
+%endif
+%endif
 %{?with_tests:BuildRequires:   dejagnu}
 BuildRequires: elfutils-devel >= 0.145-1
 BuildRequires: fileutils >= 4.0.41
@@ -118,13 +140,14 @@ BuildRequires:    glibc-devel >= 6:2.4-1
 %if %{with multilib}
 BuildRequires: gcc(multilib)
 %ifarch %{x8664}
-BuildRequires: glibc-devel(i686)
+BuildRequires: glibc-devel(ix86)
 %endif
 %endif
 BuildRequires: gmp-devel >= 4.1
+BuildRequires: gmp-c++-devel >= 4.1
 BuildRequires: libmpc-devel
 BuildRequires: mpfr-devel >= 2.3.0
-BuildRequires: ppl-devel
+BuildRequires: ppl-devel >= 0.11
 %if %{with python}
 BuildRequires: python-devel
 BuildRequires: rpm-pythonprov
@@ -188,7 +211,11 @@ BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 %define                filterout       -fwrapv -fno-strict-aliasing -fsigned-char
 %define                filterout_ld    -Wl,--as-needed
 
-%define                skip_post_check_so      '.*(libmudflap|libmudflapth|libxmlj|lib-gnu-awt-xlib)\.so.*'
+# functions with printf format attribute but with special parser and also
+# receiving non constant format strings
+%define                Werror_cflags   %{nil}
+
+%define                skip_post_check_so      '.*(libgo|libmudflap|libmudflapth|libxmlj|lib-gnu-awt-xlib)\.so.*'
 
 %description
 A compiler aimed at integrating all the optimizations and features
@@ -230,7 +257,7 @@ Requires:   libgcc-multilib = %{epoch}:%{version}-%{release}
 %{?with_multilib:Provides:     gcc(multilib)}
 Obsoletes:     libgcc32
 %ifarch %{x8664}
-Requires:      glibc-devel(i686)
+Requires:      glibc-devel(ix86)
 %endif
 
 %description multilib
@@ -815,7 +842,7 @@ Suporte Fortran 95 para o GCC.
 
 %package fortran-multilib
 Summary:       Fortran 95 32-bit support for gcc
-Summary(pl.UTF-8):     Obsługa binariów 32-bitowych Fortrana 95 dla gcc
+Summary(pl.UTF-8):     Obsługa binariów 32-bitowych Fortranu 95 dla gcc
 Group:         Development/Languages/Fortran
 Requires:      %{name}-fortran = %{epoch}:%{version}-%{release}
 Requires:      libgfortran-multilib = %{epoch}:%{version}-%{release}
@@ -832,7 +859,7 @@ kompilatora gcc.
 %package -n libgfortran
 Summary:       Fortran 95 Library
 Summary(es.UTF-8):     Biblioteca de Fortran 95
-Summary(pl.UTF-8):     Biblioteka Fortrana 95
+Summary(pl.UTF-8):     Biblioteka Fortranu 95
 License:       GPL v2+ with unlimited link permission
 Group:         Libraries
 Requires:      libquadmath = %{epoch}:%{version}-%{release}
@@ -845,11 +872,11 @@ Fortran 95 Library.
 Biblioteca de Fortran 95.
 
 %description -n libgfortran -l pl.UTF-8
-Biblioteka Fortrana 95.
+Biblioteka Fortranu 95.
 
 %package -n libgfortran-multilib
 Summary:       Fortran 95 Library - 32-bit version
-Summary(pl.UTF-8):     Biblioteka Fortrana 95 - wersja 32-bitowa
+Summary(pl.UTF-8):     Biblioteka Fortranu 95 - wersja 32-bitowa
 License:       GPL v2+ with unlimited link permission
 Group:         Libraries
 Requires:      libquadmath-multilib = %{epoch}:%{version}-%{release}
@@ -858,12 +885,12 @@ Requires: libquadmath-multilib = %{epoch}:%{version}-%{release}
 Fortran 95 Library - 32-bit version.
 
 %description -n libgfortran-multilib -l pl.UTF-8
-Biblioteka Fortrana 95 - wersja 32-bitowa.
+Biblioteka Fortranu 95 - wersja 32-bitowa.
 
 %package -n libgfortran-static
 Summary:       Static Fortran 95 Library
 Summary(es.UTF-8):     Bibliotecas estáticas de Fortran 95
-Summary(pl.UTF-8):     Statyczna Biblioteka Fortrana 95
+Summary(pl.UTF-8):     Statyczna Biblioteka Fortranu 95
 License:       GPL v2+ with unlimited link permission
 Group:         Development/Libraries
 Requires:      libgfortran = %{epoch}:%{version}-%{release}
@@ -876,11 +903,11 @@ Static Fortran 95 Library.
 Bibliotecas estáticas de Fortran 95.
 
 %description -n libgfortran-static -l pl.UTF-8
-Statyczna biblioteka Fortrana 95.
+Statyczna biblioteka Fortranu 95.
 
 %package -n libgfortran-multilib-static
 Summary:       Static Fortran 95 Library - 32-bit version
-Summary(pl.UTF-8):     Statyczna Biblioteka Fortrana 95 - wersja 32-bitowa
+Summary(pl.UTF-8):     Statyczna Biblioteka Fortranu 95 - wersja 32-bitowa
 License:       GPL v2+ with unlimited link permission
 Group:         Development/Libraries
 Requires:      libgfortran-multilib = %{epoch}:%{version}-%{release}
@@ -889,7 +916,7 @@ Requires:   libgfortran-multilib = %{epoch}:%{version}-%{release}
 Static Fortran 95 Library - 32-bit version.
 
 %description -n libgfortran-multilib-static -l pl.UTF-8
-Statyczna biblioteka Fortrana 95 - wersja 32-bitowa.
+Statyczna biblioteka Fortranu 95 - wersja 32-bitowa.
 
 %package -n libquadmath
 Summary:       GCC __float128 shared support library
@@ -1443,16 +1470,18 @@ Statyczna biblioteka języka Go - wersja 32-bitowa.
 %setup -q
 %patch100 -p0
 %patch0 -p1
+%patch1 -p1
 %patch2 -p1
 %patch3 -p1
+%patch4 -p1
 
 %patch7 -p0
 %if %{with qt}
 %patch8 -p1
 %endif
-%patch12 -p1
+%patch10 -p1
+
 %patch13 -p0
-%patch14 -p1
 
 mv ChangeLog ChangeLog.general
 
@@ -1493,65 +1522,75 @@ TEXCONFIG=false \
        --infodir=%{_infodir} \
        --mandir=%{_mandir} \
        --x-libraries=%{_libdir} \
+       --%{?with_bootstrap:en}%{!?with_bootstrap:dis}able-bootstrap \
+       --disable-build-with-cxx \
+       --disable-build-poststage1-with-cxx \
+       --enable-c99 \
        --enable-checking=release \
+%ifarch %{ix86} %{x8664}
+       --disable-cld \
+%endif
+       --enable-cloog-backend=%{cloog_backend} \
+       %{?with_fortran:--enable-cmath} \
+       --enable-decimal-float \
        --enable-gnu-unique-object \
-       --with-linker-hash-style=gnu \
-       --enable-shared \
-       --enable-threads=posix \
-       --enable-linker-build-id \
-       --enable-linux-futex \
+       --enable-initfini-array \
        --enable-languages="c%{?with_cxx:,c++}%{?with_fortran:,fortran}%{?with_objc:,objc}%{?with_objcxx:,obj-c++}%{?with_ada:,ada}%{?with_java:,java}%{?with_go:,go}" \
        --%{?with_gomp:en}%{!?with_gomp:dis}able-libgomp \
+       --enable-libitm \
        --%{?with_mudflap:en}%{!?with_mudflap:dis}able-libmudflap \
-       --enable-c99 \
+       --enable-linker-build-id \
+       --enable-linux-futex \
        --enable-long-long \
-       --enable-decimal-float=yes \
        %{!?with_multilib:--disable-multilib} \
        --enable-nls \
-       --disable-werror \
        --enable-lto \
        --enable-plugin \
-%ifarch %{ix86} %{x8664}
-       --disable-cld \
-%endif
+       --enable-shared \
+       --enable-threads=posix \
+       --disable-werror \
+       --with-cloog \
+       --with-demangler-in-ld \
        --with-gnu-as \
        --with-gnu-ld \
-       --with-demangler-in-ld \
-       --with-system-zlib \
+       --with-linker-hash-style=gnu \
+       --with-long-double-128 \
+       --with-ppl \
        --with-slibdir=%{_slibdir} \
 %ifnarch ia64
        --without-system-libunwind \
 %else
        --with-system-libunwind \
 %endif
+       --with-system-zlib \
        %{!?with_java:--without-x} \
-       %{?with_fortran:--enable-cmath} \
-       --with-long-double-128 \
-       --with-ppl \
-       --with-cloog-ppl \
 %if %{with cxx}
-       --with-gxx-include-dir=%{_includedir}/c++/%{version} \
-       --disable-libstdcxx-pch \
        --enable-__cxa_atexit \
        --enable-libstdcxx-allocator=new \
+       --disable-libstdcxx-pch \
+       --enable-libstdcxx-threads \
+       --enable-libstdcxx-time=rt \
+       --enable-libstdcxx-visibility \
+       --enable-symvers=gnu%{?with_symvers:-versioned-namespace} \
+       --with-gxx-include-dir=%{_includedir}/c++/%{version} \
 %endif
 %if %{with java}
-       --enable-libjava-multilib=no \
        %{!?with_alsa:--disable-alsa} \
        %{!?with_dssi:--disable-dssi} \
        --disable-gconf-peer \
+       %{?with_gtk:--enable-gtk-cairo} \
 %if %{with x}
        --enable-java-awt="xlib%{?with_gtk:,gtk}%{?with_qt:,qt}" \
 %endif
-       %{?with_mozilla:--enable-plugin} \
+       --enable-jni \
        --enable-libgcj \
        --enable-libgcj-multifile \
        --enable-libgcj-database \
-       %{?with_gtk:--enable-gtk-cairo} \
-       --enable-jni \
+       --disable-libjava-multilib \
+       %{?with_mozilla:--enable-plugin} \
+       --enable-static-libjava \
        --enable-xmlj \
 %endif
-       --%{?with_bootstrap:en}%{!?with_bootstrap:dis}able-bootstrap \
        --with-pkgversion="TLD-Linux" \
        --with-bugurl="http://www.tld-linux.org" \
        %{_target_platform}
@@ -1566,7 +1605,7 @@ all $(all):
                %{?with_bootstrap:%{?with_profiling:profiledbootstrap}} \
                GCJFLAGS="%{rpmcflags}" \
                BOOT_CFLAGS="%{rpmcflags}" \
-               STAGE1_CFLAGS="%{rpmcflags} -O0" \
+               STAGE1_CFLAGS="%{rpmcflags} -O1 -g0" \
                GNATLIBCFLAGS="%{rpmcflags}" \
                LDFLAGS_FOR_TARGET="%{rpmldflags}" \
                mandir=%{_mandir} \
@@ -1598,20 +1637,37 @@ cp -p gcc/specs $RPM_BUILD_ROOT%{gcclibdir}
 
 ln -sf %{_bindir}/cpp $RPM_BUILD_ROOT/lib/cpp
 ln -sf gcc $RPM_BUILD_ROOT%{_bindir}/cc
-echo ".so gcc.1" > $RPM_BUILD_ROOT%{_mandir}/man1/cc.1
+echo ".so man1/gcc.1" > $RPM_BUILD_ROOT%{_mandir}/man1/cc.1
 
 libssp=$(cd $RPM_BUILD_ROOT%{_libdir}; echo libssp.so.*.*.*)
 mv $RPM_BUILD_ROOT%{_libdir}/libssp.so.* $RPM_BUILD_ROOT%{_slibdir}
 ln -sf %{_slibdir}/$libssp $RPM_BUILD_ROOT%{_libdir}/libssp.so
+
+libitm=$(cd $RPM_BUILD_ROOT%{_libdir}; echo libitm.so.*.*.*)
+mv $RPM_BUILD_ROOT%{_libdir}/libitm.so.* $RPM_BUILD_ROOT%{_slibdir}
+ln -sf %{_slibdir}/$libitm $RPM_BUILD_ROOT%{_libdir}/libitm.so
+
+libgomp=$(cd $RPM_BUILD_ROOT%{_libdir}; echo libgomp.so.*.*.*)
+mv $RPM_BUILD_ROOT%{_libdir}/libgomp.so.* $RPM_BUILD_ROOT%{_slibdir}
+ln -sf %{_slibdir}/$libgomp $RPM_BUILD_ROOT%{_libdir}/libgomp.so
+
 %if %{with multilib}
 libssp=$(cd $RPM_BUILD_ROOT%{_libdir32}; echo libssp.so.*.*.*)
 mv $RPM_BUILD_ROOT%{_libdir32}/libssp.so.* $RPM_BUILD_ROOT%{_slibdir32}
 ln -sf %{_slibdir32}/$libssp $RPM_BUILD_ROOT%{_libdir32}/libssp.so
+
+libitm=$(cd $RPM_BUILD_ROOT%{_libdir32}; echo libitm.so.*.*.*)
+mv $RPM_BUILD_ROOT%{_libdir32}/libitm.so.* $RPM_BUILD_ROOT%{_slibdir32}
+ln -sf %{_slibdir32}/$libitm $RPM_BUILD_ROOT%{_libdir32}/libitm.so
+
+libgomp=$(cd $RPM_BUILD_ROOT%{_libdir32}; echo libgomp.so.*.*.*)
+mv $RPM_BUILD_ROOT%{_libdir32}/libgomp.so.* $RPM_BUILD_ROOT%{_slibdir32}
+ln -sf %{_slibdir32}/$libgomp $RPM_BUILD_ROOT%{_libdir32}/libgomp.so
 %endif
 
 %if %{with fortran}
 ln -sf gfortran $RPM_BUILD_ROOT%{_bindir}/g95
-echo ".so gfortran.1" > $RPM_BUILD_ROOT%{_mandir}/man1/g95.1
+echo ".so man1/gfortran.1" > $RPM_BUILD_ROOT%{_mandir}/man1/g95.1
 %endif
 
 %if %{with ada}
@@ -1642,9 +1698,11 @@ cd ..
 install -d java-doc
 cp -f libjava/READ* java-doc
 ln -sf libgcj-%{version}.jar $RPM_BUILD_ROOT%{_javadir}/libgcj.jar
+%endif
 
 # still not installed by gcc?
 [ ! -f $RPM_BUILD_ROOT%{_pkgconfigdir}/libffi.pc ] || exit 1
+install -d $RPM_BUILD_ROOT%{_pkgconfigdir}
 sed -e 's,@prefix@,%{_prefix},
        s,@exec_prefix@,%{_exec_prefix},
        s,@libdir@,%{_libdir},
@@ -1657,7 +1715,6 @@ sed -e 's,@prefix@,%{_prefix},
        s,@libdir@,%{_libdir32},
        s,@gcclibdir@,%{gcclibdir},' %{SOURCE3} >$RPM_BUILD_ROOT%{_pkgconfigdir32}/libffi.pc
 %endif
-%endif
 
 %if %{with objc}
 cp -f libobjc/README gcc/objc/README.libobjc
@@ -1665,7 +1722,7 @@ cp -f libobjc/README gcc/objc/README.libobjc
 
 # avoid -L poisoning in *.la - there should be only -L%{_libdir}/gcc/%{_target_platform}/%{version}
 # normalize libdir, to avoid propagation of unnecessary RPATHs by libtool
-for f in libssp.la libssp_nonshared.la \
+for f in libitm.la libssp.la libssp_nonshared.la \
        %{?with_cxx:libstdc++.la libsupc++.la} \
        %{?with_fortran:libgfortran.la libquadmath.la} \
        %{?with_gomp:libgomp.la} \
@@ -1686,7 +1743,7 @@ do
        mv $RPM_BUILD_ROOT%{_libdir}/$f{.fixed,}
 done
 %if %{with multilib}
-for f in libssp.la libssp_nonshared.la \
+for f in libitm.la libssp.la libssp_nonshared.la \
        %{?with_cxx:libstdc++.la libsupc++.la} \
        %{?with_fortran:libgfortran.la libquadmath.la} \
        %{?with_gomp:libgomp.la} \
@@ -1704,6 +1761,11 @@ cp -p $RPM_BUILD_ROOT%{gcclibdir}/include-fixed/syslimits.h $RPM_BUILD_ROOT%{gcc
 %{__rm} -r $RPM_BUILD_ROOT%{gcclibdir}/install-tools
 %{__rm} -r $RPM_BUILD_ROOT%{gcclibdir}/include-fixed
 
+# plugin, .la not needed
+%{__rm} $RPM_BUILD_ROOT%{gcclibdir}/liblto_plugin.la
+# already packaged in binutils-devel
+%{__rm} $RPM_BUILD_ROOT%{_libdir}/libiberty.a
+
 %if %{with python}
 for LIB in lib lib64; do
        LIBPATH="$RPM_BUILD_ROOT%{_datadir}/gdb/auto-load%{_prefix}/$LIB"
@@ -1718,8 +1780,8 @@ install -d $RPM_BUILD_ROOT%{py_sitescriptdir}
 mv $RPM_BUILD_ROOT%{_datadir}/gcc-%{version}/python/libstdcxx $RPM_BUILD_ROOT%{py_sitescriptdir}
 %if %{with java}
 mv $RPM_BUILD_ROOT%{_datadir}/gcc-%{version}/python/libjava $RPM_BUILD_ROOT%{py_sitescriptdir}
-%endif
 %{__sed} -i -e '1s,#!/usr/bin/env python,#!/usr/bin/python,' $RPM_BUILD_ROOT%{_bindir}/aot-compile
+%endif
 %py_ocomp $RPM_BUILD_ROOT%{py_sitescriptdir}
 %py_comp $RPM_BUILD_ROOT%{py_sitescriptdir}
 %py_postclean
@@ -1842,6 +1904,9 @@ rm -rf $RPM_BUILD_ROOT
 %attr(755,root,root) %{_bindir}/cc
 %attr(755,root,root) %{_bindir}/cpp
 %attr(755,root,root) %{_bindir}/gcc
+%attr(755,root,root) %{_bindir}/gcc-ar
+%attr(755,root,root) %{_bindir}/gcc-nm
+%attr(755,root,root) %{_bindir}/gcc-ranlib
 #%attr(755,root,root) %{_bindir}/gccbug
 %attr(755,root,root) %{_bindir}/gcov
 %{_mandir}/man1/cc.1*
@@ -1853,9 +1918,14 @@ rm -rf $RPM_BUILD_ROOT
 %{_infodir}/gcc.info*
 %{_infodir}/gccinstall.info*
 %{_infodir}/gccint.info*
+%{_infodir}/libitm.info*
 %attr(755,root,root) /lib/cpp
 %attr(755,root,root) %{_slibdir}/libgcc_s.so
+%attr(755,root,root) %{_libdir}/libitm.so
 %attr(755,root,root) %{_libdir}/libssp.so
+%{_libdir}/libitm.la
+%{_libdir}/libitm.a
+%{_libdir}/libitm.spec
 %{_libdir}/libssp.la
 %{_libdir}/libssp.a
 %{_libdir}/libssp_nonshared.la
@@ -1880,28 +1950,34 @@ rm -rf $RPM_BUILD_ROOT
 %{gcclibdir}/include/float.h
 %{gcclibdir}/include/iso646.h
 %{gcclibdir}/include/limits.h
+%{gcclibdir}/include/stdalign.h
 %{gcclibdir}/include/stdarg.h
 %{gcclibdir}/include/stdbool.h
 %{gcclibdir}/include/stddef.h
 %{gcclibdir}/include/stdfix.h
 %{gcclibdir}/include/stdint.h
 %{gcclibdir}/include/stdint-gcc.h
+%{gcclibdir}/include/stdnoreturn.h
 %{gcclibdir}/include/syslimits.h
 %{gcclibdir}/include/unwind.h
 %{gcclibdir}/include/varargs.h
 %ifarch %{ix86} %{x8664}
-%{gcclibdir}/include/abmintrin.h
 %{gcclibdir}/include/ammintrin.h
 %{gcclibdir}/include/avxintrin.h
+%{gcclibdir}/include/avx2intrin.h
 %{gcclibdir}/include/bmiintrin.h
+%{gcclibdir}/include/bmi2intrin.h
 %{gcclibdir}/include/bmmintrin.h
 %{gcclibdir}/include/cpuid.h
 %{gcclibdir}/include/cross-stdarg.h
 %{gcclibdir}/include/emmintrin.h
+%{gcclibdir}/include/f16cintrin.h
+%{gcclibdir}/include/fmaintrin.h
 %{gcclibdir}/include/fma4intrin.h
 %{gcclibdir}/include/ia32intrin.h
 %{gcclibdir}/include/immintrin.h
 %{gcclibdir}/include/lwpintrin.h
+%{gcclibdir}/include/lzcntintrin.h
 %{gcclibdir}/include/mm3dnow.h
 %{gcclibdir}/include/mm_malloc.h
 %{gcclibdir}/include/mmintrin.h
@@ -1939,7 +2015,10 @@ rm -rf $RPM_BUILD_ROOT
 %{gcclibdir}/32/libgcc.a
 %{gcclibdir}/32/libgcc_eh.a
 %{gcclibdir}/32/libgcov.a
+%attr(755,root,root) %{_libdir32}/libitm.so
 %attr(755,root,root) %{_libdir32}/libssp.so
+%{_libdir32}/libitm.la
+%{_libdir32}/libitm.a
 %{_libdir32}/libssp.la
 %{_libdir32}/libssp.a
 %{_libdir32}/libssp_nonshared.la
@@ -1949,28 +2028,32 @@ rm -rf $RPM_BUILD_ROOT
 %files -n libgcc
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_slibdir}/libgcc_s.so.1
+%attr(755,root,root) %{_slibdir}/libitm.so.*.*.*
 %attr(755,root,root) %{_slibdir}/libssp.so.*.*.*
+%attr(755,root,root) %ghost %{_slibdir}/libitm.so.1
 %attr(755,root,root) %ghost %{_slibdir}/libssp.so.0
 
 %if %{with multilib}
 %files -n libgcc-multilib
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_slibdir32}/libgcc_s.so.1
+%attr(755,root,root) %{_slibdir32}/libitm.so.*.*.*
 %attr(755,root,root) %{_slibdir32}/libssp.so.*.*.*
 %attr(755,root,root) %ghost %{_slibdir32}/libssp.so.0
+%attr(755,root,root) %ghost %{_slibdir32}/libitm.so.1
 %endif
 
 %if %{with gomp}
 %files -n libgomp
 %defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir}/libgomp.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libgomp.so.1
+%attr(755,root,root) %{_slibdir}/libgomp.so.*.*.*
+%attr(755,root,root) %ghost %{_slibdir}/libgomp.so.1
 
 %if %{with multilib}
 %files -n libgomp-multilib
 %defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir32}/libgomp.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir32}/libgomp.so.1
+%attr(755,root,root) %{_slibdir32}/libgomp.so.*.*.*
+%attr(755,root,root) %ghost %{_slibdir32}/libgomp.so.1
 %endif
 
 %files -n libgomp-devel
@@ -2064,7 +2147,6 @@ rm -rf $RPM_BUILD_ROOT
 %{gcclibdir}/adainclude
 %dir %{gcclibdir}/adalib
 %{gcclibdir}/adalib/*.ali
-%{gcclibdir}/adalib/g-trasym.o
 %ifarch %{ix86} %{x8664}
 %{gcclibdir}/adalib/libgmem.a
 %endif
@@ -2082,7 +2164,6 @@ rm -rf $RPM_BUILD_ROOT
 %{gcclibdir}/32/adainclude
 %dir %{gcclibdir}/32/adalib
 %{gcclibdir}/32/adalib/*.ali
-%{gcclibdir}/32/adalib/g-trasym.o
 %ifarch %{ix86} %{x8664}
 %{gcclibdir}/32/adalib/libgmem.a
 %endif
@@ -2106,14 +2187,12 @@ rm -rf $RPM_BUILD_ROOT
 
 %files -n libgnat-static
 %defattr(644,root,root,755)
-%{gcclibdir}/adalib/libgnala.a
 %{gcclibdir}/adalib/libgnarl.a
 %{gcclibdir}/adalib/libgnat.a
 
 %if %{with multilib}
 %files -n libgnat-multilib-static
 %defattr(644,root,root,755)
-%{gcclibdir}/32/adalib/libgnala.a
 %{gcclibdir}/32/adalib/libgnarl.a
 %{gcclibdir}/32/adalib/libgnat.a
 %endif
@@ -2143,13 +2222,13 @@ rm -rf $RPM_BUILD_ROOT
 %defattr(644,root,root,755)
 %doc libstdc++-v3/{ChangeLog,README}
 %attr(755,root,root) %{_libdir}/libstdc++.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libstdc++.so.6
+%attr(755,root,root) %ghost %{_libdir}/libstdc++.so.%{cxx_sover}
 
 %if %{with multilib}
 %files -n libstdc++-multilib
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_libdir32}/libstdc++.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir32}/libstdc++.so.6
+%attr(755,root,root) %ghost %{_libdir32}/libstdc++.so.%{cxx_sover}
 %endif
 
 %if %{with python}
@@ -2159,7 +2238,10 @@ rm -rf $RPM_BUILD_ROOT
 %{py_sitescriptdir}/libstdcxx/*.py[co]
 %dir %{py_sitescriptdir}/libstdcxx/v6
 %{py_sitescriptdir}/libstdcxx/v6/*.py[co]
-%{_datadir}/gdb/auto-load/usr/lib*/libstdc++.so.6.0.16-gdb.py
+%{_datadir}/gdb/auto-load/usr/%{_lib}/libstdc++.so.%{cxx_sover}.*.*-gdb.py
+%if %{with multilib}
+%{_datadir}/gdb/auto-load/usr/lib/libstdc++.so.%{cxx_sover}.*.*-gdb.py
+%endif
 %endif
 
 %files -n libstdc++-devel
@@ -2215,6 +2297,8 @@ rm -rf $RPM_BUILD_ROOT
 %attr(755,root,root) %{_libdir}/libgfortran.so
 %{_libdir}/libgfortran.spec
 %{_libdir}/libgfortran.la
+%{gcclibdir}/libcaf_single.a
+%{gcclibdir}/libcaf_single.la
 %{gcclibdir}/libgfortranbegin.la
 %{gcclibdir}/libgfortranbegin.a
 %{_infodir}/gfortran.info*
@@ -2227,6 +2311,8 @@ rm -rf $RPM_BUILD_ROOT
 %attr(755,root,root) %{_libdir32}/libgfortran.so
 %{_libdir32}/libgfortran.spec
 %{_libdir32}/libgfortran.la
+%{gcclibdir}/32/libcaf_single.a
+%{gcclibdir}/32/libcaf_single.la
 %{gcclibdir}/32/libgfortranbegin.la
 %{gcclibdir}/32/libgfortranbegin.a
 %endif
@@ -2427,6 +2513,7 @@ rm -rf $RPM_BUILD_ROOT
 %{_libdir}/libgij.a
 %{?with_x:%{_libdir}/lib-gnu-awt-xlib.a}
 %{_libdir}/%{gcjdbexecdir}/libjvm.a
+%endif
 
 %files -n libffi
 %defattr(644,root,root,755)
@@ -2467,7 +2554,6 @@ rm -rf $RPM_BUILD_ROOT
 %defattr(644,root,root,755)
 %{_libdir32}/libffi.a
 %endif
-%endif
 
 %if %{with objc}
 %files objc
@@ -2496,13 +2582,13 @@ rm -rf $RPM_BUILD_ROOT
 %defattr(644,root,root,755)
 %doc libobjc/{ChangeLog,README*}
 %attr(755,root,root) %{_libdir}/libobjc.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libobjc.so.3
+%attr(755,root,root) %ghost %{_libdir}/libobjc.so.4
 
 %if %{with multilib}
 %files -n libobjc-multilib
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_libdir32}/libobjc.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir32}/libobjc.so.3
+%attr(755,root,root) %ghost %{_libdir32}/libobjc.so.4
 %endif
 
 %files -n libobjc-static
index fec97864efb31440ab8a3069757a8d0bdf1524a6..fd3902c5c373bb4a3108405b90c97a2815d20d6c 100644 (file)
@@ -5,6 +5,6 @@ includedir=@gcclibdir@/include
 
 Name: libffi
 Description: Library supporting Foreign Function Interfaces
-Version: 3.0.9
+Version: 4.0.1
 Libs: -L${libdir} -lffi
 Cflags: -I${includedir}