rpms/gcc/F-12 gcc44-rh546017.patch, NONE, 1.1 .cvsignore, 1.316, 1.317 gcc.spec, 1.99, 1.100 sources, 1.323, 1.324 gcc44-pr41183.patch, 1.1, NONE

Jakub Jelinek jakub at fedoraproject.org
Thu Dec 17 20:07:54 UTC 2009


Author: jakub

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

Modified Files:
	.cvsignore gcc.spec sources 
Added Files:
	gcc44-rh546017.patch 
Removed Files:
	gcc44-pr41183.patch 
Log Message:
4.4.2-18

gcc44-rh546017.patch:
 dwarf2out.c                             |   32 +++++++++++++++++++++-----------
 testsuite/g++.dg/debug/dwarf2/const1.C  |    8 ++++----
 testsuite/gcc.dg/debug/dwarf2/const-1.c |    8 ++++----
 3 files changed, 29 insertions(+), 19 deletions(-)

--- NEW FILE gcc44-rh546017.patch ---
2009-12-15  Jakub Jelinek  <jakub at redhat.com>

	* dwarf2out.c (loc_descriptor): For SYMBOL_REFs and LABEL_REFs
	use DW_OP_addr+DW_OP_stack_value instead of DW_OP_implicit_value.
	(add_const_value_attribute): For CONST_STRING, SYMBOL_REFs and
	LABEL_REFs use DW_OP_addr+DW_OP_stack_value DW_AT_location instead of
	DW_AT_const_value.

	* gcc.dg/debug/dwarf2/const-1.c: Don't expect DW_AT_const_value,
	but instead DW_AT_location with DW_OP_addr+DW_OP_stack_value.  Add
	-gno-strict-dwarf -fno-merge-debug-strings to dg-options.
	* g++.dg/debug/dwarf2/const1.C: Likewise.

