From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 1668 invoked by alias); 20 Apr 2010 19:43:08 -0000 Received: (qmail 1657 invoked by uid 22791); 20 Apr 2010 19:43:06 -0000 X-SWARE-Spam-Status: No, hits=-1.9 required=5.0 tests=BAYES_00,T_RP_MATCHES_RCVD X-Spam-Check-By: sourceware.org Received: from sibelius.xs4all.nl (HELO glazunov.sibelius.xs4all.nl) (83.163.83.176) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Tue, 20 Apr 2010 19:43:00 +0000 Received: from glazunov.sibelius.xs4all.nl (kettenis@localhost [127.0.0.1]) by glazunov.sibelius.xs4all.nl (8.14.3/8.14.3) with ESMTP id o3KJgufU019779 for ; Tue, 20 Apr 2010 21:42:56 +0200 (CEST) Received: (from kettenis@localhost) by glazunov.sibelius.xs4all.nl (8.14.3/8.14.3/Submit) id o3KJgtMB025587; Tue, 20 Apr 2010 21:42:55 +0200 (CEST) Date: Tue, 20 Apr 2010 19:43:00 -0000 Message-Id: <201004201942.o3KJgtMB025587@glazunov.sibelius.xs4all.nl> From: Mark Kettenis To: gdb-patches@sourceware.org Subject: [PATCH] Fix Linux/i386 register set size Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org X-SW-Source: 2010-04/txt/msg00638.txt.bz2 Should be 68. Confusion is probably caused by the fact that the note size is 144, and that the amd64 register set is also 144. The fact that the GDB gcore produces wrong core files in the 32x64 case doesn't help either. Committed. 2010-04-20 Mark Kettenis * i386-linux-tdep.c (i386_linux_regset_sections): Size of the general-purpose register set should be 68 instead of 144. (i386_linux_sse_regset_sections): Likewise. (i386_linux_avx_regset_sections): Likewise. Index: i386-linux-tdep.c =================================================================== RCS file: /cvs/src/src/gdb/i386-linux-tdep.c,v retrieving revision 1.75 diff -u -p -r1.75 i386-linux-tdep.c --- i386-linux-tdep.c 13 Apr 2010 21:07:16 -0000 1.75 +++ i386-linux-tdep.c 20 Apr 2010 19:26:04 -0000 @@ -56,21 +56,21 @@ /* Supported register note sections. */ static struct core_regset_section i386_linux_regset_sections[] = { - { ".reg", 144, "general-purpose" }, + { ".reg", 68, "general-purpose" }, { ".reg2", 108, "floating-point" }, { NULL, 0 } }; static struct core_regset_section i386_linux_sse_regset_sections[] = { - { ".reg", 144, "general-purpose" }, + { ".reg", 68, "general-purpose" }, { ".reg-xfp", 512, "extended floating-point" }, { NULL, 0 } }; static struct core_regset_section i386_linux_avx_regset_sections[] = { - { ".reg", 144, "general-purpose" }, + { ".reg", 68, "general-purpose" }, { ".reg-xstate", I386_XSTATE_MAX_SIZE, "XSAVE extended state" }, { NULL, 0 } };