* i386-nto-tdep.c: Include "solib.h".
(i386nto_init_abi): Use set_solib_ops instead of overwriting current_target_so_ops members. * solist.h (TARGET_SO_RELOCATE_SECTION_ADDRESSES): Remove. (TARGET_SO_FIND_AND_OPEN_SOLIB): Remove. (TARGET_SO_IN_DYNSYM_RESOLVE_CODE): Remove. * Makefile.in: Update dependencies.
This commit is contained in:
parent
4bd1a3c931
commit
59215afbea
4 changed files with 31 additions and 14 deletions
|
@ -1,3 +1,13 @@
|
|||
2007-10-24 Ulrich Weigand <uweigand@de.ibm.com>
|
||||
|
||||
* i386-nto-tdep.c: Include "solib.h".
|
||||
(i386nto_init_abi): Use set_solib_ops instead of overwriting
|
||||
current_target_so_ops members.
|
||||
* solist.h (TARGET_SO_RELOCATE_SECTION_ADDRESSES): Remove.
|
||||
(TARGET_SO_FIND_AND_OPEN_SOLIB): Remove.
|
||||
(TARGET_SO_IN_DYNSYM_RESOLVE_CODE): Remove.
|
||||
* Makefile.in: Update dependencies.
|
||||
|
||||
2007-10-24 Ulrich Weigand <uweigand@de.ibm.com>
|
||||
|
||||
* arm-wince-tdep.c: Include "solib.h" and "solib-target.h".
|
||||
|
|
|
@ -2157,7 +2157,8 @@ i386nbsd-tdep.o: i386nbsd-tdep.c $(defs_h) $(arch_utils_h) $(frame_h) \
|
|||
$(nbsd_tdep_h) $(solib_svr4_h)
|
||||
i386-nto-tdep.o: i386-nto-tdep.c $(defs_h) $(frame_h) $(osabi_h) \
|
||||
$(regcache_h) $(target_h) $(gdb_assert_h) $(gdb_string_h) \
|
||||
$(i386_tdep_h) $(i387_tdep_h) $(nto_tdep_h) $(solib_svr4_h)
|
||||
$(i386_tdep_h) $(i387_tdep_h) $(nto_tdep_h) $(solib_h) \
|
||||
$(solib_svr4_h)
|
||||
i386obsd-nat.o: i386obsd-nat.c $(defs_h) $(gdbcore_h) $(regcache_h) \
|
||||
$(target_h) $(i386_tdep_h) $(i386bsd_nat_h) $(bsd_kvm_h)
|
||||
i386obsd-tdep.o: i386obsd-tdep.c $(defs_h) $(arch_utils_h) $(frame_h) \
|
||||
|
|
|
@ -31,6 +31,7 @@
|
|||
#include "i386-tdep.h"
|
||||
#include "i387-tdep.h"
|
||||
#include "nto-tdep.h"
|
||||
#include "solib.h"
|
||||
#include "solib-svr4.h"
|
||||
|
||||
/* Target vector for QNX NTO x86. */
|
||||
|
@ -251,6 +252,7 @@ static void
|
|||
i386nto_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
|
||||
{
|
||||
struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
|
||||
static struct target_so_ops nto_svr4_so_ops;
|
||||
|
||||
/* Deal with our strange signals. */
|
||||
nto_initialize_signals ();
|
||||
|
@ -277,14 +279,25 @@ i386nto_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
|
|||
set_solib_svr4_fetch_link_map_offsets
|
||||
(gdbarch, svr4_ilp32_fetch_link_map_offsets);
|
||||
|
||||
/* Our loader handles solib relocations slightly differently than svr4. */
|
||||
TARGET_SO_RELOCATE_SECTION_ADDRESSES = nto_relocate_section_addresses;
|
||||
/* Initialize this lazily, to avoid an initialization order
|
||||
dependency on solib-svr4.c's _initialize routine. */
|
||||
if (nto_svr4_so_ops.in_dynsym_resolve_code == NULL)
|
||||
{
|
||||
nto_svr4_so_ops = svr4_so_ops;
|
||||
|
||||
/* Supply a nice function to find our solibs. */
|
||||
TARGET_SO_FIND_AND_OPEN_SOLIB = nto_find_and_open_solib;
|
||||
/* Our loader handles solib relocations differently than svr4. */
|
||||
nto_svr4_so_ops.relocate_section_addresses
|
||||
= nto_relocate_section_addresses;
|
||||
|
||||
/* Our linker code is in libc. */
|
||||
TARGET_SO_IN_DYNSYM_RESOLVE_CODE = nto_in_dynsym_resolve_code;
|
||||
/* Supply a nice function to find our solibs. */
|
||||
nto_svr4_so_ops.find_and_open_solib
|
||||
= nto_find_and_open_solib;
|
||||
|
||||
/* Our linker code is in libc. */
|
||||
nto_svr4_so_ops.in_dynsym_resolve_code
|
||||
= nto_in_dynsym_resolve_code;
|
||||
}
|
||||
set_solib_ops (gdbarch, &nto_svr4_so_ops);
|
||||
|
||||
nto_set_target (&i386_nto_target);
|
||||
}
|
||||
|
|
|
@ -129,13 +129,6 @@ extern int solib_open (char *in_pathname, char **found_pathname);
|
|||
/* FIXME: gdbarch needs to control this variable */
|
||||
extern struct target_so_ops *current_target_so_ops;
|
||||
|
||||
#define TARGET_SO_RELOCATE_SECTION_ADDRESSES \
|
||||
(current_target_so_ops->relocate_section_addresses)
|
||||
#define TARGET_SO_FIND_AND_OPEN_SOLIB \
|
||||
(current_target_so_ops->find_and_open_solib)
|
||||
#define TARGET_SO_IN_DYNSYM_RESOLVE_CODE \
|
||||
(current_target_so_ops->in_dynsym_resolve_code)
|
||||
|
||||
/* Handler for library-specific global symbol lookup in solib.c. */
|
||||
struct symbol *solib_global_lookup (const struct objfile *objfile,
|
||||
const char *name,
|
||||
|
|
Loading…
Reference in a new issue