Remove current_target_so_ops
authorTom Tromey <tromey@adacore.com>
Mon, 8 Aug 2022 16:14:53 +0000 (10:14 -0600)
committerTom Tromey <tromey@adacore.com>
Tue, 20 Sep 2022 18:25:19 +0000 (12:25 -0600)
current_target_so_ops is only set in a single place.  It seems better
to simply remove it.

gdb/solib-target.c
gdb/solib.c
gdb/solist.h

index 54b98243e518fc6b24afe46786aacef5cc7653cb..8def640a1e7bbf3b9d5fe527d10fea4b252451bc 100644 (file)
@@ -453,9 +453,4 @@ _initialize_solib_target ()
   solib_target_so_ops.in_dynsym_resolve_code
     = solib_target_in_dynsym_resolve_code;
   solib_target_so_ops.bfd_open = solib_bfd_open;
-
-  /* Set current_target_so_ops to solib_target_so_ops if not already
-     set.  */
-  if (current_target_so_ops == 0)
-    current_target_so_ops = &solib_target_so_ops;
 }
index 25adf586a023a928c0067af20a5b7778e3c405d7..859d345f39c7d8d8b4a12543ecc27345a619043c 100644 (file)
@@ -53,6 +53,7 @@
 #include "debuginfod-support.h"
 #include "source.h"
 #include "cli/cli-style.h"
+#include "solib-target.h"
 
 /* Architecture-specific operations.  */
 
@@ -67,8 +68,8 @@ solib_ops (struct gdbarch *gdbarch)
   const struct target_so_ops *result = solib_data.get (gdbarch);
   if (result == nullptr)
     {
-      result = current_target_so_ops;
-      set_solib_ops (gdbarch, current_target_so_ops);
+      result = &solib_target_so_ops;
+      set_solib_ops (gdbarch, &solib_target_so_ops);
     }
   return result;
 }
@@ -84,10 +85,6 @@ set_solib_ops (struct gdbarch *gdbarch, const struct target_so_ops *new_ops)
 
 /* external data declarations */
 
-/* FIXME: gdbarch needs to control this variable, or else every
-   configuration needs to call set_solib_ops.  */
-struct target_so_ops *current_target_so_ops;
-
 /* Local function prototypes */
 
 /* If non-empty, this is a search path for loading non-absolute shared library
index 34198dc0c4d24ae7784c8cad49ed68425275535e..f102605e076ec8ae125a148c500caaf7ccd62bca 100644 (file)
@@ -194,7 +194,4 @@ extern gdb_bfd_ref_ptr solib_bfd_fopen (const char *pathname, int fd);
 /* Find solib binary file and open it.  */
 extern gdb_bfd_ref_ptr solib_bfd_open (const char *in_pathname);
 
-/* FIXME: gdbarch needs to control this variable.  */
-extern struct target_so_ops *current_target_so_ops;
-
 #endif