diff options
Diffstat (limited to 'gdb/solib-target.c')
-rw-r--r-- | gdb/solib-target.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/gdb/solib-target.c b/gdb/solib-target.c index a9c34c8..6873e39 100644 --- a/gdb/solib-target.c +++ b/gdb/solib-target.c @@ -135,6 +135,7 @@ library_list_end_library (struct gdb_xml_parser *parser, { VEC(lm_info_p) **list = user_data; struct lm_info *lm_info = VEC_last (lm_info_p, *list); + if (lm_info->segment_bases == NULL && lm_info->section_bases == NULL) gdb_xml_error (parser, @@ -364,6 +365,7 @@ Could not relocate shared library \"%s\": wrong number of ALLOC sections"), int bases_index = 0; int found_range = 0; CORE_ADDR *section_bases; + section_bases = VEC_address (CORE_ADDR, so->lm_info->section_bases); @@ -378,6 +380,7 @@ Could not relocate shared library \"%s\": wrong number of ALLOC sections"), if (bfd_section_size (so->abfd, sect) > 0) { CORE_ADDR low, high; + low = section_bases[i]; high = low + bfd_section_size (so->abfd, sect) - 1; @@ -399,6 +402,7 @@ Could not relocate shared library \"%s\": wrong number of ALLOC sections"), else if (so->lm_info->segment_bases) { struct symfile_segment_data *data; + data = get_symfile_segment_data (so->abfd); if (data == NULL) warning (_("\ |