diff options
author | Yao Qi <yao.qi@linaro.org> | 2017-09-04 11:33:56 +0100 |
---|---|---|
committer | Yao Qi <yao.qi@linaro.org> | 2017-09-04 11:33:56 +0100 |
commit | badc00202024619e1c868b8cf70fe6351fc028c3 (patch) | |
tree | 5753e8a3f91d9277c700e0b9e362ef414738cbe1 /gdb | |
parent | d78bdb54ac94e1c38dc4b8f0d50b5fd202890887 (diff) | |
download | binutils-gdb-badc00202024619e1c868b8cf70fe6351fc028c3.tar.gz |
Let i386_target_description return tdesc_i386_mmx
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-09-04 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.
Diffstat (limited to 'gdb')
-rw-r--r-- | gdb/ChangeLog | 9 | ||||
-rw-r--r-- | gdb/i386-go32-tdep.c | 3 | ||||
-rw-r--r-- | gdb/i386-tdep.c | 4 | ||||
-rw-r--r-- | gdb/i386-tdep.h | 3 |
4 files changed, 15 insertions, 4 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog index e965e26d739..306805025a5 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,5 +1,14 @@ 2017-09-04 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. + +2017-09-04 Yao Qi <yao.qi@linaro.org> + * i386-fbsd-tdep.c (i386fbsd_core_read_xcr0): Return X86_XSTATE_SSE_MASK instead of 0. diff --git a/gdb/i386-go32-tdep.c b/gdb/i386-go32-tdep.c index 5bd48579778..6778e5238da 100644 --- a/gdb/i386-go32-tdep.c +++ b/gdb/i386-go32-tdep.c @@ -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, diff --git a/gdb/i386-tdep.c b/gdb/i386-tdep.c index 9d0dd3d5da5..d162e9267e5 100644 --- a/gdb/i386-tdep.c +++ b/gdb/i386-tdep.c @@ -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; } diff --git a/gdb/i386-tdep.h b/gdb/i386-tdep.h index 1ce89fcf653..99b89e747df 100644 --- a/gdb/i386-tdep.h +++ b/gdb/i386-tdep.h @@ -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); |