aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJan Kratochvil <jan.kratochvil@redhat.com>2011-07-27 21:18:40 +0000
committerJan Kratochvil <jan.kratochvil@redhat.com>2011-07-27 21:18:40 +0000
commitd24f74ce456f68cf5a68b519dd08b96b971d88d6 (patch)
treeecfd6d6fdaa03ab3f2115235d22188e2fcca6210
parent3396237fb5098bbd82b8e91fa67140af285840c0 (diff)
downloadgdb-d24f74ce456f68cf5a68b519dd08b96b971d88d6.zip
gdb-d24f74ce456f68cf5a68b519dd08b96b971d88d6.tar.gz
gdb-d24f74ce456f68cf5a68b519dd08b96b971d88d6.tar.bz2
gdb/testsuite/
* gdb.dwarf2/dw2-simple-locdesc.S: Change DWARF version to 3. (.Ldie26, .Ldie41, .Ldie4a, .Ldie54, .Ldie5b): Remove. (.Ldie30) Add as field "data4". (.Ldie32) Rename field "b" to "shl". (abbrev4) Change for the "data4" field. (abbrev5, abbrev6) Remove. * gdb.dwarf2/dw2-simple-locdesc.exp (p &s.b): Rename to ... (p &s.shl): ... here. Add comment. (p &s.data4): New.
-rw-r--r--gdb/testsuite/ChangeLog12
-rw-r--r--gdb/testsuite/gdb.dwarf2/dw2-simple-locdesc.S62
-rw-r--r--gdb/testsuite/gdb.dwarf2/dw2-simple-locdesc.exp8
3 files changed, 34 insertions, 48 deletions
diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog
index 3060f8e..905e2fc 100644
--- a/gdb/testsuite/ChangeLog
+++ b/gdb/testsuite/ChangeLog
@@ -1,5 +1,17 @@
2011-07-27 Jan Kratochvil <jan.kratochvil@redhat.com>
+ * gdb.dwarf2/dw2-simple-locdesc.S: Change DWARF version to 3.
+ (.Ldie26, .Ldie41, .Ldie4a, .Ldie54, .Ldie5b): Remove.
+ (.Ldie30) Add as field "data4".
+ (.Ldie32) Rename field "b" to "shl".
+ (abbrev4) Change for the "data4" field.
+ (abbrev5, abbrev6) Remove.
+ * gdb.dwarf2/dw2-simple-locdesc.exp (p &s.b): Rename to ...
+ (p &s.shl): ... here. Add comment.
+ (p &s.data4): New.
+
+2011-07-27 Jan Kratochvil <jan.kratochvil@redhat.com>
+
Fix crash on lval_computed values.
* gdb.dwarf2/implptr.exp (print sizeof (j[0])): New test.
diff --git a/gdb/testsuite/gdb.dwarf2/dw2-simple-locdesc.S b/gdb/testsuite/gdb.dwarf2/dw2-simple-locdesc.S
index 029a9c5..3f7df5f 100644
--- a/gdb/testsuite/gdb.dwarf2/dw2-simple-locdesc.S
+++ b/gdb/testsuite/gdb.dwarf2/dw2-simple-locdesc.S
@@ -27,7 +27,7 @@ var:
d:
.4byte .Lcu_end - 1f /* Length of Compilation Unit Info */
1:
- .value 0x2 /* DWARF version number */
+ .value 0x3 /* DWARF version number */
.4byte .Ldebug_abbrev0 /* Offset Into Abbrev. Section */
.byte 0x4 /* Pointer Size (in bytes) */
.uleb128 0x1 /* (DIE (0xb) DW_TAG_compile_unit) */
@@ -39,18 +39,16 @@ d:
.4byte 0x1000004 /* DW_AT_byte_size */
.byte 0x1 /* DW_AT_decl_file (<stdin>) */
.byte 0x1 /* DW_AT_decl_line */
-.Ldie26:
- .uleb128 0x3 /* (DIE (0x26) DW_TAG_member) */
- .ascii "a\0" /* DW_AT_name */
+.Ldie30:
+ .uleb128 0x4 /* (DIE (0x30) DW_TAG_member) */
+ .ascii "data4\0" /* DW_AT_name */
.byte 0x1 /* DW_AT_decl_file (<stdin>) */
.byte 0x1 /* DW_AT_decl_line */
- .4byte .Ldie41 - d /* DW_AT_type */
- .byte 0x2 /* DW_AT_data_member_location */
- .byte 0x23 /* DW_OP_plus_uconst */
- .uleb128 0
+ .4byte .Ldie62 - d /* DW_AT_type */
+ .4byte 0x10000 /* DW_AT_data_member_location */
.Ldie32:
.uleb128 0x3 /* (DIE (0x32) DW_TAG_member) */
- .ascii "b\0" /* DW_AT_name */
+ .ascii "shl\0" /* DW_AT_name */
.byte 0x1 /* DW_AT_decl_file (<stdin>) */
.byte 0x1 /* DW_AT_decl_line */
.4byte .Ldie62 - d /* DW_AT_type */
@@ -60,24 +58,6 @@ d:
.byte 0x24 /* DW_OP_shl */
.byte 0x22 /* DW_OP_plus */
.byte 0 /* end of children of DIE 0x19 */
-.Ldie41:
- .uleb128 0x4 /* (DIE (0x41) DW_TAG_array_type) */
- .4byte .Ldie5b - d /* DW_AT_type */
-.Ldie4a:
- .uleb128 0x5 /* (DIE (0x4a) DW_TAG_subrange_type) */
- .4byte .Ldie54 - d /* DW_AT_type */
- .4byte 0xffffff /* DW_AT_upper_bound */
- .byte 0 /* end of children of DIE 0x41 */
-.Ldie54:
- .uleb128 0x6 /* (DIE (0x54) DW_TAG_base_type) */
- .byte 0x8 /* DW_AT_byte_size */
- .byte 0x7 /* DW_AT_encoding */
- .4byte .LASF0 /* DW_AT_name: "sizetype" */
-.Ldie5b:
- .uleb128 0x6 /* (DIE (0x5b) DW_TAG_base_type) */
- .byte 0x1 /* DW_AT_byte_size */
- .byte 0x6 /* DW_AT_encoding */
- .4byte .LASF1 /* DW_AT_name: "char" */
.Ldie62:
.uleb128 0x7 /* (DIE (0x62) DW_TAG_base_type) */
.byte 0x4 /* DW_AT_byte_size */
@@ -137,32 +117,20 @@ d:
.byte 0
.byte 0
.uleb128 0x4 /* (abbrev code) */
- .uleb128 0x1 /* (TAG: DW_TAG_array_type) */
- .byte 0x1 /* DW_children_yes */
- .uleb128 0x49 /* (DW_AT_type) */
- .uleb128 0x13 /* (DW_FORM_ref4) */
- .byte 0
- .byte 0
- .uleb128 0x5 /* (abbrev code) */
- .uleb128 0x21 /* (TAG: DW_TAG_subrange_type) */
+ .uleb128 0xd /* (TAG: DW_TAG_member) */
.byte 0 /* DW_children_no */
+ .uleb128 0x3 /* (DW_AT_name) */
+ .uleb128 0x8 /* (DW_FORM_string) */
+ .uleb128 0x3a /* (DW_AT_decl_file) */
+ .uleb128 0xb /* (DW_FORM_data1) */
+ .uleb128 0x3b /* (DW_AT_decl_line) */
+ .uleb128 0xb /* (DW_FORM_data1) */
.uleb128 0x49 /* (DW_AT_type) */
.uleb128 0x13 /* (DW_FORM_ref4) */
- .uleb128 0x2f /* (DW_AT_upper_bound) */
+ .uleb128 0x38 /* (DW_AT_data_member_location) */
.uleb128 0x6 /* (DW_FORM_data4) */
.byte 0
.byte 0
- .uleb128 0x6 /* (abbrev code) */
- .uleb128 0x24 /* (TAG: DW_TAG_base_type) */
- .byte 0 /* DW_children_no */
- .uleb128 0xb /* (DW_AT_byte_size) */
- .uleb128 0xb /* (DW_FORM_data1) */
- .uleb128 0x3e /* (DW_AT_encoding) */
- .uleb128 0xb /* (DW_FORM_data1) */
- .uleb128 0x3 /* (DW_AT_name) */
- .uleb128 0xe /* (DW_FORM_strp) */
- .byte 0
- .byte 0
.uleb128 0x7 /* (abbrev code) */
.uleb128 0x24 /* (TAG: DW_TAG_base_type) */
.byte 0 /* DW_children_no */
diff --git a/gdb/testsuite/gdb.dwarf2/dw2-simple-locdesc.exp b/gdb/testsuite/gdb.dwarf2/dw2-simple-locdesc.exp
index 9fbca1b..8d39f88 100644
--- a/gdb/testsuite/gdb.dwarf2/dw2-simple-locdesc.exp
+++ b/gdb/testsuite/gdb.dwarf2/dw2-simple-locdesc.exp
@@ -30,4 +30,10 @@ if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" object {}] != ""
clean_restart $executable
-gdb_test "p &s.b" { = \(int \*\) 0x1000000}
+# Re: [patch 2/2] Fix decode_locdesc for gcc-4.7.x optimized DWARF
+# http://sourceware.org/ml/gdb-patches/2011-07/msg00766.html
+gdb_test "p &s.shl" { = \(int \*\) 0x1000000}
+
+# Re: RFC: fix DW_AT_data_member_location buglet
+# http://sourceware.org/ml/gdb-patches/2011-05/msg00291.html
+gdb_test "p &s.data4" { = \(int \*\) 0x10000}