X-Git-Url: https://gitweb.dragonflybsd.org/~tuxillo/dragonfly.git/blobdiff_plain/6b445a628d016cb98daa614ade67aed0ed1d4ec0..ef5ccd6c41237a870dd7242b72b006d6bd42cd07:/contrib/gdb-7/gdb/dwarf2loc.h diff --git a/contrib/gdb-7/gdb/dwarf2loc.h b/contrib/gdb-7/gdb/dwarf2loc.h index da05c98e50..36641b379d 100644 --- a/contrib/gdb-7/gdb/dwarf2loc.h +++ b/contrib/gdb-7/gdb/dwarf2loc.h @@ -1,6 +1,6 @@ /* DWARF 2 location expression support for GDB. - Copyright (C) 2003, 2005, 2007-2012 Free Software Foundation, Inc. + Copyright (C) 2003-2013 Free Software Foundation, Inc. This file is part of GDB. @@ -20,6 +20,8 @@ #if !defined (DWARF2LOC_H) #define DWARF2LOC_H +#include "dwarf2expr.h" + struct symbol_computed_ops; struct objfile; struct dwarf2_per_cu_data; @@ -31,7 +33,7 @@ struct axs_value; dwarf2read.c and dwarf2loc.c. */ /* `set debug entry-values' setting. */ -extern int entry_values_debug; +extern unsigned int entry_values_debug; /* Return the OBJFILE associated with the compilation unit CU. If CU came from a separate debuginfo file, then the master objfile is @@ -39,7 +41,7 @@ extern int entry_values_debug; struct objfile *dwarf2_per_cu_objfile (struct dwarf2_per_cu_data *cu); /* Return the address size given in the compilation unit header for CU. */ -CORE_ADDR dwarf2_per_cu_addr_size (struct dwarf2_per_cu_data *cu); +int dwarf2_per_cu_addr_size (struct dwarf2_per_cu_data *cu); /* Return the DW_FORM_ref_addr size given in the compilation unit header for CU. */ @@ -60,12 +62,17 @@ const gdb_byte *dwarf2_find_location_expression size_t *locexpr_length, CORE_ADDR pc); -struct dwarf2_locexpr_baton dwarf2_fetch_die_location_block - (unsigned int offset, struct dwarf2_per_cu_data *per_cu, +struct dwarf2_locexpr_baton dwarf2_fetch_die_loc_sect_off + (sect_offset offset_in_cu, struct dwarf2_per_cu_data *per_cu, + CORE_ADDR (*get_frame_pc) (void *baton), + void *baton); + +struct dwarf2_locexpr_baton dwarf2_fetch_die_loc_cu_off + (cu_offset offset_in_cu, struct dwarf2_per_cu_data *per_cu, CORE_ADDR (*get_frame_pc) (void *baton), void *baton); -struct type *dwarf2_get_die_type (unsigned int die_offset, +struct type *dwarf2_get_die_type (cu_offset die_offset, struct dwarf2_per_cu_data *per_cu); /* Evaluate a location description, starting at DATA and with length @@ -75,9 +82,12 @@ struct type *dwarf2_get_die_type (unsigned int die_offset, struct value *dwarf2_evaluate_loc_desc (struct type *type, struct frame_info *frame, const gdb_byte *data, - unsigned short size, + size_t size, struct dwarf2_per_cu_data *per_cu); +CORE_ADDR dwarf2_read_addr_index (struct dwarf2_per_cu_data *per_cu, + unsigned int addr_index); + /* 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 @@ -92,7 +102,7 @@ struct dwarf2_locexpr_baton /* Length of the location expression. For optimized out expressions it is zero. */ - unsigned long size; + size_t size; /* The compilation unit containing the symbol whose location we're computing. */ @@ -109,11 +119,15 @@ struct dwarf2_loclist_baton const gdb_byte *data; /* Length of the location list. */ - unsigned long size; + size_t size; /* The compilation unit containing the symbol whose location we're computing. */ struct dwarf2_per_cu_data *per_cu; + + /* Non-zero if the location list lives in .debug_loc.dwo. + The format of entries in this section are different. */ + unsigned char from_dwo; }; extern const struct symbol_computed_ops dwarf2_locexpr_funcs;