/* 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.
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;
int li_line_base;
unsigned char li_line_range;
unsigned char li_opcode_base;
+ unsigned int li_offset_size;
}
DWARF2_Internal_LineInfo;
unsigned short cu_version;
dwarf_vma cu_abbrev_offset;
unsigned char cu_pointer_size;
+ enum dwarf_unit_type cu_unit_type;
}
DWARF2_Internal_CompUnit;
macinfo,
macro,
str,
+ line_str,
loc,
+ loclists,
pubtypes,
gnu_pubtypes,
ranges,
+ rnglists,
static_func,
static_vars,
types,
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;
};
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 [];
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);
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);