diff options
-rw-r--r-- | gdb/testsuite/ChangeLog | 5 | ||||
-rw-r--r-- | gdb/testsuite/lib/dwarf.exp | 8 |
2 files changed, 12 insertions, 1 deletions
diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog index f9e0c20..a98e56d 100644 --- a/gdb/testsuite/ChangeLog +++ b/gdb/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2020-03-10 Andrew Burgess <andrew.burgess@embecosm.com> + + * lib/dwarf.exp (Dwarf::lines) Add support for modifying the + is-stmt flag in the line table. + 2020-03-09 Tom de Vries <tdevries@suse.de> * lib/gdb.exp (cached_file): Create cache dir. diff --git a/gdb/testsuite/lib/dwarf.exp b/gdb/testsuite/lib/dwarf.exp index 6c6ffbe..417b22d 100644 --- a/gdb/testsuite/lib/dwarf.exp +++ b/gdb/testsuite/lib/dwarf.exp @@ -1311,12 +1311,14 @@ namespace eval Dwarf { set _unit_addr_size default set _line_saw_program 0 set _line_saw_file 0 + set _default_is_stmt 1 foreach { name value } $options { switch -exact -- $name { is_64 { set is_64 $value } version { set _unit_version $value } addr_size { set _unit_addr_size $value } + default_is_stmt { set _default_is_stmt $value } default { error "unknown option $name" } } } @@ -1363,7 +1365,7 @@ namespace eval Dwarf { define_label $header_len_label _op .byte 1 "minimum_instruction_length" - _op .byte 1 "default_is_stmt" + _op .byte $_default_is_stmt "default_is_stmt" _op .byte 1 "line_base" _op .byte 1 "line_range" _op .byte 10 "opcode_base" @@ -1438,6 +1440,10 @@ namespace eval Dwarf { _op .byte 1 } + proc DW_LNS_negate_stmt {} { + _op .byte 6 + } + proc DW_LNS_advance_pc {offset} { _op .byte 2 _op .uleb128 ${offset} |