X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=binutils%2Fdwarf.h;h=0c9f3661073991ddfafda9b593bd47a600377105;hb=refs%2Fheads%2Fconcurrent-displaced-stepping-2020-04-01;hp=333585836eac40cfd74d2c865ca6d17ecf55865a;hpb=b3adc24a0713411ab38a21dc894dd40dbc5c8f4f;p=deliverable%2Fbinutils-gdb.git diff --git a/binutils/dwarf.h b/binutils/dwarf.h index 333585836e..0c9f366107 100644 --- a/binutils/dwarf.h +++ b/binutils/dwarf.h @@ -29,6 +29,8 @@ typedef struct { dwarf_vma li_length; unsigned short li_version; + unsigned char li_address_size; + unsigned char li_segment_size; dwarf_vma li_prologue_length; unsigned char li_min_insn_length; unsigned char li_max_ops_per_insn; @@ -219,6 +221,7 @@ extern int do_debug_cu_index; extern int do_wide; extern int do_debug_links; extern int do_follow_links; +extern bfd_boolean do_checks; extern int dwarf_cutoff_level; extern unsigned long dwarf_start_die; @@ -256,13 +259,17 @@ extern bfd_boolean reloc_at (struct dwarf_section *, dwarf_vma); extern dwarf_vma read_leb128 (unsigned char *, const unsigned char *const, bfd_boolean, unsigned int *, int *); +#if HAVE_LIBDEBUGINFOD +extern unsigned char * get_build_id (void *); +#endif + static inline void -report_leb_status (int status) +report_leb_status (int status, const char *file, unsigned long lnum) { if ((status & 1) != 0) - error (_("LEB end of data\n")); + error (_("%s:%lu: end of data encountered whilst reading LEB\n"), file, lnum); else if ((status & 2) != 0) - error (_("LEB value too large\n")); + error (_("%s:%lu: read LEB value is too large to store in destination variable\n"), file, lnum); } #define SKIP_ULEB(start, end) \ @@ -271,7 +278,8 @@ report_leb_status (int status) unsigned int _len; \ read_leb128 (start, end, FALSE, &_len, NULL); \ start += _len; \ - } while (0) + } \ + while (0) #define SKIP_SLEB(start, end) \ do \ @@ -279,7 +287,8 @@ report_leb_status (int status) unsigned int _len; \ read_leb128 (start, end, TRUE, &_len, NULL); \ start += _len; \ - } while (0) + } \ + while (0) #define READ_ULEB(var, start, end) \ do \ @@ -293,8 +302,9 @@ report_leb_status (int status) (var) = _val; \ if ((var) != _val) \ _status |= 2; \ - report_leb_status (_status); \ - } while (0) + report_leb_status (_status, __FILE__, __LINE__); \ + } \ + while (0) #define READ_SLEB(var, start, end) \ do \ @@ -308,5 +318,6 @@ report_leb_status (int status) (var) = _val; \ if ((var) != _val) \ _status |= 2; \ - report_leb_status (_status); \ - } while (0) + report_leb_status (_status, __FILE__, __LINE__); \ + } \ + while (0)