mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2024-11-24 10:35:12 +08:00
2011-05-24 Tristan Gingold <gingold@adacore.com>
* symfile.h (enum dwarf2_section_enum): New type. (dwarf2_get_section_info): New prototype. * dwarf2read.c (dwarf2_get_section_info): Replace parameter section_name by sect. Use a switch to select the info. * dwarf2-frame.c (warf2_get_section_info): Remove prototype. (dwarf2_build_frame_info): Adjust calls to dwarf2_get_section_info.
This commit is contained in:
parent
ee5683ab05
commit
3017a00367
@ -1,3 +1,12 @@
|
||||
2011-05-24 Tristan Gingold <gingold@adacore.com>
|
||||
|
||||
* symfile.h (enum dwarf2_section_enum): New type.
|
||||
(dwarf2_get_section_info): New prototype.
|
||||
* dwarf2read.c (dwarf2_get_section_info): Replace parameter
|
||||
section_name by sect. Use a switch to select the info.
|
||||
* dwarf2-frame.c (warf2_get_section_info): Remove prototype.
|
||||
(dwarf2_build_frame_info): Adjust calls to dwarf2_get_section_info.
|
||||
|
||||
2011-05-24 Pedro Alves <pedro@codesourcery.com>
|
||||
|
||||
* solib-svr4.c (svr4_solib_create_inferior_hook): Skip setting
|
||||
|
@ -2183,12 +2183,6 @@ Corrupt data in %s:%s; align 8 workaround apparently succeeded"),
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
||||
/* Imported from dwarf2read.c. */
|
||||
extern void dwarf2_get_section_info (struct objfile *, const char *,
|
||||
asection **, gdb_byte **,
|
||||
bfd_size_type *);
|
||||
|
||||
static int
|
||||
qsort_fde_cmp (const void *a, const void *b)
|
||||
{
|
||||
@ -2233,7 +2227,7 @@ dwarf2_build_frame_info (struct objfile *objfile)
|
||||
unit->dbase = 0;
|
||||
unit->tbase = 0;
|
||||
|
||||
dwarf2_get_section_info (objfile, ".eh_frame",
|
||||
dwarf2_get_section_info (objfile, DWARF2_EH_FRAME,
|
||||
&unit->dwarf_frame_section,
|
||||
&unit->dwarf_frame_buffer,
|
||||
&unit->dwarf_frame_size);
|
||||
@ -2269,7 +2263,7 @@ dwarf2_build_frame_info (struct objfile *objfile)
|
||||
}
|
||||
}
|
||||
|
||||
dwarf2_get_section_info (objfile, ".debug_frame",
|
||||
dwarf2_get_section_info (objfile, DWARF2_DEBUG_FRAME,
|
||||
&unit->dwarf_frame_section,
|
||||
&unit->dwarf_frame_buffer,
|
||||
&unit->dwarf_frame_size);
|
||||
|
@ -1633,7 +1633,8 @@ dwarf2_section_size (struct objfile *objfile,
|
||||
SECTION_NAME. */
|
||||
|
||||
void
|
||||
dwarf2_get_section_info (struct objfile *objfile, const char *section_name,
|
||||
dwarf2_get_section_info (struct objfile *objfile,
|
||||
enum dwarf2_section_enum sect,
|
||||
asection **sectp, gdb_byte **bufp,
|
||||
bfd_size_type *sizep)
|
||||
{
|
||||
@ -1650,12 +1651,17 @@ dwarf2_get_section_info (struct objfile *objfile, const char *section_name,
|
||||
*sizep = 0;
|
||||
return;
|
||||
}
|
||||
if (section_is_p (section_name, EH_FRAME_SECTION))
|
||||
info = &data->eh_frame;
|
||||
else if (section_is_p (section_name, FRAME_SECTION))
|
||||
info = &data->frame;
|
||||
else
|
||||
gdb_assert_not_reached ("unexpected section");
|
||||
switch (sect)
|
||||
{
|
||||
case DWARF2_DEBUG_FRAME:
|
||||
info = &data->frame;
|
||||
break;
|
||||
case DWARF2_EH_FRAME:
|
||||
info = &data->eh_frame;
|
||||
break;
|
||||
default:
|
||||
gdb_assert_not_reached ("unexpected section");
|
||||
}
|
||||
|
||||
dwarf2_read_section (objfile, info);
|
||||
|
||||
|
@ -555,6 +555,17 @@ extern struct cleanup *increment_reading_symtab (void);
|
||||
|
||||
extern int dwarf2_has_info (struct objfile *);
|
||||
|
||||
/* Dwarf2 sections that can be accessed by dwarf2_get_section_info. */
|
||||
enum dwarf2_section_enum {
|
||||
DWARF2_DEBUG_FRAME,
|
||||
DWARF2_EH_FRAME
|
||||
};
|
||||
|
||||
extern void dwarf2_get_section_info (struct objfile *,
|
||||
enum dwarf2_section_enum,
|
||||
asection **, gdb_byte **,
|
||||
bfd_size_type *);
|
||||
|
||||
extern int dwarf2_initialize_objfile (struct objfile *);
|
||||
extern void dwarf2_build_psymtabs (struct objfile *);
|
||||
extern void dwarf2_build_frame_info (struct objfile *);
|
||||
|
Loading…
Reference in New Issue
Block a user