aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gdb/ChangeLog9
-rw-r--r--gdb/config/i386/i386gnu.mh3
-rw-r--r--gdb/config/i386/i386gnu.mt2
-rw-r--r--gdb/solib-svr4.c7
4 files changed, 14 insertions, 7 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 1fcdf29..c4fb85d 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,5 +1,14 @@
2007-10-24 Ulrich Weigand <uweigand@de.ibm.com>
+ * 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 <uweigand@de.ibm.com>
+
* solib-svr4.c (legacy_svr4_fetch_link_map_offsets_hook): Remove.
(solib_svr4_init): Initialize fetch_link_map_offsets to NULL.
* solib-svr4.h (legacy_svr4_fetch_link_map_offsets_hook): Remove.
diff --git a/gdb/config/i386/i386gnu.mh b/gdb/config/i386/i386gnu.mh
index fa7f7c3..a188b1c 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 220b64a..6684188 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 36c6df0..1d2737a 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;
}