Get register contents by register_size instead of TYPE_LENGTH
[deliverable/binutils-gdb.git] / binutils / dwarf.h
index 0e661d469f0f2fc678a63444f3d0adce243bd469..939c2e8627f9ae2865221e610e7851280bc21e4a 100644 (file)
@@ -1,5 +1,5 @@
 /* dwarf.h - DWARF support header file
-   Copyright (C) 2005-2015 Free Software Foundation, Inc.
+   Copyright (C) 2005-2017 Free Software Foundation, Inc.
 
    This file is part of GNU Binutils.
 
@@ -18,6 +18,8 @@
    Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
    MA 02110-1301, USA.  */
 
+#include "dwarf2.h" /* for enum dwarf_unit_type */
+
 typedef unsigned HOST_WIDEST_INT  dwarf_vma;
 typedef HOST_WIDEST_INT           dwarf_signed_vma;
 typedef unsigned HOST_WIDEST_INT  dwarf_size_type;
@@ -34,6 +36,7 @@ typedef struct
   int            li_line_base;
   unsigned char  li_line_range;
   unsigned char  li_opcode_base;
+  unsigned int   li_offset_size;
 }
 DWARF2_Internal_LineInfo;
 
@@ -54,6 +57,7 @@ typedef struct
   unsigned short cu_version;
   dwarf_vma     cu_abbrev_offset;
   unsigned char  cu_pointer_size;
+  enum dwarf_unit_type cu_unit_type;
 }
 DWARF2_Internal_CompUnit;
 
@@ -83,10 +87,13 @@ enum dwarf_section_display_enum
   macinfo,
   macro,
   str,
+  line_str,
   loc,
+  loclists,
   pubtypes,
   gnu_pubtypes,
   ranges,
+  rnglists,
   static_func,
   static_vars,
   types,
@@ -124,6 +131,11 @@ struct dwarf_section
   dwarf_vma address;
   dwarf_size_type size;
   enum dwarf_section_display_enum abbrev_sec;
+
+  /* Used by clients to help them implement the reloc_at callback.  */
+  void * reloc_info;
+  unsigned long num_relocs;
+
   /* A spare field for random use.  */
   void *user_data;
 };
@@ -135,7 +147,7 @@ struct dwarf_section_display
   struct dwarf_section section;
   int (*display) (struct dwarf_section *, void *);
   int *enabled;
-  unsigned int relocate : 1;
+  bfd_boolean relocate;
 };
 
 extern struct dwarf_section_display debug_displays [];
@@ -199,6 +211,7 @@ extern void init_dwarf_regnames_i386 (void);
 extern void init_dwarf_regnames_iamcu (void);
 extern void init_dwarf_regnames_x86_64 (void);
 extern void init_dwarf_regnames_aarch64 (void);
+extern void init_dwarf_regnames_s390 (void);
 
 extern int load_debug_section (enum dwarf_section_display_enum, void *);
 extern void free_debug_section (enum dwarf_section_display_enum);
@@ -217,3 +230,8 @@ extern void * xcmalloc (size_t, size_t);
 extern void * xcrealloc (void *, size_t, size_t);
 
 extern dwarf_vma read_leb128 (unsigned char *, unsigned int *, bfd_boolean, const unsigned char * const);
+
+/* A callback into the client.  Returns TRUE if there is a
+   relocation against the given debug section at the given
+   offset.  */
+extern bfd_boolean reloc_at (struct dwarf_section *, dwarf_vma);
This page took 0.0262520000000001 seconds and 4 git commands to generate.