public inbox for archer-commits@sourceware.org
help / color / mirror / Atom feed
* [SCM]  archer-jankratochvil-fedora-merge: cherry-pick: Fix parsing DW_AT_const_value using DW_FORM_string
@ 2009-05-15 21:49 jkratoch
  0 siblings, 0 replies; only message in thread
From: jkratoch @ 2009-05-15 21:49 UTC (permalink / raw)
  To: archer-commits

The branch, archer-jankratochvil-fedora-merge has been updated
       via  c2d5c4a39b10994d86d8f2f90dfed769e8f216f3 (commit)
      from  b8d3bea36b137effc929e02c4dadf73716cb330b (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email.

- Log -----------------------------------------------------------------
commit c2d5c4a39b10994d86d8f2f90dfed769e8f216f3
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Fri May 15 23:48:46 2009 +0200

    cherry-pick: Fix parsing DW_AT_const_value using DW_FORM_string
    
    gdb/
    2009-05-15  Jan Kratochvil  <jan.kratochvil@redhat.com>
    
    	Fix parsing DW_AT_const_value using DW_FORM_string.
    	* dwarf2read.c (dwarf2_const_value <DW_FORM_string>): New.
    
    gdb/testsuite/
    2009-05-15  Jan Kratochvil  <jan.kratochvil@redhat.com>
    
    	* gdb.dwarf2/dw2-strp.exp (p a_string2, ptype a_string2): New.
    	* gdb.dwarf2/dw2-strp.S (a_string2): New.
    
    http://sourceware.org/ml/archer/2009-q2/msg00096.html
    http://sourceware.org/ml/gdb-patches/2009-05/msg00330.html
    
    original commit: 2a565ec774b4c82592263cab76f484e700130781

-----------------------------------------------------------------------

Summary of changes:
 gdb/dwarf2read.c                      |    1 +
 gdb/testsuite/gdb.dwarf2/dw2-strp.S   |   28 ++++++++++++++++++++++++----
 gdb/testsuite/gdb.dwarf2/dw2-strp.exp |    5 ++++-
 3 files changed, 29 insertions(+), 5 deletions(-)

First 500 lines of diff:
diff --git a/gdb/dwarf2read.c b/gdb/dwarf2read.c
index 8b4af74..509bda1 100644
--- a/gdb/dwarf2read.c
+++ b/gdb/dwarf2read.c
@@ -8747,6 +8747,7 @@ dwarf2_const_value (struct attribute *attr, struct symbol *sym,
 			      DW_ADDR (attr));
       SYMBOL_CLASS (sym) = LOC_CONST_BYTES;
       break;
+    case DW_FORM_string:
     case DW_FORM_strp:
       /* DW_STRING is already allocated on the obstack, point directly
 	 to it.  */
diff --git a/gdb/testsuite/gdb.dwarf2/dw2-strp.S b/gdb/testsuite/gdb.dwarf2/dw2-strp.S
index 293cc1b..4dbb761 100644
--- a/gdb/testsuite/gdb.dwarf2/dw2-strp.S
+++ b/gdb/testsuite/gdb.dwarf2/dw2-strp.S
@@ -52,17 +52,23 @@
 	.byte		1			/* DW_AT_byte_size */
 	.byte		6			/* DW_AT_encoding */
 
-	.uleb128	5			/* Abbrev: DW_TAG_variable */
+	.uleb128	5			/* Abbrev: DW_TAG_variable DW_FORM_strp */
 	.4byte		.Lvarname		/* DW_AT_name */
 	.4byte		.Lconst_type-.Lcu1_begin/* DW_AT_type */
 	.4byte		.Lvarcontents		/* DW_AT_const_value */
 	.byte		1			/* DW_AT_external */
 
+	.uleb128	6			/* Abbrev: DW_TAG_variable DW_FORM_string */
+	.string		"a_string2"		/* DW_AT_name */
+	.4byte		.Lconst_type-.Lcu1_begin/* DW_AT_type */
+	.string		"hello world2\n"	/* DW_AT_const_value */
+	.byte		1			/* DW_AT_external */
+
 .Lconst_type:
-	.uleb128	6			/* Abbrev: DW_TAG_const_type */
+	.uleb128	7			/* Abbrev: DW_TAG_const_type */
 	.4byte		.Larray_type-.Lcu1_begin/* DW_AT_type */
 
-	.uleb128	7			/* Abbrev: DW_TAG_variable (name "") */
+	.uleb128	8			/* Abbrev: DW_TAG_variable (name "") */
 	.4byte		.Lemptyname		/* DW_AT_name */
 
 	.byte		0			/* End of children of CU */
@@ -125,6 +131,20 @@
 	.byte		0x0			/* Terminator */
 
 	.uleb128	6			/* Abbrev code */
+	.uleb128	0x34			/* DW_TAG_variable */
+	.byte		0x0			/* no_children */
+	.uleb128	0x3			/* DW_AT_name */
+	.uleb128	0x8			/* DW_FORM_string */
+	.uleb128	0x49			/* DW_AT_type */
+	.uleb128	0x13			/* DW_FORM_ref4 */
+	.uleb128	0x1c			/* DW_AT_const_value */
+	.uleb128	0x8			/* DW_FORM_string */
+	.uleb128	0x3f			/* DW_AT_external */
+	.uleb128	0xc			/* DW_FORM_flag */
+	.byte		0x0			/* Terminator */
+	.byte		0x0			/* Terminator */
+
+	.uleb128	7			/* Abbrev code */
 	.uleb128	0x26			/* DW_TAG_const_type */
 	.byte		0x0			/* DW_children_no */
 	.uleb128	0x49			/* DW_AT_type */
@@ -132,7 +152,7 @@
 	.byte		0x0			/* Terminator */
 	.byte		0x0			/* Terminator */
 
-	.uleb128	7			/* Abbrev code */
+	.uleb128	8			/* Abbrev code */
 	.uleb128	0x34			/* DW_TAG_variable */
 	.byte		0x0			/* DW_children_no */
 	.uleb128	0x3			/* DW_AT_name */
diff --git a/gdb/testsuite/gdb.dwarf2/dw2-strp.exp b/gdb/testsuite/gdb.dwarf2/dw2-strp.exp
index 2201d30..41620a4 100644
--- a/gdb/testsuite/gdb.dwarf2/dw2-strp.exp
+++ b/gdb/testsuite/gdb.dwarf2/dw2-strp.exp
@@ -48,5 +48,8 @@ gdb_start
 gdb_reinitialize_dir $srcdir/$subdir
 gdb_load ${binfile}
 
-gdb_test "p a_string" "\\\$1 = \"hello world!\\\\n\""
+gdb_test "p a_string" " = \"hello world!\\\\n\""
 gdb_test "ptype a_string" "type = char \\\[14\\\]"
+
+gdb_test "p a_string2" " = \"hello world2\\\\n\""
+gdb_test "ptype a_string2" "type = char \\\[14\\\]"


hooks/post-receive
--
Repository for Project Archer.


^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2009-05-15 21:49 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2009-05-15 21:49 [SCM] archer-jankratochvil-fedora-merge: cherry-pick: Fix parsing DW_AT_const_value using DW_FORM_string jkratoch

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).