aboutsummaryrefslogtreecommitdiff
path: root/binutils/dwarf.h
diff options
context:
space:
mode:
authorKai Tietz <kai.tietz@onevision.com>2011-02-23 08:52:34 +0000
committerKai Tietz <kai.tietz@onevision.com>2011-02-23 08:52:34 +0000
commit47704ddfbe1f16a1b4291040ca095e0c16b7e5e4 (patch)
tree8b9308990ad6f3a13d4bd45508a3f6b7108fbeb1 /binutils/dwarf.h
parent4e216fdada1b67adc427ab38cf243e2fec415170 (diff)
downloadgdb-47704ddfbe1f16a1b4291040ca095e0c16b7e5e4.zip
gdb-47704ddfbe1f16a1b4291040ca095e0c16b7e5e4.tar.gz
gdb-47704ddfbe1f16a1b4291040ca095e0c16b7e5e4.tar.bz2
ChangeLog include/
2011-02-23 Kai Tietz <kai.tietz@onevision.com> * dwarf2.h (_ELF_DWARF2_H): Renamed to _DWARF2_H. (DWARF2_External_LineInfo, DWARF2_Internal_LineInfo, DWARF2_External_PubNames, DWARF2_Internal_PubNames, DWARF2_External_CompUnit, DWARF2_Internal_CompUnit, DWARF2_External_ARange, DWARF2_Internal_ARange): Removed. ChangeLog binutils/ 2011-02-23 Kai Tietz <kai.tietz@onevision.com> * dwarf.c (read_leb128): Use bfd_vma instead of long type. (dwarf_vmatoa): New helper routine. (process_extended_line_op): Use for adr bfd_vma type and print those typed values via BFD_VMA_FMT or via dwarf_vmatoa for localized prints. (fetch_indirect_string): Adjust offset's type. (decode_location_expression): Adjust argument types and uvalue type. (read_and_display_attr_value): Likewise. (read_and_display_attr): Likewise. (decode_location_expression): Adjust printf format. (process_debug_info): Likewise. (display_debug_lines_raw): Likewise. (display_debug_lines_decoded): Likewise. (display_debug_pubnames): Likewise. (display_debug_loc): Likewise. (display_debug_aranges): Likewise. * dwarf.h (DWARF2_External_LineInfo, DWARF2_Internal_LineInfo, DWARF2_External_PubNames, DWARF2_Internal_PubNames, DWARF2_External_CompUnit, DWARF2_Internal_CompUnit, DWARF2_External_ARange, DWARF2_Internal_ARange): Added.. (read_leb128): Adjust return type.
Diffstat (limited to 'binutils/dwarf.h')
-rw-r--r--binutils/dwarf.h98
1 files changed, 92 insertions, 6 deletions
diff --git a/binutils/dwarf.h b/binutils/dwarf.h
index 22ff496..344cc42 100644
--- a/binutils/dwarf.h
+++ b/binutils/dwarf.h
@@ -22,6 +22,92 @@
typedef unsigned HOST_WIDEST_INT dwarf_vma;
typedef unsigned HOST_WIDEST_INT dwarf_size_type;
+/* Structure found in the .debug_line section. */
+typedef struct
+{
+ unsigned char li_length [4];
+ unsigned char li_version [2];
+ unsigned char li_prologue_length [4];
+ unsigned char li_min_insn_length [1];
+ unsigned char li_default_is_stmt [1];
+ unsigned char li_line_base [1];
+ unsigned char li_line_range [1];
+ unsigned char li_opcode_base [1];
+}
+DWARF2_External_LineInfo;
+
+typedef struct
+{
+ bfd_vma li_length;
+ unsigned short li_version;
+ unsigned int li_prologue_length;
+ unsigned char li_min_insn_length;
+ unsigned char li_max_ops_per_insn;
+ unsigned char li_default_is_stmt;
+ int li_line_base;
+ unsigned char li_line_range;
+ unsigned char li_opcode_base;
+}
+DWARF2_Internal_LineInfo;
+
+/* Structure found in .debug_pubnames section. */
+typedef struct
+{
+ unsigned char pn_length [4];
+ unsigned char pn_version [2];
+ unsigned char pn_offset [4];
+ unsigned char pn_size [4];
+}
+DWARF2_External_PubNames;
+
+typedef struct
+{
+ bfd_vma pn_length;
+ unsigned short pn_version;
+ bfd_vma pn_offset;
+ bfd_vma pn_size;
+}
+DWARF2_Internal_PubNames;
+
+/* Structure found in .debug_info section. */
+typedef struct
+{
+ unsigned char cu_length [4];
+ unsigned char cu_version [2];
+ unsigned char cu_abbrev_offset [4];
+ unsigned char cu_pointer_size [1];
+}
+DWARF2_External_CompUnit;
+
+typedef struct
+{
+ bfd_vma cu_length;
+ unsigned short cu_version;
+ bfd_vma cu_abbrev_offset;
+ unsigned char cu_pointer_size;
+}
+DWARF2_Internal_CompUnit;
+
+typedef struct
+{
+ unsigned char ar_length [4];
+ unsigned char ar_version [2];
+ unsigned char ar_info_offset [4];
+ unsigned char ar_pointer_size [1];
+ unsigned char ar_segment_size [1];
+}
+DWARF2_External_ARange;
+
+typedef struct
+{
+ bfd_vma ar_length;
+ unsigned short ar_version;
+ bfd_vma ar_info_offset;
+ unsigned char ar_pointer_size;
+ unsigned char ar_segment_size;
+}
+DWARF2_Internal_ARange;
+
struct dwarf_section
{
/* A debug section has a different name when it's stored compressed
@@ -79,15 +165,15 @@ typedef struct
unsigned int pointer_size;
unsigned int offset_size;
int dwarf_version;
- unsigned long cu_offset;
- unsigned long base_address;
+ bfd_vma cu_offset;
+ bfd_vma base_address;
/* This is an array of offsets to the location list table. */
- unsigned long *loc_offsets;
+ bfd_vma *loc_offsets;
int *have_frame_base;
unsigned int num_loc_offsets;
unsigned int max_loc_offsets;
/* List of .debug_ranges offsets seen in this .debug_info. */
- unsigned long *range_lists;
+ bfd_vma *range_lists;
unsigned int num_range_lists;
unsigned int max_range_lists;
}
@@ -131,5 +217,5 @@ void *cmalloc (size_t, size_t);
void *xcmalloc (size_t, size_t);
void *xcrealloc (void *, size_t, size_t);
-unsigned long int read_leb128 (unsigned char *data,
- unsigned int *length_return, int sign);
+bfd_vma read_leb128 (unsigned char *data,
+ unsigned int *length_return, int sign);