[04/22] Let i386_target_description return tdesc_i386_mmx
Commit Message
This patch remove the usage of tdesc_i386_mmx in i386-go32-tdep.c, and use
i386_target_description to get it instead.
gdb:
2017-08-21 Yao Qi <yao.qi@linaro.org>
* i386-go32-tdep.c: Include x86-xstate.h.
(i386_go32_init_abi): Call i386_target_description.
* i386-tdep.c (i386_target_description): Return tdesc_i386_mmx
if xcr0 is X86_XSTATE_X87_MASK.
* i386-tdep.h (tdesc_i386): Remove the declaration.
(tdesc_i386_mmx): Likewise.
---
gdb/i386-go32-tdep.c | 3 ++-
gdb/i386-tdep.c | 4 ++++
gdb/i386-tdep.h | 3 ---
3 files changed, 6 insertions(+), 4 deletions(-)
@@ -19,6 +19,7 @@
#include "defs.h"
#include "i386-tdep.h"
+#include "x86-xstate.h"
#include "target-descriptions.h"
#include "osabi.h"
@@ -34,7 +35,7 @@ i386_go32_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
/* DJGPP does not support the SSE registers. */
if (!tdesc_has_registers (info.target_desc))
- tdep->tdesc = tdesc_i386_mmx;
+ tdep->tdesc = i386_target_description (X86_XSTATE_X87_MASK);
/* Native compiler is GCC, which uses the SVR4 register numbering
even in COFF and STABS. See the comment in i386_gdbarch_init,
@@ -8730,6 +8730,10 @@ i386_target_description (uint64_t xcr0)
return tdesc_i386_mpx;
case X86_XSTATE_AVX_MASK:
return tdesc_i386_avx;
+ case X86_XSTATE_SSE_MASK:
+ return tdesc_i386;
+ case X86_XSTATE_X87_MASK:
+ return tdesc_i386_mmx;
default:
return tdesc_i386;
}
@@ -339,9 +339,6 @@ enum record_i386_regnum
/* Size of the largest register. */
#define I386_MAX_REGISTER_SIZE 64
-extern struct target_desc *tdesc_i386;
-extern struct target_desc *tdesc_i386_mmx;
-
/* Types for i386-specific registers. */
extern struct type *i387_ext_type (struct gdbarch *gdbarch);