rpms/gcc/devel gcc44-debug-sra-be.patch, NONE, 1.1 .cvsignore, 1.312, 1.313 gcc.spec, 1.93, 1.94 import.log, 1.18, 1.19 sources, 1.317, 1.318

Jakub Jelinek jakub at fedoraproject.org
Tue May 18 21:17:40 UTC 2010


Author: jakub

Update of /cvs/pkgs/rpms/gcc/devel
In directory cvs01.phx2.fedoraproject.org:/tmp/cvs-serv4378/devel

Modified Files:
	.cvsignore gcc.spec import.log sources 
Added Files:
	gcc44-debug-sra-be.patch 
Log Message:
4.4.4-4


gcc44-debug-sra-be.patch:
 dwarf2out.c |   51 +++++++++++++++++++++++++++++++++++++++++++++------
 1 file changed, 45 insertions(+), 6 deletions(-)

--- NEW FILE gcc44-debug-sra-be.patch ---
2010-05-18  Jakub Jelinek  <jakub at redhat.com>

	* dwarf2out.c (new_loc_descr_op_bit_piece): Add offset
	argument.  Don't use DW_OP_piece if offset is non-zero,
	put offset into second DW_OP_bit_piece argument.
	(dw_sra_loc_expr): Adjust callers.  For memory expressions
	compute offset.

