add some missing ops to DWARF assembler
This changes the DWARF assembler to allow comments in a location expression, and also adds support for a few new opcodes I needed. gdb/testsuite/ChangeLog 2014-12-12 Tom Tromey <tromey@redhat.com> * lib/dwarf.exp (_location): Ignore blank lines. Allow comments. Handle DW_OP_pick, DW_OP_skip, DW_OP_bra.
This commit is contained in:
parent
a92a2e3435
commit
4ff709eb44
2 changed files with 13 additions and 1 deletions
|
@ -1,3 +1,8 @@
|
|||
2014-12-12 Tom Tromey <tromey@redhat.com>
|
||||
|
||||
* lib/dwarf.exp (_location): Ignore blank lines. Allow comments.
|
||||
Handle DW_OP_pick, DW_OP_skip, DW_OP_bra.
|
||||
|
||||
2014-12-12 Doug Evans <dje@google.com>
|
||||
|
||||
* lib/gdb-python.exp (get_python_valueof): New function.
|
||||
|
|
|
@ -803,7 +803,8 @@ namespace eval Dwarf {
|
|||
variable _cu_offset_size
|
||||
|
||||
foreach line [split $body \n] {
|
||||
if {[lindex $line 0] == ""} {
|
||||
# Ignore blank lines, and allow embedded comments.
|
||||
if {[lindex $line 0] == "" || [regexp -- {^[ \t]*#} $line]} {
|
||||
continue
|
||||
}
|
||||
set opcode [_map_name [lindex $line 0] _OP]
|
||||
|
@ -814,6 +815,7 @@ namespace eval Dwarf {
|
|||
_op .${_cu_addr_size}byte [lindex $line 1]
|
||||
}
|
||||
|
||||
DW_OP_pick -
|
||||
DW_OP_const1u -
|
||||
DW_OP_const1s {
|
||||
_op .byte [lindex $line 1]
|
||||
|
@ -854,6 +856,11 @@ namespace eval Dwarf {
|
|||
_op .uleb128 [lindex $line 2]
|
||||
}
|
||||
|
||||
DW_OP_skip -
|
||||
DW_OP_bra {
|
||||
_op .2byte [lindex $line 1]
|
||||
}
|
||||
|
||||
DW_OP_GNU_implicit_pointer {
|
||||
if {[llength $line] != 3} {
|
||||
error "usage: DW_OP_GNU_implicit_pointer LABEL OFFSET"
|
||||
|
|
Loading…
Reference in a new issue