rpms/gcc/devel gcc41-power6-2.patch, NONE, 1.1 gcc41-pr28600.patch, NONE, 1.1 gcc41-rh200887.patch, NONE, 1.1 .cvsignore, 1.163, 1.164 gcc41.spec, 1.90, 1.91 sources, 1.165, 1.166 gcc41-CVE-2006-3619.patch, 1.1, NONE

fedora-cvs-commits at redhat.com fedora-cvs-commits at redhat.com
Fri Aug 11 20:58:31 UTC 2006


Author: jakub

Update of /cvs/dist/rpms/gcc/devel
In directory cvs.devel.redhat.com:/tmp/cvs-serv29657

Modified Files:
	.cvsignore gcc41.spec sources 
Added Files:
	gcc41-power6-2.patch gcc41-pr28600.patch gcc41-rh200887.patch 
Removed Files:
	gcc41-CVE-2006-3619.patch 
Log Message:
4.1.1-15

gcc41-power6-2.patch:
 rs6000.c  |    3 +--
 rs6000.h  |    6 ++++--
 rs6000.md |    3 ++-
 3 files changed, 7 insertions(+), 5 deletions(-)

--- NEW FILE gcc41-power6-2.patch ---
2006-08-08  Pete Steinmetz <steinmtz at us.ibm.com>

	* config/rs6000/rs6000.h (SECONDARY_MEMORY_NEEDED): Added mode!=DFmode
	and mode!=DImode conditions.
	* config/rs6000/rs6000.c (rs6000_register_move_cost): Revert
	rs6000_memory_move_cost if mf{t,f}gpr are available change.
	* config/rs6000/rs6000.md (fix_truncdfsi2): Use gpc_reg_operand
	constraint.

--- gcc/config/rs6000/rs6000.h.orig	2006-08-08 12:48:57.972143448 -0500
+++ gcc/config/rs6000/rs6000.h	2006-08-08 13:05:00.667303659 -0500
@@ -1209,9 +1209,11 @@ enum reg_class
 
 #define SECONDARY_MEMORY_NEEDED(CLASS1,CLASS2,MODE)			\
  ((CLASS1) != (CLASS2) && (((CLASS1) == FLOAT_REGS			\
-                            && (!TARGET_MFPGPR || !TARGET_POWERPC64))	\
+                            && (!TARGET_MFPGPR || !TARGET_POWERPC64	\
+				|| ((MODE != DFmode) && (MODE != DImode)))) \
 			   || ((CLASS2) == FLOAT_REGS			\
-                               && (!TARGET_MFPGPR || !TARGET_POWERPC64))\
+                               && (!TARGET_MFPGPR || !TARGET_POWERPC64	\
+				|| ((MODE != DFmode) && (MODE != DImode)))) \
 			   || (CLASS1) == ALTIVEC_REGS			\
 			   || (CLASS2) == ALTIVEC_REGS))
 
--- gcc/config/rs6000/rs6000.c.orig	2006-08-08 12:48:54.257184227 -0500
+++ gcc/config/rs6000/rs6000.c	2006-08-08 12:49:18.841128070 -0500
@@ -19403,8 +19403,7 @@ rs6000_register_move_cost (enum machine_
       if (! reg_classes_intersect_p (to, GENERAL_REGS))
 	from = to;
 
-      if ((from == FLOAT_REGS && (!TARGET_MFPGPR || !TARGET_POWERPC64))
-          || from == ALTIVEC_REGS)
+      if (from == FLOAT_REGS || from == ALTIVEC_REGS)
 	return (rs6000_memory_move_cost (mode, from, 0)
 		+ rs6000_memory_move_cost (mode, GENERAL_REGS, 0));
 
--- gcc/config/rs6000/rs6000.md.orig	2006-08-08 12:48:50.255134210 -0500
+++ gcc/config/rs6000/rs6000.md	2006-08-08 12:49:18.851126531 -0500
@@ -5323,7 +5323,8 @@
      DONE;
     }
   operands[2] = gen_reg_rtx (DImode);
