This is the mail archive of the
gdb-cvs@sourceware.org
mailing list for the GDB project.
gdb and binutils branch master updated. 3c8c5dcc9873798483c8abd6e614edb8ae1608a4
- From: brobecke at sourceware dot org
- To: gdb-cvs at sourceware dot org
- Date: 18 Aug 2014 16:15:11 -0000
- Subject: gdb and binutils branch master updated. 3c8c5dcc9873798483c8abd6e614edb8ae1608a4
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "gdb and binutils".
The branch, master has been updated
via 3c8c5dcc9873798483c8abd6e614edb8ae1608a4 (commit)
via 950c97d860f07274cad59b71c57704793e7f5a83 (commit)
via 3cdcd0ce16272ae8e8183699a341d081b6eb1b21 (commit)
via 08412b0722301c4ffbd9fd51d4056bc436b69658 (commit)
from 84754697d2ac74094af81cd484d4471c2e58117b (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=3c8c5dcc9873798483c8abd6e614edb8ae1608a4
commit 3c8c5dcc9873798483c8abd6e614edb8ae1608a4
Author: Joel Brobecker <brobecker@adacore.com>
Date: Wed Aug 13 16:45:59 2014 -0700
DW_AT_data_location and DW_OP_push_object_address testcase.
This testcase allows us to test the proper processing of both
DW_AT_data_location and DW_OP_push_object_address using a hand-crafted
testcase duplicating how we expect the Ada compiler to represent
unbounded arrays.
gdb/testsuite/ChangeLog:
* gdb.dwarf2/data-loc.c, gdb.dwarf2/data-loc.exp: New files.
https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=950c97d860f07274cad59b71c57704793e7f5a83
commit 950c97d860f07274cad59b71c57704793e7f5a83
Author: Joel Brobecker <brobecker@adacore.com>
Date: Thu Aug 14 15:57:00 2014 -0700
[Ada] "ptype" of array where bound value uses DW_OP_push_object_address
Consider an Ada array type where the DWARF debugging info for
at least one of the bounds involves an expression containing
a DW_OP_push_object_address operation. Trying to "ptype" that
type currently yields:
(gdb) ptype foo.array_type
type = array (Location address is not set.
This patch improves ada-typeprint by adding handling of the situation
where an array range type has dynamic bounds. In that case, it prints
the array bounds using Ada's typical syntax for unbounded ranges "<>":
(gdb) ptype array_type
type = array (<>) of integer
gdb/ChangeLog:
* ada-typeprint.c (type_is_full_subrange_of_target_type):
Return 0 if TYPE is dynamic.
(print_range): Add handling of dynamic ranges.
https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=3cdcd0ce16272ae8e8183699a341d081b6eb1b21
commit 3cdcd0ce16272ae8e8183699a341d081b6eb1b21
Author: Joel Brobecker <brobecker@adacore.com>
Date: Mon Aug 11 16:37:10 2014 -0700
Add support for DW_AT_data_location.
gdb/ChangeLog:
* gdbtypes.h (struct main_type): Add field "data_location".
(TYPE_DATA_LOCATION, TYPE_DATA_LOCATION_BATON)
(TYPE_DATA_LOCATION_ADDR, TYPE_DATA_LOCATION_KIND): New macros.
* gdbtypes.c (is_dynamic_type): Return 1 if the type has
a dynamic data location.
(resolve_dynamic_type): Add DW_AT_data_location handling.
(copy_recursive, copy_type): Copy the data_location information
when present.
* dwarf2read.c (set_die_type): Add DW_AT_data_location handling.
* value.c (value_from_contents_and_address): Add
DW_AT_data_location handling.
https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=08412b0722301c4ffbd9fd51d4056bc436b69658
commit 08412b0722301c4ffbd9fd51d4056bc436b69658
Author: Joel Brobecker <brobecker@adacore.com>
Date: Mon Aug 11 16:36:04 2014 -0700
Add support for DW_OP_push_object_address.
gdb/ChangeLog:
* dwarf2expr.h (struct dwarf_expr_context_funcs): Uncomment
field "get_object_address".
* dwarf2expr.c (execute_stack_op): Add handling for
DW_OP_push_object_address.
* dwarf2loc.h (dwarf2_evaluate_property): Add "address" field.
* dwarf2loc.c (struct dwarf_expr_baton): Add field "obj_address".
(dwarf_expr_push_dwarf_reg_entry_value): Set baton_local.obj_address.
(dwarf_expr_get_obj_addr): New function.
(dwarf_expr_ctx_funcs): Add get_object_address field.
(dwarf2_evaluate_loc_desc_full): Set baton.obj_address.
(dwarf2_locexpr_baton_eval): Add parameter "addr". Use it.
(dwarf2_evaluate_property): Add parameter "address". Use it.
(needs_get_obj_addr): New function.
(needs_frame_ctx_funcs): Add get_object_address field.
(dwarf2_compile_expr_to_ax): Add DW_OP_push_object_address handling.
* gdbtypes.c (resolve_dynamic_range): Add "addr" field. Use it.
(resolve_dynamic_array): Likewise.
-----------------------------------------------------------------------
Summary of changes:
gdb/ChangeLog | 42 +++++++
gdb/ada-typeprint.c | 31 +++++-
gdb/dwarf2expr.c | 6 +
gdb/dwarf2expr.h | 4 -
gdb/dwarf2loc.c | 45 +++++++-
gdb/dwarf2loc.h | 1 +
gdb/dwarf2read.c | 11 ++
gdb/gdbtypes.c | 59 +++++++++--
gdb/gdbtypes.h | 15 +++
gdb/testsuite/ChangeLog | 4 +
gdb/testsuite/gdb.dwarf2/data-loc.c | 46 ++++++++
gdb/testsuite/gdb.dwarf2/data-loc.exp | 191 +++++++++++++++++++++++++++++++++
gdb/value.c | 3 +
13 files changed, 435 insertions(+), 23 deletions(-)
create mode 100644 gdb/testsuite/gdb.dwarf2/data-loc.c
create mode 100644 gdb/testsuite/gdb.dwarf2/data-loc.exp
hooks/post-receive
--
gdb and binutils