diff options
-rw-r--r-- | gdb/ChangeLog | 4 | ||||
-rw-r--r-- | gdb/i387-tdep.c | 110 |
2 files changed, 59 insertions, 55 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog index a4bd29e..0a648e5 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,5 +1,9 @@ 2010-04-08 H.J. Lu <hongjiu.lu@intel.com> + * i387-tdep.c (i387_collect_xsave): Re-indent. + +2010-04-08 H.J. Lu <hongjiu.lu@intel.com> + * i386-linux-nat.c (have_ptrace_getfpxregs): Initialize to -1 if HAVE_PTRACE_GETFPXREGS is defined. (i386_linux_read_description): Set have_ptrace_getfpxregs and diff --git a/gdb/i387-tdep.c b/gdb/i387-tdep.c index 4c32e09..eac3216 100644 --- a/gdb/i387-tdep.c +++ b/gdb/i387-tdep.c @@ -1033,68 +1033,68 @@ i387_collect_xsave (const struct regcache *regcache, int regnum, switch (regclass) { default: - abort (); - - case avxh: - /* This is an upper YMM register. */ - p = XSAVE_AVXH_ADDR (tdep, regs, regnum); - if (memcmp (raw, p, 16)) - { - xstate_bv |= I386_XSTATE_AVX; - memcpy (p, raw, 16); - } - break; - - case sse: - /* This is an SSE register. */ - p = FXSAVE_ADDR (tdep, regs, regnum); - if (memcmp (raw, p, 16)) - { - xstate_bv |= I386_XSTATE_SSE; - memcpy (p, raw, 16); - } - break; - - case x87: - /* This is an x87 register. */ - p = FXSAVE_ADDR (tdep, regs, regnum); - if (memcmp (raw, p, 10)) - { - xstate_bv |= I386_XSTATE_X87; - memcpy (p, raw, 10); - } - break; - } - } - - /* Update the corresponding bits in `xstate_bv' if any SSE/AVX - registers are changed. */ - if (xstate_bv) - { - /* The supported bits in `xstat_bv' are 1 byte. */ - *xstate_bv_p |= (gdb_byte) xstate_bv; + abort (); - switch (regclass) + case avxh: + /* This is an upper YMM register. */ + p = XSAVE_AVXH_ADDR (tdep, regs, regnum); + if (memcmp (raw, p, 16)) { - default: - abort (); + xstate_bv |= I386_XSTATE_AVX; + memcpy (p, raw, 16); + } + break; - case all: - break; + case sse: + /* This is an SSE register. */ + p = FXSAVE_ADDR (tdep, regs, regnum); + if (memcmp (raw, p, 16)) + { + xstate_bv |= I386_XSTATE_SSE; + memcpy (p, raw, 16); + } + break; - case x87: - case sse: - case avxh: - /* Register REGNUM has been updated. Return. */ - return; + case x87: + /* This is an x87 register. */ + p = FXSAVE_ADDR (tdep, regs, regnum); + if (memcmp (raw, p, 10)) + { + xstate_bv |= I386_XSTATE_X87; + memcpy (p, raw, 10); } + break; } - else + } + + /* Update the corresponding bits in `xstate_bv' if any SSE/AVX + registers are changed. */ + if (xstate_bv) + { + /* The supported bits in `xstat_bv' are 1 byte. */ + *xstate_bv_p |= (gdb_byte) xstate_bv; + + switch (regclass) { - /* Return if REGNUM isn't changed. */ - if (regclass != all) - return; + default: + abort (); + + case all: + break; + + case x87: + case sse: + case avxh: + /* Register REGNUM has been updated. Return. */ + return; } + } + else + { + /* Return if REGNUM isn't changed. */ + if (regclass != all) + return; + } } /* Only handle x87 control registers. */ @@ -1113,7 +1113,7 @@ i387_collect_xsave (const struct regcache *regcache, int regnum, if (i == I387_FOP_REGNUM (tdep)) { /* The opcode occupies only 11 bits. Make sure we - don't touch the other bits. */ + don't touch the other bits. */ buf[1] &= ((1 << 3) - 1); buf[1] |= ((FXSAVE_ADDR (tdep, regs, i))[1] & ~((1 << 3) - 1)); } |