-  if (TARGET_POWERPC64 && TARGET_MFPGPR && TARGET_HARD_FLOAT && TARGET_FPRS)
+  if (TARGET_POWERPC64 && TARGET_MFPGPR && TARGET_HARD_FLOAT && TARGET_FPRS
+      && gpc_reg_operand(operands[0], GET_MODE (operands[0])))
     {
       operands[3] = gen_reg_rtx (DImode);
       emit_insn (gen_fix_truncdfsi2_internal_mfpgpr (operands[0], operands[1],

gcc41-pr28600.patch:
 fortran/trans-decl.c                                 |   10 +++++++++-
 testsuite/gfortran.dg/assumed_charlen_function_4.f90 |   17 +++++++++++++++++
 2 files changed, 26 insertions(+), 1 deletion(-)

--- NEW FILE gcc41-pr28600.patch ---
2006-08-09 Paul Thomas <pault at gcc.gnu.org>

	PR fortran/28600
	* trans-decl.c (gfc_get_symbol_decl): Ensure that the
	DECL_CONTEXT of the length of a character dummy is the
	same as that of the symbol declaration.

2006-08-09 Paul Thomas <pault at gcc.gnu.org>

	PR fortran/28600
	* gfortran.dg/assumed_charlen_function_4.f90: New test.

--- gcc/fortran/trans-decl.c
+++ gcc/fortran/trans-decl.c
@@ -884,7 +884,15 @@
 	  if (TREE_CODE (length) == VAR_DECL
 	      && DECL_CONTEXT (length) == NULL_TREE)
 	    {
-	      gfc_add_decl_to_function (length);
+	      /* Add the string length to the same context as the symbol.  */
+	      if (DECL_CONTEXT (sym->backend_decl) == current_function_decl)
+	        gfc_add_decl_to_function (length);
+	      else
+		gfc_add_decl_to_parent_function (length);
+
+	      gcc_assert (DECL_CONTEXT (sym->backend_decl) ==
+			    DECL_CONTEXT (length));
+
 	      gfc_defer_symbol_init (sym);
 	    }
 	}
--- gcc/testsuite/gfortran.dg/assumed_charlen_function_4.f90
+++ gcc/testsuite/gfortran.dg/assumed_charlen_function_4.f90
@@ -0,0 +1,17 @@
+! { dg-do compile }
+! Tests the fix for PR28600 in which the declaration for the
+! character length n, would be given the DECL_CONTEXT of 'gee'
+! thus causing an ICE.
+!
+! Contributed by Francois-Xavier Coudert  <fxcoudert at gcc.gnu.org>
+!
+subroutine bar(s, n)
+ integer n
+ character s*(n)
+ character*3, dimension(:), pointer :: m
+ s = ""
+contains
+ subroutine gee
+    m(1) = s(1:3)
+ end subroutine gee
+end subroutine bar

gcc41-rh200887.patch:
 0 files changed

--- NEW FILE gcc41-rh200887.patch ---
--- libjava/Makefile.am	(revision 115995)
+++ libjava/Makefile.am	(working copy)
@@ -340,7 +340,21 @@ libgcj-$(gcc_version).jar: classpath/lib
 	rm -rf $$JARDIR $$JARDIR.stamp
 
 libgcj-tools-$(gcc_version).jar: classpath/tools/tools.jar
-	cp $< $@
+	javasrcdir=`cd $(srcdir) && pwd`; \
+	JARDIR=`mktemp -d $@.XXXXXX` || exit 1; \
+	touch -r $$javasrcdir/../gcc/ChangeLog $$JARDIR.stamp; \
+	[ $$javasrcdir/../gcc/java/ChangeLog -nt $$JARDIR.stamp ] \
+	    && touch -r $$javasrcdir/../gcc/java/ChangeLog $$JARDIR.stamp; \
+	[ $$javasrcdir/ChangeLog -nt $$JARDIR.stamp ] \
+	    && touch -r $$javasrcdir/ChangeLog $$JARDIR.stamp; \
+	cd $$JARDIR || exit 1; \
+	$(JAR) -xf ../$<; \
+	rm -rf META-INF; \
+	find -type f | xargs touch -r ../$$JARDIR.stamp; \
+	find -type d | xargs touch -r ../$$JARDIR.stamp; \
+	$(JAR) -cf at E ../$@ || exit 1; \
+	cd ..; \
+	rm -rf $$JARDIR $$JARDIR.stamp
 
 CLEANFILES = libgcj-$(gcc_version).jar libgcj-tools-$(gcc_version).jar
 DISTCLEANFILES = native.dirs
--- libjava/Makefile.in	(revision 115995)
+++ libjava/Makefile.in	(working copy)
@@ -8902,7 +8902,21 @@ libgcj-$(gcc_version).jar: classpath/lib
 	rm -rf $$JARDIR $$JARDIR.stamp
 
 libgcj-tools-$(gcc_version).jar: classpath/tools/tools.jar
-	cp $< $@
+	javasrcdir=`cd $(srcdir) && pwd`; \
+	JARDIR=`mktemp -d $@.XXXXXX` || exit 1; \
+	touch -r $$javasrcdir/../gcc/ChangeLog $$JARDIR.stamp; \
+	[ $$javasrcdir/../gcc/java/ChangeLog -nt $$JARDIR.stamp ] \
+	    && touch -r $$javasrcdir/../gcc/java/ChangeLog $$JARDIR.stamp; \
+	[ $$javasrcdir/ChangeLog -nt $$JARDIR.stamp ] \
+	    && touch -r $$javasrcdir/ChangeLog $$JARDIR.stamp; \
+	cd $$JARDIR || exit 1; \
+	$(JAR) -xf ../$<; \
+	rm -rf META-INF; \
+	find -type f | xargs touch -r ../$$JARDIR.stamp; \
+	find -type d | xargs touch -r ../$$JARDIR.stamp; \
+	$(JAR) -cf at E ../$@ || exit 1; \
+	cd ..; \
+	rm -rf $$JARDIR $$JARDIR.stamp
 
 mostlyclean-local:
 	find . -name '*.lo' -print | xargs $(LIBTOOL) rm -f


Index: .cvsignore
===================================================================
RCS file: /cvs/dist/rpms/gcc/devel/.cvsignore,v
retrieving revision 1.163
retrieving revision 1.164
diff -u -r1.163 -r1.164
--- .cvsignore	2 Aug 2006 21:18:16 -0000	1.163
+++ .cvsignore	11 Aug 2006 20:58:28 -0000	1.164
@@ -1 +1 @@
-gcc-4.1.1-20060802.tar.bz2
+gcc-4.1.1-20060811.tar.bz2


Index: gcc41.spec
===================================================================
RCS file: /cvs/dist/rpms/gcc/devel/gcc41.spec,v
retrieving revision 1.90
retrieving revision 1.91
diff -u -r1.90 -r1.91
--- gcc41.spec	2 Aug 2006 21:29:50 -0000	1.90
+++ gcc41.spec	11 Aug 2006 20:58:28 -0000	1.91
@@ -1,6 +1,6 @@
-%define DATE 20060802
+%define DATE 20060811
 %define gcc_version 4.1.1
-%define gcc_release 14
+%define gcc_release 15
 %define _unpackaged_files_terminate_build 0
 %define multilib_64_archs sparc64 ppc64 s390x x86_64
 %ifarch %{ix86} x86_64 ia64
@@ -134,8 +134,10 @@
 Patch27: gcc41-pr28370.patch
 Patch28: gcc41-pr28407.patch
 Patch29: gcc41-power6.patch
-Patch30: gcc41-CVE-2006-3619.patch
+Patch30: gcc41-power6-2.patch
 Patch31: gcc41-java-libdotdotlib.patch
+Patch32: gcc41-pr28600.patch
+Patch33: gcc41-rh200887.patch
 
 %define _gnu %{nil}
 %ifarch sparc
@@ -446,8 +448,10 @@
 %patch27 -p0 -b .pr28370~
 %patch28 -p0 -b .pr28407~
 %patch29 -p0 -b .power6~
-%patch30 -p0 -b .CVE-2006-3619~
+%patch30 -p0 -b .power6-2~
 %patch31 -p0 -b .java-libdotdotlib~
+%patch32 -p0 -b .pr28600~
+%patch33 -p0 -b .rh200887~
 
 sed -i -e 's/4\.1\.2/4.1.1/' gcc/BASE-VER gcc/version.c
 sed -i -e 's/" (Red Hat[^)]*)"/" (Red Hat %{version}-%{gcc_release})"/' gcc/version.c
@@ -1508,6 +1512,18 @@
 %doc rpm.doc/changelogs/libmudflap/ChangeLog*
 
 %changelog
+* Fri Aug 11 2006 Jakub Jelinek <jakub at redhat.com> 4.1.1-15
+- update from gcc-4_1-branch (-r115877:116082)
+  - PRs c++/27508, c++/28148, c++/28250, c++/28256, c++/28257, c++/28259,
+	c++/28267, c++/28274, c++/28347, c++/28432, c++/28557, c++/28594,
+	c++/28637, c++/28638, c++/28639, c++/28640, c++/28641, c/27721,
+	c/28136, fortran/27981, fortran/28548, fortran/28590,
+	middle-end/28651, rtl-optimization/27291, rtl-optimization/28221,
+	target/27566, target/27827
+- fix Fortran ICE with nested function (Paul Thomas, #200618,
+  PR fortran/28600)
+- fix multilib conflict in libgcj-tools-4.1.1.jar (#200887)
+
 * Wed Aug  2 2006 Jakub Jelinek <jakub at redhat.com> 4.1.1-14
 - update from gcc-4_1-branch (-r115644:115877)
   - PRs c++/27572, c++/27668, c++/27962, c++/28025, c++/28258, c++/28523,


Index: sources
===================================================================
RCS file: /cvs/dist/rpms/gcc/devel/sources,v
retrieving revision 1.165
retrieving revision 1.166
diff -u -r1.165 -r1.166
--- sources	2 Aug 2006 21:18:18 -0000	1.165
+++ sources	11 Aug 2006 20:58:28 -0000	1.166
@@ -1 +1 @@
-bea3fb5e55d9510ad89e03d521fe5744  gcc-4.1.1-20060802.tar.bz2
+5ef7a43629890be560c67e4354701824  gcc-4.1.1-20060811.tar.bz2


--- gcc41-CVE-2006-3619.patch DELETED ---




More information about the fedora-cvs-commits mailing list