This is the mail archive of the gdb-patches@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[PATCH 21/22] [GDBserver] Multi-process + multi-arch: LynxOS


This adjusts the LynxOS ports to new interfaces.

Completely untested.

2012-05-30  Pedro Alves  <palves@redhat.com>

	* lynx-i386-low.c (tdesc_i386): Declare global.
	(lynx_i386_arch_setup): Set `lynx_tdesc'.
	* lynx-low.c (lynx_tdesc): New global.
	(lynx_add_process): Set the new process'es tdesc.
	* lynx-low.h (struct target_desc): Forward declare.
	(lynx_tdesc): Declare global.
	* lynx-ppc-low.c (tdesc_powerpc_32): Declare global.
	(lynx_ppc_arch_setup): Set `lynx_tdesc'.
---
 gdb/gdbserver/lynx-i386-low.c |    2 ++
 gdb/gdbserver/lynx-low.c      |    3 +++
 gdb/gdbserver/lynx-low.h      |    4 ++++
 gdb/gdbserver/lynx-ppc-low.c  |    2 ++
 4 files changed, 11 insertions(+)

diff --git a/gdb/gdbserver/lynx-i386-low.c b/gdb/gdbserver/lynx-i386-low.c
index e461bb2..11b5f4c 100644
--- a/gdb/gdbserver/lynx-i386-low.c
+++ b/gdb/gdbserver/lynx-i386-low.c
@@ -122,6 +122,7 @@ enum lynx_i386_gdb_regnum
 
 /* Defined in auto-generated file i386.c.  */
 extern void init_registers_i386 (void);
+extern const struct target_desc *tdesc_i386;
 
 /* The fill_function for the general-purpose register set.  */
 
@@ -297,6 +298,7 @@ static void
 lynx_i386_arch_setup (void)
 {
   init_registers_i386 ();
+  lynx_tdesc = tdesc_i386;
 }
 
 /* Description of all the x86-lynx register sets.  */
diff --git a/gdb/gdbserver/lynx-low.c b/gdb/gdbserver/lynx-low.c
index 3dbffa5..4cf8683 100644
--- a/gdb/gdbserver/lynx-low.c
+++ b/gdb/gdbserver/lynx-low.c
@@ -30,6 +30,8 @@
 
 int using_threads = 1;
 
+const struct target_desc *lynx_tdesc;
+
 /* Per-process private data.  */
 
 struct process_info_private
@@ -214,6 +216,7 @@ lynx_add_process (int pid, int attached)
   struct process_info *proc;
 
   proc = add_process (pid, attached);
+  proc->tdesc = lynx_tdesc;
   proc->private = xcalloc (1, sizeof (*proc->private));
   proc->private->last_wait_event_ptid = null_ptid;
 
diff --git a/gdb/gdbserver/lynx-low.h b/gdb/gdbserver/lynx-low.h
index 552c50f..47deaab 100644
--- a/gdb/gdbserver/lynx-low.h
+++ b/gdb/gdbserver/lynx-low.h
@@ -18,6 +18,7 @@
 #include "server.h"
 
 struct regcache;
+struct target_desc;
 
 /*  Some information relative to a given register set.   */
 
@@ -50,3 +51,6 @@ struct lynx_target_ops
 
 extern struct lynx_target_ops the_low_target;
 
+/* The inferior's target description.  This is a global because the
+   LynxOS ports support neither bi-arch nor multi-process.  */
+extern const struct target_desc *lynx_tdesc;
diff --git a/gdb/gdbserver/lynx-ppc-low.c b/gdb/gdbserver/lynx-ppc-low.c
index 5e5ac5d..dc5dd3c 100644
--- a/gdb/gdbserver/lynx-ppc-low.c
+++ b/gdb/gdbserver/lynx-ppc-low.c
@@ -69,6 +69,7 @@ typedef struct usr_fcontext_s
 
 /* Defined in auto-generated file powerpc-32.c.  */
 extern void init_registers_powerpc_32 (void);
+extern const struct target_desc *tdesc_powerpc_32;
 
 /* The fill_function for the general-purpose register set.  */
 
@@ -164,6 +165,7 @@ static void
 lynx_ppc_arch_setup (void)
 {
   init_registers_powerpc_32 ();
+  lynx_tdesc = tdesc_powerpc_32;
 }
 
 /* Description of all the powerpc-lynx register sets.  */


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]