diff options
Diffstat (limited to 'gdb/nto-tdep.c')
-rw-r--r-- | gdb/nto-tdep.c | 35 |
1 files changed, 2 insertions, 33 deletions
diff --git a/gdb/nto-tdep.c b/gdb/nto-tdep.c index 8f8d1d5..f9959ca 100644 --- a/gdb/nto-tdep.c +++ b/gdb/nto-tdep.c @@ -239,43 +239,12 @@ nto_parse_redirection (char *pargv[], const char **pin, const char **pout, return argv; } -/* The struct lm_info, lm_addr, and nto_truncate_ptr are copied from - solib-svr4.c to support nto_relocate_section_addresses - which is different from the svr4 version. */ - -/* Link map info to include in an allocated so_list entry */ - -struct lm_info - { - /* Pointer to copy of link map from inferior. The type is char * - rather than void *, so that we may use byte offsets to find the - various fields without the need for a cast. */ - gdb_byte *lm; - - /* Amount by which addresses in the binary should be relocated to - match the inferior. This could most often be taken directly - from lm, but when prelinking is involved and the prelink base - address changes, we may need a different offset, we want to - warn about the difference and compute it only once. */ - CORE_ADDR l_addr; - - /* The target location of lm. */ - CORE_ADDR lm_addr; - }; - - static CORE_ADDR lm_addr (struct so_list *so) { - if (so->lm_info->l_addr == (CORE_ADDR)-1) - { - struct link_map_offsets *lmo = nto_fetch_link_map_offsets (); - struct type *ptr_type = builtin_type (target_gdbarch ())->builtin_data_ptr; + lm_info_svr4 *li = (lm_info_svr4 *) so->lm_info; - so->lm_info->l_addr = - extract_typed_address (so->lm_info->lm + lmo->l_addr_offset, ptr_type); - } - return so->lm_info->l_addr; + return li->l_addr; } static CORE_ADDR |