nto & lynx x86: call init_target_desc

Message ID 1506092746-17214-1-git-send-email-simon.marchi@ericsson.com
State New, archived
Headers

Commit Message

Simon Marchi Sept. 22, 2017, 3:05 p.m. UTC
  In gdbserver, target descriptions need to be initialized by calling
init_target_desc.  Because i386_create_target_description is shared with
GDB, it doesn't do that, the callers must take care of it.  These two
platforms currently don't.

I am not able to build them, so I couldn't test.

gdb/gdbserver/ChangeLog:

	* lynx-i386-low.c (lynx_i386_arch_setup): Call init_target_desc.
	* nto-x86-low.c (nto_x86_arch_setup): Likewise.
---
 gdb/gdbserver/lynx-i386-low.c | 7 ++++++-
 gdb/gdbserver/nto-x86-low.c   | 7 ++++++-
 2 files changed, 12 insertions(+), 2 deletions(-)
  

Comments

Joel Brobecker Sept. 22, 2017, 3:14 p.m. UTC | #1
Hi Simon,

On Fri, Sep 22, 2017 at 05:05:46PM +0200, Simon Marchi wrote:
> In gdbserver, target descriptions need to be initialized by calling
> init_target_desc.  Because i386_create_target_description is shared with
> GDB, it doesn't do that, the callers must take care of it.  These two
> platforms currently don't.
> 
> I am not able to build them, so I couldn't test.
> 
> gdb/gdbserver/ChangeLog:
> 
> 	* lynx-i386-low.c (lynx_i386_arch_setup): Call init_target_desc.
> 	* nto-x86-low.c (nto_x86_arch_setup): Likewise.

For LynxOS, go right ahead. I haven't been able to build GDBserver
on LynxOS ever since we switched to C++, as there is no satisfactory
C++ compiler on this platform that I could find or build. I'm hoping
this will change sometime, but in the meantime, best effort is the
best we can do... In this case, it looks quite reasonable.

Thanks for doing that.
  
Simon Marchi Oct. 2, 2017, 9 a.m. UTC | #2
On 2017-09-22 17:14, Joel Brobecker wrote:
> Hi Simon,
> 
> On Fri, Sep 22, 2017 at 05:05:46PM +0200, Simon Marchi wrote:
>> In gdbserver, target descriptions need to be initialized by calling
>> init_target_desc.  Because i386_create_target_description is shared 
>> with
>> GDB, it doesn't do that, the callers must take care of it.  These two
>> platforms currently don't.
>> 
>> I am not able to build them, so I couldn't test.
>> 
>> gdb/gdbserver/ChangeLog:
>> 
>> 	* lynx-i386-low.c (lynx_i386_arch_setup): Call init_target_desc.
>> 	* nto-x86-low.c (nto_x86_arch_setup): Likewise.
> 
> For LynxOS, go right ahead. I haven't been able to build GDBserver
> on LynxOS ever since we switched to C++, as there is no satisfactory
> C++ compiler on this platform that I could find or build. I'm hoping
> this will change sometime, but in the meantime, best effort is the
> best we can do... In this case, it looks quite reasonable.
> 
> Thanks for doing that.

Thanks, I'll push the patch as-is then.

Simon
  

Patch

diff --git a/gdb/gdbserver/lynx-i386-low.c b/gdb/gdbserver/lynx-i386-low.c
index 57181d6..a7eae1d 100644
--- a/gdb/gdbserver/lynx-i386-low.c
+++ b/gdb/gdbserver/lynx-i386-low.c
@@ -293,7 +293,12 @@  lynx_i386_store_fpregset (struct regcache *regcache, const char *buf)
 static void
 lynx_i386_arch_setup (void)
 {
-  lynx_tdesc = i386_create_target_description (X86_XSTATE_SSE_MASK, false);
+  struct target_desc *tdesc
+    = i386_create_target_description (X86_XSTATE_SSE_MASK, false);
+
+  init_target_desc (tdesc);
+
+  lynx_tdesc = tdesc;
 }
 
 /* Description of all the x86-lynx register sets.  */
diff --git a/gdb/gdbserver/nto-x86-low.c b/gdb/gdbserver/nto-x86-low.c
index cfa5993..48bdc53 100644
--- a/gdb/gdbserver/nto-x86-low.c
+++ b/gdb/gdbserver/nto-x86-low.c
@@ -87,7 +87,12 @@  static void
 nto_x86_arch_setup (void)
 {
   the_low_target.num_regs = 16;
-  nto_tdesc = i386_create_target_description (X86_XSTATE_SSE_MASK, false);
+  struct target_desc *tdesc
+    = i386_create_target_description (X86_XSTATE_SSE_MASK, false);
+
+  init_target_desc (tdesc);
+
+  nto_tdesc = tdesc;
 }
 
 struct nto_target_ops the_low_target =