aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom de Vries <tdevries@suse.de>2019-06-24 13:29:23 +0200
committerTom de Vries <tdevries@suse.de>2019-06-24 13:29:23 +0200
commit824eacee59ea8c5625b9fad5b6eb0861b4d0f691 (patch)
tree0a40aca2753da40da4239540797d1a1612408ae9
parent385b97d3ac9c5c57a610d2e5b358ed888008ae31 (diff)
downloadgdb-824eacee59ea8c5625b9fad5b6eb0861b4d0f691.zip
gdb-824eacee59ea8c5625b9fad5b6eb0861b4d0f691.tar.gz
gdb-824eacee59ea8c5625b9fad5b6eb0861b4d0f691.tar.bz2
[gdb/testsuite] Fix DW_AT_decl_file in gdb.trace tests
When running gdb.trace/{entry-values.exp,unavailable-dwarf-piece.exp} with board cc-with-dwz, we run into two failures related to the DW_AT_decl_file attribute: - The encoding DW_FOR_sdata is used for DW_AT_decl_file, while the attribute is required to have a an "unsigned integer constant" value. - The DW_AT_decl_file attributes refer to a file with index one, while there's no such file. Fix this by using DW_FOR_udata and the value 0, meaning "no file specified". Tested on x86_64-linux with board native-gdbserver. gdb/testsuite/ChangeLog: 2019-06-24 Tom de Vries <tdevries@suse.de> * gdb.trace/entry-values.exp: Use DW_FORM_udata instead of DW_FOR_sdata for DW_AT_decl_file. Use 0 for DW_AT_decl_file. * gdb.trace/unavailable-dwarf-piece.exp: Same.
-rw-r--r--gdb/testsuite/ChangeLog6
-rw-r--r--gdb/testsuite/gdb.trace/entry-values.exp4
-rw-r--r--gdb/testsuite/gdb.trace/unavailable-dwarf-piece.exp8
3 files changed, 12 insertions, 6 deletions
diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog
index 4d48d2f..a8e4755 100644
--- a/gdb/testsuite/ChangeLog
+++ b/gdb/testsuite/ChangeLog
@@ -1,5 +1,11 @@
2019-06-24 Tom de Vries <tdevries@suse.de>
+ * gdb.trace/entry-values.exp: Use DW_FORM_udata instead of
+ DW_FOR_sdata for DW_AT_decl_file. Use 0 for DW_AT_decl_file.
+ * gdb.trace/unavailable-dwarf-piece.exp: Same.
+
+2019-06-24 Tom de Vries <tdevries@suse.de>
+
* gdb.dwarf2/inlined_subroutine-inheritance.exp:
2019-06-21 Tom de Vries <tdevries@suse.de>
diff --git a/gdb/testsuite/gdb.trace/entry-values.exp b/gdb/testsuite/gdb.trace/entry-values.exp
index 13619ba..6637e5e 100644
--- a/gdb/testsuite/gdb.trace/entry-values.exp
+++ b/gdb/testsuite/gdb.trace/entry-values.exp
@@ -109,7 +109,7 @@ Dwarf::assemble $asm_file {
}
foo_label: subprogram {
- {decl_file 1 sdata}
+ {decl_file 0 udata}
{MACRO_AT_func { foo ${srcdir}/${subdir}/${srcfile} }}
} {
formal_parameter {
@@ -126,7 +126,7 @@ Dwarf::assemble $asm_file {
subprogram {
{name bar}
- {decl_file 1 sdata}
+ {decl_file 0 udata}
{low_pc $bar_start addr}
{high_pc "$bar_start + $bar_length" addr}
{GNU_all_call_sites 1 sdata}
diff --git a/gdb/testsuite/gdb.trace/unavailable-dwarf-piece.exp b/gdb/testsuite/gdb.trace/unavailable-dwarf-piece.exp
index c62e344..8717785 100644
--- a/gdb/testsuite/gdb.trace/unavailable-dwarf-piece.exp
+++ b/gdb/testsuite/gdb.trace/unavailable-dwarf-piece.exp
@@ -44,7 +44,7 @@ Dwarf::assemble $asm_file {
struct_s_label: DW_TAG_structure_type {
{name s}
{byte_size 3 DW_FORM_sdata}
- {decl_file 1 DW_FORM_sdata}
+ {decl_file 0 DW_FORM_udata}
{decl_line 1 DW_FORM_sdata}
} {
DW_TAG_member {
@@ -73,7 +73,7 @@ Dwarf::assemble $asm_file {
struct_t_label: DW_TAG_structure_type {
{name t}
{byte_size 3 DW_FORM_sdata}
- {decl_file 1 DW_FORM_sdata}
+ {decl_file 0 DW_FORM_udata}
{decl_line 1 DW_FORM_sdata}
} {
DW_TAG_member {
@@ -174,7 +174,7 @@ Dwarf::assemble $asm_file {
DW_TAG_subprogram {
{name foo}
- {decl_file 1 sdata}
+ {decl_file 0 udata}
{low_pc foo_start_lbl addr}
{high_pc foo_end_lbl addr}
} {
@@ -219,7 +219,7 @@ Dwarf::assemble $asm_file {
DW_TAG_subprogram {
{name bar}
- {decl_file 1 sdata}
+ {decl_file 0 udata}
{low_pc bar_start_lbl addr}
{high_pc bar_end_lbl addr}
} {