gdb
authorTom Tromey <tromey@redhat.com>
Fri, 21 May 2010 21:13:13 +0000 (21:13 +0000)
committerTom Tromey <tromey@redhat.com>
Fri, 21 May 2010 21:13:13 +0000 (21:13 +0000)
commitd3b1e87423732a7e32fb495f8e7afde3faab88dc
tree6b1fb02cbe88204afa76f74657cbff9049f247ee
parentcb82636715e384dc5e75f3c1a4fd436626ba8dcd
gdb
* dwarf2loc.c (extract_bits_primitive): New function.
(extract_bits): Likewise.
(insert_bits): Likewise.
(copy_bitwise): Likewise.
(read_pieced_value): Do all operations in bits.
(write_pieced_value): Likewise.
* dwarf2expr.h (struct dwarf_expr_piece) <offset>: New field.
* dwarf2expr.c (add_piece): New arguments bit_piece, offset.
Always use xrealloc to resize piece array.
(execute_stack_op) <DW_OP_reg0>: Handle DW_OP_bit_piece.
<DW_OP_piece>: Update.
<DW_OP_bit_piece>: New case.
gdb/testsuite
* gdb.dwarf2/pieces.exp (pieces_test_f3): New proc.
Call it.
* gdb.dwarf2/pieces.S: Update.
* gdb.dwarf2/pieces.c (struct B): Remove initial field.
gdb/ChangeLog
gdb/dwarf2expr.c
gdb/dwarf2expr.h
gdb/dwarf2loc.c
gdb/testsuite/ChangeLog
gdb/testsuite/gdb.dwarf2/pieces.S
gdb/testsuite/gdb.dwarf2/pieces.c
gdb/testsuite/gdb.dwarf2/pieces.exp