X-Git-Url: http://drtracing.org/?a=blobdiff_plain;f=binutils%2Fdwarf.h;h=ed86810dcbaa292cd7b19c5e72032c564089a0dd;hb=128e85e3ab36b8e30f6612fb50de3cbb4ede6824;hp=bd62892c4f5fc74dbee36b533ad193df3f2fdd0b;hpb=06614111d1be94b43ea8dd83805184d4e177bcea;p=deliverable%2Fbinutils-gdb.git diff --git a/binutils/dwarf.h b/binutils/dwarf.h index bd62892c4f..ed86810dcb 100644 --- a/binutils/dwarf.h +++ b/binutils/dwarf.h @@ -1,5 +1,5 @@ /* dwarf.h - DWARF support header file - Copyright (C) 2005-2014 Free Software Foundation, Inc. + Copyright (C) 2005-2016 Free Software Foundation, Inc. This file is part of GNU Binutils. @@ -23,24 +23,11 @@ typedef HOST_WIDEST_INT dwarf_signed_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 { dwarf_vma li_length; unsigned short li_version; - unsigned int li_prologue_length; + dwarf_vma li_prologue_length; unsigned char li_min_insn_length; unsigned char li_max_ops_per_insn; unsigned char li_default_is_stmt; @@ -51,15 +38,6 @@ typedef struct 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 { dwarf_vma pn_length; @@ -70,15 +48,6 @@ typedef struct 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 { dwarf_vma cu_length; @@ -88,16 +57,7 @@ typedef struct } 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; - +/* Structure found in .debug_aranges section. */ typedef struct { dwarf_vma ar_length; @@ -164,6 +124,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; }; @@ -175,7 +140,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 []; @@ -207,7 +172,7 @@ typedef struct } debug_info; -extern int eh_addr_size; +extern unsigned int eh_addr_size; extern int do_debug_info; extern int do_debug_abbrevs; @@ -236,8 +201,10 @@ extern int dwarf_check; extern void init_dwarf_regnames (unsigned int); 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); @@ -248,10 +215,16 @@ extern void dwarf_select_sections_by_names (const char *); extern void dwarf_select_sections_by_letters (const char *); extern void dwarf_select_sections_all (void); -unsigned int * find_cu_tu_set (void *, unsigned int); +extern unsigned int * find_cu_tu_set (void *, unsigned int); -void * cmalloc (size_t, size_t); -void * xcmalloc (size_t, size_t); -void * xcrealloc (void *, size_t, size_t); +extern void * cmalloc (size_t, size_t); +extern void * xcalloc2 (size_t, size_t); +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. Retuns 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);