version 1.1.1.5, 2018/04/14 22:17:07 |
version 1.1.1.6, 2018/11/06 21:19:17 |
Line 35 static bfd_boolean read_section_stabs_de |
|
Line 35 static bfd_boolean read_section_stabs_de |
|
(bfd *, asymbol **, long, void *, bfd_boolean *); |
(bfd *, asymbol **, long, void *, bfd_boolean *); |
static bfd_boolean read_symbol_stabs_debugging_info |
static bfd_boolean read_symbol_stabs_debugging_info |
(bfd *, asymbol **, long, void *, bfd_boolean *); |
(bfd *, asymbol **, long, void *, bfd_boolean *); |
static bfd_boolean read_ieee_debugging_info (bfd *, void *, bfd_boolean *); |
|
static void save_stab (int, int, bfd_vma, const char *); |
static void save_stab (int, int, bfd_vma, const char *); |
static void stab_context (void); |
static void stab_context (void); |
static void free_saved_stabs (void); |
static void free_saved_stabs (void); |
Line 64 read_debugging_info (bfd *abfd, asymbol |
|
Line 63 read_debugging_info (bfd *abfd, asymbol |
|
return NULL; |
return NULL; |
} |
} |
|
|
if (bfd_get_flavour (abfd) == bfd_target_ieee_flavour) |
|
{ |
|
if (! read_ieee_debugging_info (abfd, dhandle, &found)) |
|
return NULL; |
|
} |
|
|
|
/* Try reading the COFF symbols if we didn't find any stabs in COFF |
/* Try reading the COFF symbols if we didn't find any stabs in COFF |
sections. */ |
sections. */ |
if (! found |
if (! found |
Line 346 read_symbol_stabs_debugging_info (bfd *a |
|
Line 339 read_symbol_stabs_debugging_info (bfd *a |
|
|
|
return TRUE; |
return TRUE; |
} |
} |
|
|
/* Read IEEE debugging information. */ |
|
|
|
static bfd_boolean |
|
read_ieee_debugging_info (bfd *abfd, void *dhandle, bfd_boolean *pfound) |
|
{ |
|
asection *dsec; |
|
bfd_size_type size; |
|
bfd_byte *contents; |
|
|
|
/* The BFD backend puts the debugging information into a section |
|
named .debug. */ |
|
|
|
dsec = bfd_get_section_by_name (abfd, ".debug"); |
|
if (dsec == NULL) |
|
return TRUE; |
|
|
|
size = bfd_section_size (abfd, dsec); |
|
contents = (bfd_byte *) xmalloc (size); |
|
if (! bfd_get_section_contents (abfd, dsec, contents, 0, size)) |
|
return FALSE; |
|
|
|
if (! parse_ieee (dhandle, abfd, contents, size)) |
|
return FALSE; |
|
|
|
free (contents); |
|
|
|
*pfound = TRUE; |
|
|
|
return TRUE; |
|
} |
|
|
|
/* Record stabs strings, so that we can give some context for errors. */ |
/* Record stabs strings, so that we can give some context for errors. */ |
|
|