/* Definitions for targets which report shared library events.
- Copyright (C) 2007, 2008, 2009 Free Software Foundation, Inc.
+ Copyright (C) 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
This file is part of GDB.
{
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,
}
static void
-solib_target_solib_create_inferior_hook (void)
+solib_target_solib_create_inferior_hook (int from_tty)
{
/* Nothing needed. */
}
static void
solib_target_relocate_section_addresses (struct so_list *so,
- struct section_table *sec)
+ struct target_section *sec)
{
int flags = bfd_get_section_flags (sec->bfd, sec->the_bfd_section);
CORE_ADDR offset;
int bases_index = 0;
int found_range = 0;
CORE_ADDR *section_bases;
+
section_bases = VEC_address (CORE_ADDR,
so->lm_info->section_bases);
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;
else if (so->lm_info->segment_bases)
{
struct symfile_segment_data *data;
+
data = get_symfile_segment_data (so->abfd);
if (data == NULL)
warning (_("\
= solib_target_open_symbol_file_object;
solib_target_so_ops.in_dynsym_resolve_code
= solib_target_in_dynsym_resolve_code;
+ solib_target_so_ops.bfd_open = solib_bfd_open;
}