--- gcc/dwarf2out.c.jj	2009-12-14 17:55:28.000000000 +0100
+++ gcc/dwarf2out.c	2009-12-14 22:33:32.000000000 +0100
@@ -13775,10 +13775,10 @@ loc_descriptor (rtx rtl, enum machine_mo
       if (mode != VOIDmode && GET_MODE_SIZE (mode) == DWARF2_ADDR_SIZE
 	  && (dwarf_version >= 4 || !dwarf_strict))
 	{
-	  loc_result = new_loc_descr (DW_OP_implicit_value,
-				      DWARF2_ADDR_SIZE, 0);
-	  loc_result->dw_loc_oprnd2.val_class = dw_val_class_addr;
-	  loc_result->dw_loc_oprnd2.v.val_addr = rtl;
+	  loc_result = new_loc_descr (DW_OP_addr, 0, 0);
+	  loc_result->dw_loc_oprnd1.val_class = dw_val_class_addr;
+	  loc_result->dw_loc_oprnd1.v.val_addr = rtl;
+	  add_loc_descr (&loc_result, new_loc_descr (DW_OP_stack_value, 0, 0));
 	  VEC_safe_push (rtx, gc, used_rtx_array, rtl);
 	}
       break;
@@ -15223,10 +15223,20 @@ add_const_value_attribute (dw_die_ref di
       return true;
 
     case CONST_STRING:
-      resolve_one_addr (&rtl, NULL);
-      add_AT_addr (die, DW_AT_const_value, rtl);
-      VEC_safe_push (rtx, gc, used_rtx_array, rtl);
-      return true;
+      if (dwarf_version >= 4 || !dwarf_strict)
+	{
+	  dw_loc_descr_ref loc_result;
+	  resolve_one_addr (&rtl, NULL);
+	rtl_addr:
+	  loc_result = new_loc_descr (DW_OP_addr, 0, 0);
+	  loc_result->dw_loc_oprnd1.val_class = dw_val_class_addr;
+	  loc_result->dw_loc_oprnd1.v.val_addr = rtl;
+	  add_loc_descr (&loc_result, new_loc_descr (DW_OP_stack_value, 0, 0));
+	  add_AT_loc (die, DW_AT_location, loc_result);
+	  VEC_safe_push (rtx, gc, used_rtx_array, rtl);
+	  return true;
+	}
+      return false;
 
     case CONST:
       if (CONSTANT_P (XEXP (rtl, 0)))
@@ -15236,9 +15246,9 @@ add_const_value_attribute (dw_die_ref di
       if (!const_ok_for_output (rtl))
 	return false;
     case LABEL_REF:
-      add_AT_addr (die, DW_AT_const_value, rtl);
-      VEC_safe_push (rtx, gc, used_rtx_array, rtl);
-      return true;
+      if (dwarf_version >= 4 || !dwarf_strict)
+	goto rtl_addr;
+      return false;
 
     case PLUS:
       /* In cases where an inlined instance of an inline function is passed
--- gcc/testsuite/gcc.dg/debug/dwarf2/const-1.c.jj	2009-09-30 12:19:16.000000000 +0200
+++ gcc/testsuite/gcc.dg/debug/dwarf2/const-1.c	2009-12-15 10:57:48.000000000 +0100
@@ -1,7 +1,7 @@
 /* { dg-do compile } */
-/* { dg-options "-O -gdwarf-2 -dA" } */
+/* { dg-options "-O -gdwarf-2 -dA -gno-strict-dwarf -fno-merge-debug-strings" } */
 /* { dg-require-visibility "" } */
-/* { dg-final { scan-assembler "DW_AT_const_value" } } */
+/* { dg-final { scan-assembler "DW_AT_location\[^\\r\\n\]*\[\\r\\n\]*\[^\\r\\n\]*DW_OP_addr\[^\\r\\n\]*\[\\r\\n\]*\[^\\r\\n\]*fnx\[^\\r\\n\]*\[\\r\\n\]*\[^\\r\\n\]*DW_OP_stack_value" } } */
 
-extern void x() __attribute__((visibility("hidden")));
-static void (*f)() = x;
+extern void fnx() __attribute__((visibility("hidden")));
+static void (*f)() = fnx;
--- gcc/testsuite/g++.dg/debug/dwarf2/const1.C.jj	2009-09-30 12:19:16.000000000 +0200
+++ gcc/testsuite/g++.dg/debug/dwarf2/const1.C	2009-12-15 11:02:24.000000000 +0100
@@ -1,7 +1,7 @@
 /* { dg-do compile } */
-/* { dg-options "-O -gdwarf-2 -dA" } */
+/* { dg-options "-O -gdwarf-2 -dA -gno-strict-dwarf -fno-merge-debug-strings" } */
 /* { dg-require-visibility "" } */
-/* { dg-final { scan-assembler "DW_AT_const_value" } } */
+/* { dg-final { scan-assembler "DW_AT_location\[^\\r\\n\]*\[\\r\\n\]*\[^\\r\\n\]*DW_OP_addr\[^\\r\\n\]*\[\\r\\n\]*\[^\\r\\n\]*fnx\[^\\r\\n\]*\[\\r\\n\]*\[^\\r\\n\]*DW_OP_stack_value" } } */
 
-extern void x () __attribute__((visibility ("hidden")));
-void (* const f) () = x;
+extern void fnx () __attribute__((visibility ("hidden")));
+void (* const f) () = fnx;


Index: .cvsignore
===================================================================
RCS file: /cvs/pkgs/rpms/gcc/F-12/.cvsignore,v
retrieving revision 1.316
retrieving revision 1.317
diff -u -p -r1.316 -r1.317
--- .cvsignore	14 Dec 2009 20:54:26 -0000	1.316
+++ .cvsignore	17 Dec 2009 20:07:54 -0000	1.317
@@ -1,2 +1,2 @@
 fastjar-0.97.tar.gz
-gcc-4.4.2-20091214.tar.bz2
+gcc-4.4.2-20091217.tar.bz2


Index: gcc.spec
===================================================================
RCS file: /cvs/pkgs/rpms/gcc/F-12/gcc.spec,v
retrieving revision 1.99
retrieving revision 1.100
diff -u -p -r1.99 -r1.100
--- gcc.spec	14 Dec 2009 20:54:26 -0000	1.99
+++ gcc.spec	17 Dec 2009 20:07:54 -0000	1.100
@@ -1,9 +1,9 @@
-%global DATE 20091214
-%global SVNREV 155239
+%global DATE 20091217
+%global SVNREV 155325
 %global gcc_version 4.4.2
 # Note, gcc_release must be integer, if you want to add suffixes to
 # %{release}, append them after %{gcc_release} on Release: line.
-%global gcc_release 17
+%global gcc_release 18
 %global _unpackaged_files_terminate_build 0
 %global multilib_64_archs sparc64 ppc64 s390x x86_64
 %global include_gappletviewer 1
@@ -161,7 +161,7 @@ Patch16: gcc44-unwind-debug-hook.patch
 Patch17: gcc44-pr38757.patch
 Patch18: gcc44-libstdc++-docs.patch
 Patch19: gcc44-ppc64-aixdesc.patch
-Patch20: gcc44-pr41183.patch
+Patch20: gcc44-rh546017.patch
 
 Patch1000: fastjar-0.97-segfault.patch
 
@@ -467,7 +467,7 @@ which are required to compile with the G
 %patch18 -p0 -b .libstdc++-docs~
 %endif
 %patch19 -p0 -b .ppc64-aixdesc~
-%patch20 -p0 -b .pr41183~
+%patch20 -p0 -b .rh546017~
 
 # This testcase doesn't compile.
 rm libjava/testsuite/libjava.lang/PR35020*
@@ -1853,6 +1853,17 @@ fi
 %doc rpm.doc/changelogs/libmudflap/ChangeLog*
 
 %changelog
+* Thu Dec 17 2009 Jakub Jelinek <jakub at redhat.com> 4.4.2-18
+- update from gcc-4_4-branch
+  - PRs c++/42387
+- another C++ virtual dtors fix (PR c++/42386)
+- VTA mode and COND_EXEC fixes (PR debug/41679)
+- fix ICE in chrec_convert_1 (#547775)
+- fix debuginfo for optimized out TLS vars
+- use DW_AT_location with DW_OP_addr + DW_OP_stack_value instead of
+  DW_AT_const_value with address in it, use DW_OP_addr + DW_OP_stack_value
+  instead of DW_OP_implicit_value with address (#546017)
+
 * Mon Dec 14 2009 Jakub Jelinek <jakub at redhat.com> 4.4.2-17
 - propagate TREE_NOTHROW/TREE_READONLY/DECL_PURE_P from ipa-pure-const and
   EH opt to all same body aliases (#547286)


Index: sources
===================================================================
RCS file: /cvs/pkgs/rpms/gcc/F-12/sources,v
retrieving revision 1.323
retrieving revision 1.324
diff -u -p -r1.323 -r1.324
--- sources	14 Dec 2009 20:54:26 -0000	1.323
+++ sources	17 Dec 2009 20:07:54 -0000	1.324
@@ -1,2 +1,2 @@
 2659f09c2e43ef8b7d4406321753f1b2  fastjar-0.97.tar.gz
-d7c6ca8b8bb6d3748d413614aba9dce2  gcc-4.4.2-20091214.tar.bz2
+1bac2d18babfc08d9c27d488ffd75cc4  gcc-4.4.2-20091217.tar.bz2


--- gcc44-pr41183.patch DELETED ---




More information about the fedora-extras-commits mailing list