diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 1fcdf293d0..c4fb85daa3 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,12 @@ +2007-10-24 Ulrich Weigand + + * solib-svr4.c (set_solib_svr4_fetch_link_map_offsets): Call + set_solib_ops to install SVR4 operations. + (_initialize_svr4_solib): Do not set current_target_so_ops. + + * config/i386/i386gnu.mh (NATDEPFILES): Move solib.o, solib-svr4.o ... + * config/i386/i386gnu.mt (TDEPFILES): ... to here. + 2007-10-24 Ulrich Weigand * solib-svr4.c (legacy_svr4_fetch_link_map_offsets_hook): Remove. diff --git a/gdb/config/i386/i386gnu.mh b/gdb/config/i386/i386gnu.mh index fa7f7c359c..a188b1c150 100644 --- a/gdb/config/i386/i386gnu.mh +++ b/gdb/config/i386/i386gnu.mh @@ -1,6 +1,5 @@ # Host: Intel 386 running the GNU Hurd -NATDEPFILES= i386gnu-nat.o gnu-nat.o corelow.o core-regset.o \ - fork-child.o solib.o solib-svr4.o \ +NATDEPFILES= i386gnu-nat.o gnu-nat.o corelow.o core-regset.o fork-child.o \ notify_S.o process_reply_S.o msg_reply_S.o \ msg_U.o exc_request_U.o exc_request_S.o diff --git a/gdb/config/i386/i386gnu.mt b/gdb/config/i386/i386gnu.mt index 220b64ab31..6684188aaa 100644 --- a/gdb/config/i386/i386gnu.mt +++ b/gdb/config/i386/i386gnu.mt @@ -1,2 +1,2 @@ # Target: Intel 386 running the GNU Hurd -TDEPFILES= i386-tdep.o i387-tdep.o i386gnu-tdep.o +TDEPFILES= i386-tdep.o i387-tdep.o i386gnu-tdep.o solib.o solib-svr4.o diff --git a/gdb/solib-svr4.c b/gdb/solib-svr4.c index 36c6df0f59..1d2737aae3 100644 --- a/gdb/solib-svr4.c +++ b/gdb/solib-svr4.c @@ -1449,7 +1449,7 @@ solib_svr4_init (struct obstack *obstack) } /* Set the architecture-specific `struct link_map_offsets' fetcher for - GDBARCH to FLMO. */ + GDBARCH to FLMO. Also, install SVR4 solib_ops into GDBARCH. */ void set_solib_svr4_fetch_link_map_offsets (struct gdbarch *gdbarch, @@ -1458,6 +1458,8 @@ set_solib_svr4_fetch_link_map_offsets (struct gdbarch *gdbarch, struct solib_svr4_ops *ops = gdbarch_data (gdbarch, solib_svr4_data); ops->fetch_link_map_offsets = flmo; + + set_solib_ops (gdbarch, &svr4_so_ops); } /* Fetch a link_map_offsets structure using the architecture-specific @@ -1583,7 +1585,4 @@ _initialize_svr4_solib (void) svr4_so_ops.open_symbol_file_object = open_symbol_file_object; svr4_so_ops.in_dynsym_resolve_code = svr4_in_dynsym_resolve_code; svr4_so_ops.lookup_lib_global_symbol = elf_lookup_lib_symbol; - - /* FIXME: Don't do this here. *_gdbarch_init() should set so_ops. */ - current_target_so_ops = &svr4_so_ops; }