aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPedro Alves <palves@redhat.com>2010-08-12 19:55:38 +0000
committerPedro Alves <palves@redhat.com>2010-08-12 19:55:38 +0000
commit98bfdba52e7a8f7f9a19cafe59538341929be301 (patch)
tree72485d5a13b2a27e9b1099ee87193b6aba6afc16 /gdb/dwarf2loc.h
parentIndex: gold/arm.cc (diff)
downloadbinutils-gdb-98bfdba52e7a8f7f9a19cafe59538341929be301.tar.gz
binutils-gdb-98bfdba52e7a8f7f9a19cafe59538341929be301.tar.bz2
binutils-gdb-98bfdba52e7a8f7f9a19cafe59538341929be301.zip
2010-08-12 Daniel Jacobowitz <dan@codesourcery.com>
Pedro Alves <pedro@codesourcery.com> * dwarf2read.c: Include "c-lang.h" and "valprint.h". (struct dwarf2_per_objfile) <reading_partial_symbols>: New field. (struct partial_die_info) <has_template_arguments>: New field. <num_attrs>: Change type to unsigned char. <building_fullname>: New field. (dwarf2_build_psymtabs_hard): Set reading_partial_symbols. Only allocate a CU if we don't have one already. Add a cleanup for the CU. (partial_die_full_name): Handle template arguments not in DW_AT_name. (dwarf2_psymtab_to_symtab): Clear reading_partial_symbols. (load_full_comp_unit): Only allocate a CU if we don't have one already. (do_ui_file_peek_last): New. (dwarf2_compute_name): Handle template parameters not in DW_AT_name. (read_comp_unit): Read and free abbrevs if not read yet. (load_partial_dies): Handle template arguments not in DW_AT_name. (find_partial_die): If we have a CU, but no a partial dies yet, also read in the CU. (dwarf2_const_value_attr): New, abstracted out from dwarf2_const_value. (dwarf2_const_value, dwarf2_const_value_data): Adjust to use dwarf2_const_value_attr. (determine_prefix): Detect and break loops created by RCVT's debug info. (maybe_queue_comp_unit): Bail out early if reading partial symbols. (follow_die_offset): Load full CU if we have no dies. * dwarf2loc.c (dwarf2_evaluate_loc_desc): Make public. * dwarf2loc.h (dwarf2_evaluate_loc_desc): Declare.
Diffstat (limited to 'gdb/dwarf2loc.h')
-rw-r--r--gdb/dwarf2loc.h10
1 files changed, 10 insertions, 0 deletions
diff --git a/gdb/dwarf2loc.h b/gdb/dwarf2loc.h
index 826bc454c62..a2cfe7fa955 100644
--- a/gdb/dwarf2loc.h
+++ b/gdb/dwarf2loc.h
@@ -48,6 +48,16 @@ CORE_ADDR dwarf2_per_cu_text_offset (struct dwarf2_per_cu_data *cu);
struct dwarf2_locexpr_baton dwarf2_fetch_die_location_block
(unsigned int offset, struct dwarf2_per_cu_data *per_cu);
+/* Evaluate a location description, starting at DATA and with length
+ SIZE, to find the current location of variable of TYPE in the context
+ of FRAME. */
+
+struct value *dwarf2_evaluate_loc_desc (struct type *type,
+ struct frame_info *frame,
+ const gdb_byte *data,
+ unsigned short size,
+ struct dwarf2_per_cu_data *per_cu);
+
/* The symbol location baton types used by the DWARF-2 reader (i.e.
SYMBOL_LOCATION_BATON for a LOC_COMPUTED symbol). "struct
dwarf2_locexpr_baton" is for a symbol with a single location