- /* In the context where this is used, we get the saved PC before we've
- successfully unwound far enough to be sure what we've got (it may
- be a signal handler caller). If we're dealing with a signal
- handler caller, this will return valid, which is fine. If not,
- it'll make the correct test. */
- return ((get_frame_type (thisframe) == SIGTRAMP_FRAME) || chain != 0);
+ 176, /* eax */
+ 172, /* ecx */
+ 168, /* edx */
+ 164, /* ebx */
+
+ 196, /* esp */
+ 180, /* ebp */
+ 160, /* esi */
+ 156, /* edi */
+
+ 184, /* eip */
+ 192, /* eflags */
+ 188, /* cs */
+ 200, /* ss */
+
+ 152, /* ds */
+ 148, /* es */
+ 144, /* fs */
+ 140, /* gs */
+
+ 56, /* FloatSave.RegisterArea[0 * 10] */
+ 66, /* FloatSave.RegisterArea[1 * 10] */
+ 76, /* FloatSave.RegisterArea[2 * 10] */
+ 86, /* FloatSave.RegisterArea[3 * 10] */
+ 96, /* FloatSave.RegisterArea[4 * 10] */
+ 106, /* FloatSave.RegisterArea[5 * 10] */
+ 116, /* FloatSave.RegisterArea[6 * 10] */
+ 126, /* FloatSave.RegisterArea[7 * 10] */
+
+ 28, /* FloatSave.ControlWord */
+ 32, /* FloatSave.StatusWord */
+ 36, /* FloatSave.TagWord */
+ 44, /* FloatSave.ErrorSelector */
+ 40, /* FloatSave.ErrorOffset */
+ 52, /* FloatSave.DataSelector */
+ 48, /* FloatSave.DataOffset */
+ 44, /* FloatSave.ErrorSelector */
+
+ /* XMM0-7 */
+ 364, /* ExtendedRegisters[10*16] */
+ 380, /* ExtendedRegisters[11*16] */
+ 396, /* ExtendedRegisters[12*16] */
+ 412, /* ExtendedRegisters[13*16] */
+ 428, /* ExtendedRegisters[14*16] */
+ 444, /* ExtendedRegisters[15*16] */
+ 460, /* ExtendedRegisters[16*16] */
+ 476, /* ExtendedRegisters[17*16] */
+
+ /* MXCSR */
+ 228 /* ExtendedRegisters[24] */
+};
+
+#define I386_WINDOWS_SIZEOF_GREGSET 716
+
+/* Return the appropriate register set for the core section identified
+ by SECT_NAME and SECT_SIZE. */
+
+static const struct regset *
+i386_windows_regset_from_core_section (struct gdbarch *gdbarch,
+ const char *sect_name, size_t sect_size)
+{
+ if (strcmp (sect_name, ".reg") == 0
+ && sect_size == I386_WINDOWS_SIZEOF_GREGSET)
+ return &i386_gregset;
+
+ return NULL;