Patchwork More procfs.c simplification

login
register
mail settings
Submitter Pedro Alves
Date April 12, 2018, 4:59 p.m.
Message ID <20180412165934.27722-1-palves@redhat.com>
Download mbox | patch
Permalink /patch/26695/
State New
Headers show

Comments

Pedro Alves - April 12, 2018, 4:59 p.m.
There are only two architectures using procfs.c (i386/SPARC), and none
of their corresponding nat files overrides any target method.  Move
the add_target calls to procfs.c directly.

gdb/ChangeLog:
yyyy-mm-dd  Pedro Alves  <palves@redhat.com>

	* i386-sol2-nat.c (_initialize_amd64_sol2_nat): Don't call
	procfs_target/add_target here.
	* procfs.c (procfs_target): Make static.
	(_initialize_procfs): Call add_target here.
	* procfs.h (struct target_ops): Remove forward declaration.
	(procfs_target): Remove declaration.
	* sparc-sol2-nat.c (_initialize_sparc_sol2_nat): Delete.
---
 gdb/i386-sol2-nat.c  | 7 -------
 gdb/procfs.c         | 6 +++++-
 gdb/procfs.h         | 7 -------
 gdb/sparc-sol2-nat.c | 9 ---------
 4 files changed, 5 insertions(+), 24 deletions(-)
Pedro Alves - May 2, 2018, 11:58 p.m.
On 04/12/2018 05:59 PM, Pedro Alves wrote:
> There are only two architectures using procfs.c (i386/SPARC), and none
> of their corresponding nat files overrides any target method.  Move
> the add_target calls to procfs.c directly.
> 
> gdb/ChangeLog:
> yyyy-mm-dd  Pedro Alves  <palves@redhat.com>
> 
> 	* i386-sol2-nat.c (_initialize_amd64_sol2_nat): Don't call
> 	procfs_target/add_target here.
> 	* procfs.c (procfs_target): Make static.
> 	(_initialize_procfs): Call add_target here.
> 	* procfs.h (struct target_ops): Remove forward declaration.
> 	(procfs_target): Remove declaration.
> 	* sparc-sol2-nat.c (_initialize_sparc_sol2_nat): Delete.

I pushed this one in too.

Thanks,
Pedro Alves

Patch

diff --git a/gdb/i386-sol2-nat.c b/gdb/i386-sol2-nat.c
index 359fc3203d..992ecb7ed1 100644
--- a/gdb/i386-sol2-nat.c
+++ b/gdb/i386-sol2-nat.c
@@ -133,11 +133,6 @@  fill_fpregset (const struct regcache *regcache,
 void
 _initialize_amd64_sol2_nat (void)
 {
-  struct target_ops *t;
-
-  /* Fill in the generic procfs methods.  */
-  t = procfs_target ();
-
 #if defined (PR_MODEL_NATIVE) && (PR_MODEL_NATIVE == PR_MODEL_LP64)
   amd64_native_gregset32_reg_offset = amd64_sol2_gregset32_reg_offset;
   amd64_native_gregset32_num_regs =
@@ -146,6 +141,4 @@  _initialize_amd64_sol2_nat (void)
   amd64_native_gregset64_num_regs =
     ARRAY_SIZE (amd64_sol2_gregset64_reg_offset);
 #endif
-
-  add_target (t);
 }
diff --git a/gdb/procfs.c b/gdb/procfs.c
index 0143f2621c..51c9ae8f00 100644
--- a/gdb/procfs.c
+++ b/gdb/procfs.c
@@ -171,7 +171,9 @@  procfs_auxv_parse (struct target_ops *ops, gdb_byte **readptr,
 }
 #endif
 
-struct target_ops *
+/* Create a procfs target.  */
+
+static struct target_ops *
 procfs_target (void)
 {
   struct target_ops *t = inf_child_target ();
@@ -3770,6 +3772,8 @@  _initialize_procfs (void)
 	   _("Cancel a trace of entries into the syscall."));
   add_com ("proc-untrace-exit", no_class, proc_untrace_sysexit_cmd,
 	   _("Cancel a trace of exits from the syscall."));
+
+  add_target (procfs_target ());
 }
 
 /* =================== END, GDB  "MODULE" =================== */
diff --git a/gdb/procfs.h b/gdb/procfs.h
index beeb876a73..e66c674282 100644
--- a/gdb/procfs.h
+++ b/gdb/procfs.h
@@ -17,13 +17,6 @@ 
    You should have received a copy of the GNU General Public License
    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
-struct target_ops;
-
-/* Create a prototype generic procfs target.  The client can override
-   it with local methods.  */
-
-extern struct target_ops *procfs_target (void);
-
 /* Return a ptid for which we guarantee we will be able to find a
    'live' procinfo.  */
 
diff --git a/gdb/sparc-sol2-nat.c b/gdb/sparc-sol2-nat.c
index 482050d008..2c0d561f98 100644
--- a/gdb/sparc-sol2-nat.c
+++ b/gdb/sparc-sol2-nat.c
@@ -97,12 +97,3 @@  fill_fpregset (const struct regcache *regcache,
 {
   sparc_collect_fpregset (&sparc_sol2_fpregmap, regcache, regnum, fpregs);
 }
-
-void
-_initialize_sparc_sol2_nat (void)
-{
-  struct target_ops *t;
-
-  t = procfs_target ();
-  add_target (t);
-}