rpms/gcc/F-12 gcc44-pr42861.patch, NONE, 1.1 gcc44-rh530847.patch, NONE, 1.1 gcc.spec, 1.108, 1.109

Jakub Jelinek jakub at fedoraproject.org
Mon Jan 25 22:31:29 UTC 2010


Author: jakub

Update of /cvs/pkgs/rpms/gcc/F-12
In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv9629

Modified Files:
	gcc.spec 
Added Files:
	gcc44-pr42861.patch gcc44-rh530847.patch 
Log Message:
4.4.3-3

gcc44-pr42861.patch:
 var-tracking.c |   34 +++++++++++++++++++++++-----------
 1 file changed, 23 insertions(+), 11 deletions(-)

--- NEW FILE gcc44-pr42861.patch ---
2010-01-25  Alexandre Oliva  <aoliva at redhat.com>

	PR debug/42861
	* var-tracking.c (val_store): Add modified argument, obey it.
	Adjust callers.
	(count_uses): Move down logging of main.
	(compute_bb_dataflow): Use val_store for MO_VAL_USEs that
	don't need resolution.
	(emit_notes_in_bb): Likewise.

--- gcc/var-tracking.c.jj	2010-01-21 09:10:37.000000000 +0100
+++ gcc/var-tracking.c	2010-01-25 23:18:07.239731089 +0100
@@ -1518,10 +1518,12 @@ var_mem_delete (dataflow_set *set, rtx l
   delete_variable_part (set, loc, dv_from_decl (decl), offset);
 }
 
-/* Map a value to a location it was just stored in.  */
+/* Bind a value to a location it was just stored in.  If MODIFIED
+   holds, assume the location was modified, detaching it from any
+   values bound to it.  */
 
 static void
-val_store (dataflow_set *set, rtx val, rtx loc, rtx insn)
+val_store (dataflow_set *set, rtx val, rtx loc, rtx insn, bool modified)
 {
   cselib_val *v = CSELIB_VAL_PTR (val);
 
@@ -1547,7 +1549,8 @@ val_store (dataflow_set *set, rtx val, r
 
   if (REG_P (loc))
     {
-      var_regno_delete (set, REGNO (loc));
+      if (modified)
+	var_regno_delete (set, REGNO (loc));
       var_reg_decl_set (set, loc, VAR_INIT_STATUS_INITIALIZED,
 			dv_from_value (val), 0, NULL_RTX, INSERT);
     }
@@ -4529,11 +4532,6 @@ count_uses (rtx *ploc, void *cuip)
       cselib_val *val;
       enum machine_mode mode = GET_MODE (loc);
 
-      VTI (cui->bb)->n_mos++;
-
-      if (dump_file && (dump_flags & TDF_DETAILS))
-	log_op_type (loc, cui->bb, cui->insn, mopt, dump_file);
-
       switch (mopt)
 	{
 	case MO_VAL_LOC:
@@ -4547,12 +4545,15 @@ count_uses (rtx *ploc, void *cuip)
 	  if (MEM_P (loc)
 	      && !REG_P (XEXP (loc, 0)) && !MEM_P (XEXP (loc, 0)))
 	    {
-	      val = cselib_lookup (XEXP (loc, 0), Pmode, false);
+	      val = cselib_lookup (XEXP (loc, 0), Pmode, 0);
 
 	      if (val && !cselib_preserved_value_p (val))
 		{
 		  VTI (cui->bb)->n_mos++;
 		  cselib_preserve_value (val);
+		  if (dump_file && (dump_flags & TDF_DETAILS))
+		    log_op_type (XEXP (loc, 0), cui->bb, cui->insn,
+				 MO_VAL_USE, dump_file);
 		}
 	    }
 
@@ -4575,6 +4576,9 @@ count_uses (rtx *ploc, void *cuip)
 		    {
 		      VTI (cui->bb)->n_mos++;
 		      cselib_preserve_value (oval);
+		      if (dump_file && (dump_flags & TDF_DETAILS))
+			log_op_type (loc, cui->bb, cui->insn,
+				     MO_VAL_USE, dump_file);
 		    }
 		}
 
@@ -4589,6 +4593,10 @@ count_uses (rtx *ploc, void *cuip)
 	default:
 	  break;
 	}
+
+      VTI (cui->bb)->n_mos++;
+      if (dump_file && (dump_flags & TDF_DETAILS))
+	log_op_type (loc, cui->bb, cui->insn, mopt, dump_file);
     }
 
   return 0;
