From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 29171 invoked by alias); 30 Nov 2001 14:51:29 -0000 Mailing-List: contact gdb-patches-help@sourceware.cygnus.com; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sources.redhat.com Received: (qmail 28124 invoked from network); 30 Nov 2001 14:49:57 -0000 Received: from unknown (HELO cerbere.u-strasbg.fr) (130.79.112.7) by hostedprojects.ges.redhat.com with SMTP; 30 Nov 2001 14:49:57 -0000 Received: from laocoon (laocoon.u-strasbg.fr [130.79.112.72]) by cerbere.u-strasbg.fr (8.9.3/8.8.7) with ESMTP id PAA09810 for ; Fri, 30 Nov 2001 15:49:56 +0100 Message-ID: <4.2.0.58.20011130154628.00aca598@ics.u-strasbg.fr> X-Sender: muller@ics.u-strasbg.fr X-Mailer: QUALCOMM Windows Eudora Pro Version 4.2.0.58 Date: Wed, 21 Nov 2001 15:12:00 -0000 To: gdb-patches From: Pierre Muller Subject: [RFA] correct XMM register positions for win32. Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" X-SW-Source: 2001-11/txt/msg00394.txt.bz2 Message-ID: <20011121151200.2S8DKMRS-mF1bTO3SRRB39NXIjXJzYHpCTr1mgWhoGA@z> Thanks to Momchil Velikov, Windows seems indeed to use FXSAVE assemlber instruction to fill the ExtendedRegisters array. The same instruction with the same layout seems to be used by the Pentium clones (at least for AMD). Thus the offset changed below are now tested and conform to the FXSAVE instruction. 2001-11-30 Pierre Muller * win32-nat.c (mappings): Correct position of XMM registers, based on FXSAVE instruction structure. Index: win32-nat.c =================================================================== RCS file: /cvs/src/src/gdb/win32-nat.c,v retrieving revision 1.40 diff -r1.40 win32-nat.c 182,191c182,191 < context_offset (ExtendedRegisters[0*16]), < context_offset (ExtendedRegisters[1*16]), < context_offset (ExtendedRegisters[2*16]), < context_offset (ExtendedRegisters[3*16]), < context_offset (ExtendedRegisters[4*16]), < context_offset (ExtendedRegisters[5*16]), < context_offset (ExtendedRegisters[6*16]), < context_offset (ExtendedRegisters[7*16]), < /* MXCSR untested */ < context_offset (ExtendedRegisters[8*16]) --- > context_offset (ExtendedRegisters[10*16]), > context_offset (ExtendedRegisters[11*16]), > context_offset (ExtendedRegisters[12*16]), > context_offset (ExtendedRegisters[13*16]), > context_offset (ExtendedRegisters[14*16]), > context_offset (ExtendedRegisters[15*16]), > context_offset (ExtendedRegisters[16*16]), > context_offset (ExtendedRegisters[17*16]), > /* MXCSR */ > context_offset (ExtendedRegisters[24]) Pierre Muller Institut Charles Sadron 6,rue Boussingault F 67083 STRASBOURG CEDEX (France) mailto:muller@ics.u-strasbg.fr Phone : (33)-3-88-41-40-07 Fax : (33)-3-88-41-40-99