ChangeLog:
authorUlrich Weigand <uweigand@de.ibm.com>
Fri, 25 Jun 2010 13:00:33 +0000 (13:00 +0000)
committerUlrich Weigand <uweigand@de.ibm.com>
Fri, 25 Jun 2010 13:00:33 +0000 (13:00 +0000)
commitf2c7657e9a0e18772ce4b0a95afd2b6546152b78
treea7af9795f2e7daa59d8e72d016040c1a294b7aee
parentb1d61bc9d188010bf897f8155a76fb76ab99775f
ChangeLog:

* dwarf2expr.h (struct dwarf_value_location): Use ULONGEST as type
of stack values.
(struct dwarf_expr_piece): Rename "expr" member to "mem".  Add new
"value" member.
(dwarf_expr_push): Change input type to ULONGEST.
(dwarf_expr_fetch): Change return type to ULONGEST.
(dwarf_expr_fetch_address): Add prototype.
(dwarf2_read_address): Remove prototype.
* dwarf2expr.c (dwarf_expr_push): Use ULONGEST as type of stack values.
Truncate stack values to ctx->addr_size bytes.
(dwarf_expr_fetch): Change return value to ULONGEST.
(dwarf_expr_fetch_address): New function.
(add_piece): Use dwarf_expr_fetch_address instead of dwarf_expr_fetch
when appropriate.  Update for struct dwarf_expr_piece changes.
(dwarf2_read_address): Remove.
(unsigned_address_type): Remove.
(signed_address_type): Remove.
(execute_stack_op): Use dwarf_expr_fetch_address instead of
dwarf_expr_fetch when appropriate.  Use ULONGEST as type of stack
values.  Perform operations on ULONGEST instead of on GDB values,
sign-extending from ctx->addr_size bytes as needed.  Read DW_OP_addr
values and DW_OP_deref results as unsigned integers.
* dwarf2loc.c (read_pieced_value): Update for struct dwarf_expr_piece
changes.
(write_pieced_value): Likewise.
(dwarf2_evaluate_loc_desc): Use dwarf_expr_fetch_address instead of
dwarf_expr_fetch when appropriate.
(compile_dwarf_to_ax): Read DW_OP_addr values as unsigned integers.
* dwarf2-frame.c (execute_stack_op): Use dwarf_expr_fetch_address
instead of dwarf_expr_fetch when appropriate.

testsuite/ChangeLog:

* gdb.cell/dwarfaddr.exp: New file.
* gdb.cell/dwarfaddr.S: New file.
gdb/ChangeLog
gdb/dwarf2-frame.c
gdb/dwarf2expr.c
gdb/dwarf2expr.h
gdb/dwarf2loc.c
gdb/testsuite/ChangeLog
gdb/testsuite/gdb.cell/dwarfaddr.S [new file with mode: 0644]
gdb/testsuite/gdb.cell/dwarfaddr.exp [new file with mode: 0644]