aboutsummaryrefslogtreecommitdiff
path: root/gdb/testsuite/gdb.cp
diff options
context:
space:
mode:
authorLuis Machado <lgustavo@codesourcery.com>2014-06-19 07:07:48 +0100
committerLuis Machado <lgustavo@codesourcery.com>2014-06-19 07:07:48 +0100
commit45371d0ceec9e0771306060c49f378eea01b1269 (patch)
treeb6d309048c2c3cd28bd9ecc79441289dd7539932 /gdb/testsuite/gdb.cp
parentda58fb67f2f9fa8ff22591a0eede8804eb59743e (diff)
downloadgdb-45371d0ceec9e0771306060c49f378eea01b1269.zip
gdb-45371d0ceec9e0771306060c49f378eea01b1269.tar.gz
gdb-45371d0ceec9e0771306060c49f378eea01b1269.tar.bz2
The testcase was generating DW_AT_high_pc and DW_AT_low_pc entries
with type DW_FORM_string, which is wrong. GDB was using that information to load data as strings, and then proceeded to use the string pointers as addresses. Even then, the test was passing just fine, because we were lucky enough to have the low_pc string pointer smaller than the high_pc string pointer. Two issues are fixed. The first one is the DW_FORM_string type. The second one is adjusting the addresses so that they are non-zero, since GDB doesn't like seeing 0 in these fields due to a check contained in dwarf2_get_pc_bounds: if (low == 0 && !dwarf2_per_objfile->has_section_at_zero) return 0; With both fixes, the testcase passes deterministically. 2014-06-19 Luis Machado <lgustavo@codesourcery.com> * gdb.cp/nsalias.exp: Set type of low_pc and high_pc entries to DW_FORM_addr and use non-zero addresses.
Diffstat (limited to 'gdb/testsuite/gdb.cp')
-rw-r--r--gdb/testsuite/gdb.cp/nsalias.exp12
1 files changed, 6 insertions, 6 deletions
diff --git a/gdb/testsuite/gdb.cp/nsalias.exp b/gdb/testsuite/gdb.cp/nsalias.exp
index f99b609..d46c302 100644
--- a/gdb/testsuite/gdb.cp/nsalias.exp
+++ b/gdb/testsuite/gdb.cp/nsalias.exp
@@ -153,20 +153,20 @@ Dwarf::assemble $asm_file {
subprogram {
{specification :$im_foo_label}
- {low_pc 0x0}
- {high_pc 0x1}
+ {low_pc 0x1 DW_FORM_addr}
+ {high_pc 0x2 DW_FORM_addr}
}
subprogram {
{specification :$i_foo_label}
- {low_pc 0x2}
- {high_pc 0x3}
+ {low_pc 0x3 DW_FORM_addr}
+ {high_pc 0x4 DW_FORM_addr}
}
subprogram {
{specification :$o_foo_label}
- {low_pc 0x4}
- {high_pc 0x5}
+ {low_pc 0x5 DW_FORM_addr}
+ {high_pc 0x6 DW_FORM_addr}
}
}
}