GDB (xrefs)
|
#include "defs.h"
#include <sys/types.h>
#include <signal.h>
#include "gdb_string.h"
#include "bfd.h"
#include "symtab.h"
#include "symfile.h"
#include "objfiles.h"
#include "target.h"
#include "inferior.h"
#include "gdbthread.h"
#include "solist.h"
#include "solib.h"
Go to the source code of this file.
Classes | |
struct | ldr_module_info_t |
struct | ldr_region_info_t |
struct | ldr_context_t |
struct | lm_sec |
struct | lm_info |
struct | read_map_ctxt |
Defines | |
#define | RLD_CONTEXT_ADDRESS 0x3ffc0000000 |
Functions | |
void | _initialize_osf_solib (void) |
static int | lm_sec_cmp (const void *p1, const void *p2) |
static void | lm_secs_sort (struct lm_info *lmi) |
static void | fetch_sec_names (struct lm_info *lmi) |
static void | osf_relocate_section_addresses (struct so_list *so, struct target_section *sec) |
static void | osf_free_so (struct so_list *so) |
static void | osf_clear_solib (void) |
static void | osf_solib_create_inferior_hook (int from_tty) |
static void | osf_special_symbol_handling (void) |
static int | open_map (struct read_map_ctxt *ctxt) |
static void | init_so (struct so_list *so, char *name, int isloader, int nsecs) |
static void | init_sec (struct so_list *so, int secidx, CORE_ADDR nameaddr, const char *name, CORE_ADDR vaddr, CORE_ADDR mapaddr) |
static int | read_map (struct read_map_ctxt *ctxt, struct so_list *so) |
static void | close_map (struct read_map_ctxt *ctxt) |
static struct so_list * | osf_current_sos (void) |
static int | osf_open_symbol_file_object (void *from_ttyp) |
static int | osf_in_dynsym_resolve_code (CORE_ADDR pc) |
Variables | |
static struct target_so_ops | osf_so_ops |
#define RLD_CONTEXT_ADDRESS 0x3ffc0000000 |
Definition at line 65 of file solib-osf.c.
Referenced by open_map().
void _initialize_osf_solib | ( | void | ) |
Definition at line 625 of file solib-osf.c.
References target_so_ops::bfd_open, target_so_ops::clear_solib, target_so_ops::current_sos, current_target_so_ops, target_so_ops::free_so, target_so_ops::in_dynsym_resolve_code, target_so_ops::open_symbol_file_object, osf_clear_solib(), osf_current_sos(), osf_free_so(), osf_in_dynsym_resolve_code(), osf_open_symbol_file_object(), osf_relocate_section_addresses(), osf_so_ops, osf_solib_create_inferior_hook(), osf_special_symbol_handling(), target_so_ops::relocate_section_addresses, solib_bfd_open(), target_so_ops::solib_create_inferior_hook, and target_so_ops::special_symbol_handling.
static void close_map | ( | struct read_map_ctxt * | ctxt | ) | [static] |
Definition at line 527 of file solib-osf.c.
Referenced by osf_current_sos(), and osf_open_symbol_file_object().
static void fetch_sec_names | ( | struct lm_info * | lmi | ) | [static] |
Definition at line 210 of file solib-osf.c.
References _, lm_secs_sort(), name, lm_sec::name, lm_sec::nameaddr, lm_info::nsecs, lm_info::secs, target_read_string(), and warning().
Referenced by osf_relocate_section_addresses().
static void init_sec | ( | struct so_list * | so, |
int | secidx, | ||
CORE_ADDR | nameaddr, | ||
const char * | name, | ||
CORE_ADDR | vaddr, | ||
CORE_ADDR | mapaddr | ||
) | [static] |
Definition at line 441 of file solib-osf.c.
References so_list::lm_info, name, lm_sec::name, lm_sec::nameaddr, lm_sec::offset, and lm_info::secs.
Referenced by read_map().
Definition at line 411 of file solib-osf.c.
References lm_info::isloader, so_list::lm_info, memcpy(), memset(), lm_sec::name, lm_info::nsecs, lm_info::secs, so_list::so_name, SO_NAME_MAX_PATH_SIZE, so_list::so_original_name, and xmalloc().
Referenced by read_map().
static int lm_sec_cmp | ( | const void * | p1, |
const void * | p2 | ||
) | [static] |
Definition at line 191 of file solib-osf.c.
References lm_sec::name.
Referenced by lm_secs_sort(), and osf_relocate_section_addresses().
static void lm_secs_sort | ( | struct lm_info * | lmi | ) | [static] |
Definition at line 202 of file solib-osf.c.
References lm_sec_cmp(), lm_info::nsecs, qsort, and lm_info::secs.
Referenced by fetch_sec_names(), and read_map().
static int open_map | ( | struct read_map_ctxt * | ctxt | ) | [static] |
Definition at line 375 of file solib-osf.c.
References inferior_ptid, thread_info::next, read_map_ctxt::next, ptid_get_pid(), RLD_CONTEXT_ADDRESS, read_map_ctxt::tail, and target_read_memory().
Referenced by osf_current_sos(), and osf_open_symbol_file_object().
static void osf_clear_solib | ( | void | ) | [static] |
Definition at line 279 of file solib-osf.c.
Referenced by _initialize_osf_solib().
static struct so_list* osf_current_sos | ( | void | ) | [static, read] |
Definition at line 538 of file solib-osf.c.
References close_map(), memcpy(), so_list::next, open_map(), osf_free_so(), read_map(), and xmalloc().
Referenced by _initialize_osf_solib().
static void osf_free_so | ( | struct so_list * | so | ) | [static] |
Definition at line 261 of file solib-osf.c.
References so_list::lm_info, name, lm_sec::name, lm_info::nsecs, lm_info::secs, and xfree().
Referenced by _initialize_osf_solib(), osf_current_sos(), osf_open_symbol_file_object(), and read_map().
static int osf_in_dynsym_resolve_code | ( | CORE_ADDR | pc | ) | [static] |
Definition at line 611 of file solib-osf.c.
Referenced by _initialize_osf_solib().
static int osf_open_symbol_file_object | ( | void * | from_ttyp | ) | [static] |
Definition at line 581 of file solib-osf.c.
References _, close_map(), lm_info::isloader, so_list::lm_info, open_map(), osf_free_so(), query(), read_map(), so_list::so_name, symbol_file_add_main(), and symfile_objfile.
Referenced by _initialize_osf_solib().
static void osf_relocate_section_addresses | ( | struct so_list * | so, |
struct target_section * | sec | ||
) | [static] |
Definition at line 237 of file solib-osf.c.
References target_section::addr, target_section::endaddr, fetch_sec_names(), so_list::lm_info, lm_sec_cmp(), lm_sec::name, lm_info::nsecs, lm_sec::offset, lm_info::secs, and target_section::the_bfd_section.
Referenced by _initialize_osf_solib().
static void osf_solib_create_inferior_hook | ( | int | from_tty | ) | [static] |
Definition at line 310 of file solib-osf.c.
References inferior::attach_flag, auto_solib_add, clear_proceed_status(), inferior::control, current_inferior(), current_target, arm-linux::inf, inferior_thread(), minus_one_ptid, NO_STOP_QUIETLY, solib_add(), STOP_QUIETLY, thread_suspend_state::stop_signal, inferior_control_state::stop_soon, thread_info::suspend, symfile_objfile, target_can_run, target_resume(), and wait_for_inferior().
Referenced by _initialize_osf_solib().
static void osf_special_symbol_handling | ( | void | ) | [static] |
Definition at line 366 of file solib-osf.c.
Referenced by _initialize_osf_solib().
static int read_map | ( | struct read_map_ctxt * | ctxt, |
struct so_list * | so | ||
) | [static] |
Definition at line 457 of file solib-osf.c.
References init_sec(), init_so(), so_list::lm_info, lm_secs_sort(), name, read_map_ctxt::next, osf_free_so(), size, read_map_ctxt::tail, target_read_memory(), target_read_string(), and xfree().
Referenced by osf_current_sos(), and osf_open_symbol_file_object().
struct target_so_ops osf_so_ops [static] |
Definition at line 622 of file solib-osf.c.
Referenced by _initialize_osf_solib().