--- gcc/dwarf2out.c.jj	2010-05-15 08:09:16.000000000 +0200
+++ gcc/dwarf2out.c	2010-05-18 15:49:26.000000000 +0200
@@ -14364,12 +14364,12 @@ dw_loc_list_1 (tree loc, rtx varloc, int
    if it is not possible.  */
 
 static dw_loc_descr_ref
-new_loc_descr_op_bit_piece (HOST_WIDE_INT bitsize)
+new_loc_descr_op_bit_piece (HOST_WIDE_INT bitsize, HOST_WIDE_INT offset)
 {
-  if ((bitsize % BITS_PER_UNIT) == 0)
+  if ((bitsize % BITS_PER_UNIT) == 0 && offset == 0)
     return new_loc_descr (DW_OP_piece, bitsize / BITS_PER_UNIT, 0);
   else if (dwarf_version >= 3 || !dwarf_strict)
-    return new_loc_descr (DW_OP_bit_piece, bitsize, 0);
+    return new_loc_descr (DW_OP_bit_piece, bitsize, offset);
   else
     return NULL;
 }
@@ -14448,7 +14448,7 @@ dw_sra_loc_expr (tree decl, rtx loc)
 	  if (padsize > decl_size)
 	    return NULL;
 	  decl_size -= padsize;
-	  *descr_tail = new_loc_descr_op_bit_piece (padsize);
+	  *descr_tail = new_loc_descr_op_bit_piece (padsize, 0);
 	  if (*descr_tail == NULL)
 	    return NULL;
 	  descr_tail = &(*descr_tail)->dw_loc_next;
@@ -14461,7 +14461,46 @@ dw_sra_loc_expr (tree decl, rtx loc)
       decl_size -= bitsize;
       if (last == NULL)
 	{
-	  *descr_tail = new_loc_descr_op_bit_piece (bitsize);
+	  HOST_WIDE_INT offset = 0;
+	  if (GET_CODE (varloc) == VAR_LOCATION
+	      && GET_CODE (PAT_VAR_LOCATION_LOC (varloc)) != PARALLEL)
+	    {
+	      varloc = PAT_VAR_LOCATION_LOC (varloc);
+	      if (GET_CODE (varloc) == EXPR_LIST)
+		varloc = XEXP (varloc, 0);
+	    }
+	  do 
+	    {
+	      if (GET_CODE (varloc) == CONST
+		  || GET_CODE (varloc) == SIGN_EXTEND
+		  || GET_CODE (varloc) == ZERO_EXTEND)
+		varloc = XEXP (varloc, 0);
+	      else if (GET_CODE (varloc) == SUBREG)
+		varloc = SUBREG_REG (varloc);
+	      else
+		break;
+	    }
+	  while (1);
+	  /* DW_OP_bit_size offset should be zero for register
+	     or implicit location descriptions and empty location
+	     descriptions, but for memory addresses needs big endian
+	     adjustment.  */
+	  if (MEM_P (varloc)
+	      && ((unsigned HOST_WIDE_INT) INTVAL (MEM_SIZE (varloc))
+		  * BITS_PER_UNIT) != bitsize)
+	    {
+	      unsigned HOST_WIDE_INT memsize
+		= INTVAL (MEM_SIZE (varloc)) * BITS_PER_UNIT;
+	      if (BYTES_BIG_ENDIAN != WORDS_BIG_ENDIAN
+		  && (memsize > BITS_PER_WORD || bitsize > BITS_PER_WORD))
+		return NULL;
+	      if (memsize < bitsize)
+		return NULL;
+	      if (BITS_BIG_ENDIAN)
+		offset = memsize - bitsize;
+	    }
+
+	  *descr_tail = new_loc_descr_op_bit_piece (bitsize, offset);
 	  if (*descr_tail == NULL)
 	    return NULL;
 	  descr_tail = &(*descr_tail)->dw_loc_next;
@@ -14472,7 +14511,7 @@ dw_sra_loc_expr (tree decl, rtx loc)
      the decl.  */
   if (descr != NULL && decl_size != 0)
     {
-      *descr_tail = new_loc_descr_op_bit_piece (decl_size);
+      *descr_tail = new_loc_descr_op_bit_piece (decl_size, 0);
       if (*descr_tail == NULL)
 	return NULL;
     }


Index: .cvsignore
===================================================================
RCS file: /cvs/pkgs/rpms/gcc/devel/.cvsignore,v
retrieving revision 1.312
retrieving revision 1.313
diff -u -p -r1.312 -r1.313
--- .cvsignore	14 May 2010 21:52:04 -0000	1.312
+++ .cvsignore	18 May 2010 21:17:39 -0000	1.313
@@ -1,2 +1,2 @@
 fastjar-0.97.tar.gz
-gcc-4.4.4-20100514.tar.bz2
+gcc-4.4.4-20100518.tar.bz2


Index: gcc.spec
===================================================================
RCS file: /cvs/pkgs/rpms/gcc/devel/gcc.spec,v
retrieving revision 1.93
retrieving revision 1.94
diff -u -p -r1.93 -r1.94
--- gcc.spec	14 May 2010 21:52:04 -0000	1.93
+++ gcc.spec	18 May 2010 21:17:39 -0000	1.94
@@ -1,9 +1,9 @@
-%global DATE 20100514
-%global SVNREV 159406
+%global DATE 20100518
+%global SVNREV 159543
 %global gcc_version 4.4.4
 # 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 3
+%global gcc_release 4
 %global _unpackaged_files_terminate_build 0
 %global multilib_64_archs sparc64 ppc64 s390x x86_64
 %if 0%{?fedora} >= 13 || 0%{?rhel} >= 6
@@ -176,6 +176,7 @@ Patch17: gcc44-pr38757.patch
 Patch18: gcc44-libstdc++-docs.patch
 Patch19: gcc44-ppc64-aixdesc.patch
 Patch20: gcc44-no-add-needed.patch
+Patch21: gcc44-debug-sra-be.patch
 
 Patch1000: fastjar-0.97-segfault.patch
 Patch1001: fastjar-0.97-len1.patch
@@ -487,6 +488,7 @@ which are required to compile with the G
 %if 0%{?fedora} >= 13
 %patch20 -p0 -b .no-add-needed~
 %endif
+%patch21 -p0 -b .debug-sra-be~
 
 # This testcase doesn't compile.
 rm libjava/testsuite/libjava.lang/PR35020*
@@ -1876,6 +1878,15 @@ fi
 %doc rpm.doc/changelogs/libmudflap/ChangeLog*
 
 %changelog
+* Tue May 18 2010 Jakub Jelinek <jakub at redhat.com> 4.4.4-4
+- update from gcc-4_4-branch
+  - PR fortran/44135
+- C++ -Wunused-but-set-variable fix (PR c++/44108)
+- avoid C++ gimplification affecting mangling (#591635, PR c++/44148)
+- asm goto fixes (PRs middle-end/44102, bootstrap/42347)
+- VTA backports
+  - PRs debug/41371, debug/44112
+
 * Fri May 14 2010 Jakub Jelinek <jakub at redhat.com> 4.4.4-3
 - update from gcc-4_4-branch
   - PRs debug/43370, documentation/44016, fortran/44036, middle-end/43671,


Index: import.log
===================================================================
RCS file: /cvs/pkgs/rpms/gcc/devel/import.log,v
retrieving revision 1.18
retrieving revision 1.19
diff -u -p -r1.18 -r1.19
--- import.log	14 May 2010 21:52:04 -0000	1.18
+++ import.log	18 May 2010 21:17:39 -0000	1.19
@@ -16,3 +16,4 @@ gcc-4_4_3-19_fc14:HEAD:gcc-4.4.3-19.fc14
 gcc-4_4_4-1_fc14:HEAD:gcc-4.4.4-1.fc14.src.rpm:1272658058
 gcc-4_4_4-2_fc14:HEAD:gcc-4.4.4-2.fc14.src.rpm:1272918393
 gcc-4_4_4-3_fc14:HEAD:gcc-4.4.4-3.fc14.src.rpm:1273873902
+gcc-4_4_4-4_fc14:HEAD:gcc-4.4.4-4.fc14.src.rpm:1274217418


Index: sources
===================================================================
RCS file: /cvs/pkgs/rpms/gcc/devel/sources,v
retrieving revision 1.317
retrieving revision 1.318
diff -u -p -r1.317 -r1.318
--- sources	14 May 2010 21:52:04 -0000	1.317
+++ sources	18 May 2010 21:17:39 -0000	1.318
@@ -1,2 +1,2 @@
 2659f09c2e43ef8b7d4406321753f1b2  fastjar-0.97.tar.gz
-f0941df8a6d1e8a9443b56122c73be3f  gcc-4.4.4-20100514.tar.bz2
+b7e838fc8d20ea7431118b45d6a7ecca  gcc-4.4.4-20100518.tar.bz2



More information about the scm-commits mailing list