@@ -5318,6 +5326,8 @@ compute_bb_dataflow (basic_block bb)
 
 	      if (VAL_NEEDS_RESOLUTION (loc))
 		val_resolve (out, val, vloc, insn);
+	      else
+		val_store (out, val, uloc, insn, false);
 
 	      if (VAL_HOLDS_TRACK_EXPR (loc))
 		{
@@ -5409,7 +5419,7 @@ compute_bb_dataflow (basic_block bb)
 	      else if (REG_P (uloc))
 		var_regno_delete (out, REGNO (uloc));
 
-	      val_store (out, val, vloc, insn);
+	      val_store (out, val, vloc, insn, true);
 	    }
 	    break;
 
@@ -6939,6 +6949,8 @@ emit_notes_in_bb (basic_block bb, datafl
 
 	      if (VAL_NEEDS_RESOLUTION (loc))
 		val_resolve (set, val, vloc, insn);
+	      else
+		val_store (set, val, uloc, insn, false);
 
 	      if (VAL_HOLDS_TRACK_EXPR (loc))
 		{
@@ -7026,7 +7038,7 @@ emit_notes_in_bb (basic_block bb, datafl
 	      else if (REG_P (uloc))
 		var_regno_delete (set, REGNO (uloc));
 
-	      val_store (set, val, vloc, insn);
+	      val_store (set, val, vloc, insn, true);
 
 	      emit_notes_for_changes (NEXT_INSN (insn), EMIT_NOTE_BEFORE_INSN,
 				      set->vars);

gcc44-rh530847.patch:
 sparc.c |   12 ++----------
 sysv4.h |    5 ++++-
 2 files changed, 6 insertions(+), 11 deletions(-)

--- NEW FILE gcc44-rh530847.patch ---
2010-01-24  David S. Miller  <davem at davemloft.net>

	* gcc/config/sparc/sysv4.h (TARGET_ASM_NAMED_SECTION): Only
	define if not using GAS.
	* gcc/config/sparc/sparc.c (sparc_elf_asm_named_section):
	Likewise.  Delete SECTION_MERGE code, which is only applicable
	when using GAS.

--- gcc/config/sparc/sparc.c	(revision 156204)
+++ gcc/config/sparc/sparc.c	(revision 156205)
@@ -371,7 +371,7 @@ static int save_or_restore_regs (int, in
 static void emit_save_or_restore_regs (int);
 static void sparc_asm_function_prologue (FILE *, HOST_WIDE_INT);
 static void sparc_asm_function_epilogue (FILE *, HOST_WIDE_INT);
-#ifdef OBJECT_FORMAT_ELF
+#if defined (OBJECT_FORMAT_ELF) && !defined (HAVE_GNU_AS)
 static void sparc_elf_asm_named_section (const char *, unsigned int, tree);
 #endif
 
@@ -7847,19 +7847,11 @@ sparc_profile_hook (int labelno)
     }
 }
 
-#ifdef OBJECT_FORMAT_ELF
+#if defined (OBJECT_FORMAT_ELF) && !defined (HAVE_GNU_AS)
 static void
 sparc_elf_asm_named_section (const char *name, unsigned int flags,
 			     tree decl)
 {
-  if (flags & SECTION_MERGE)
-    {
-      /* entsize cannot be expressed in this section attributes
-	 encoding style.  */
-      default_elf_asm_named_section (name, flags, decl);
-      return;
-    }
-
   fprintf (asm_out_file, "\t.section\t\"%s\"", name);
 
   if (!(flags & SECTION_DEBUG))
--- gcc/config/sparc/sysv4.h	(revision 156204)
+++ gcc/config/sparc/sysv4.h	(revision 156205)
@@ -1,5 +1,6 @@
 /* Target definitions for GNU compiler for SPARC running System V.4
-   Copyright (C) 1991, 1992, 1995, 1996, 1997, 1998, 2000, 2002, 2007, 2009
+   Copyright (C) 1991, 1992, 1995, 1996, 1997, 1998, 2000, 2002, 2007, 2009,
+   2010
    Free Software Foundation, Inc.
    Contributed by Ron Guilmette (rfg at monkeys.com).
 
@@ -126,9 +127,11 @@ do { ASM_OUTPUT_ALIGN ((FILE), Pmode == 
 #undef DTORS_SECTION_ASM_OP
 #define DTORS_SECTION_ASM_OP    "\t.section\t\".dtors\",#alloc,#write"
 
+#ifndef HAVE_GNU_AS
 /* Switch into a generic section.  */
 #undef TARGET_ASM_NAMED_SECTION
 #define TARGET_ASM_NAMED_SECTION  sparc_elf_asm_named_section
+#endif
 
 #undef ASM_OUTPUT_ALIGNED_BSS
 #define ASM_OUTPUT_ALIGNED_BSS(FILE, DECL, NAME, SIZE, ALIGN) \


Index: gcc.spec
===================================================================
RCS file: /cvs/pkgs/rpms/gcc/F-12/gcc.spec,v
retrieving revision 1.108
retrieving revision 1.109
diff -u -p -r1.108 -r1.109
--- gcc.spec	21 Jan 2010 17:17:26 -0000	1.108
+++ gcc.spec	25 Jan 2010 22:31:28 -0000	1.109
@@ -3,7 +3,7 @@
 %global gcc_version 4.4.3
 # Note, gcc_release must be integer, if you want to add suffixes to
 # %{release}, append them after %{gcc_release} on Release: line.
-%global gcc_release 1
+%global gcc_release 3
 %global _unpackaged_files_terminate_build 0
 %global multilib_64_archs sparc64 ppc64 s390x x86_64
 %if 0%{?fedora} >= 13
@@ -167,6 +167,8 @@ Patch18: gcc44-libstdc++-docs.patch
 Patch19: gcc44-ppc64-aixdesc.patch
 Patch20: gcc44-max-vartrack-size.patch
 Patch21: gcc44-vta-non-call-exception.patch
+Patch22: gcc44-rh530847.patch
+Patch23: gcc44-pr42861.patch
 
 Patch1000: fastjar-0.97-segfault.patch
 Patch1001: fastjar-0.97-len1.patch
@@ -477,6 +479,8 @@ which are required to compile with the G
 %patch19 -p0 -b .ppc64-aixdesc~
 %patch20 -p0 -b .max-vartrack-size~
 %patch21 -p0 -b .vta-non-call-exception~
+%patch22 -p0 -b .rh530847~
+%patch23 -p0 -b .pr42861~
 
 # This testcase doesn't compile.
 rm libjava/testsuite/libjava.lang/PR35020*
@@ -1866,6 +1870,12 @@ fi
 %doc rpm.doc/changelogs/libmudflap/ChangeLog*
 
 %changelog
+* Mon Jan 25 2010 Jakub Jelinek <jakub at redhat.com> 4.4.3-3
+- VTA improvements (#556975, PR debug/42861)
+
+* Sat Jan 23 2010 Dennis Gilmore <dennis at ausil.us> 4.4.3-2
+- use gas .section syntax (#530847)
+
 * Thu Jan 21 2010 Jakub Jelinek <jakub at redhat.com> 4.4.3-1
 - update from gcc-4_4-branch
   - GCC 4.4.3 release



More information about the scm-commits mailing list