summaryrefslogtreecommitdiff
path: root/binutils/dwarf.h
diff options
context:
space:
mode:
authorKai Tietz <kai.tietz@onevision.com>2011-02-23 08:52:33 +0000
committerKai Tietz <kai.tietz@onevision.com>2011-02-23 08:52:33 +0000
commitaa911a9fd9a71cb107d3e91ee6209c041c6a8bb1 (patch)
treed6a53f6bc2e7e6f1d58ca40ae47d4103962e678d /binutils/dwarf.h
parent5f2ebb83f5992e381075530f8e5aaeab0b0e3d33 (diff)
downloadbinutils-redhat-aa911a9fd9a71cb107d3e91ee6209c041c6a8bb1.tar.gz
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 22ff496ca9..344cc42786 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);