aboutsummaryrefslogtreecommitdiff
path: root/gdb/solib-target.c
diff options
context:
space:
mode:
Diffstat (limited to 'gdb/solib-target.c')
-rw-r--r--gdb/solib-target.c4
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 (_("\