From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 15177 invoked by alias); 4 Mar 2010 21:47:38 -0000 Received: (qmail 15161 invoked by uid 22791); 4 Mar 2010 21:47:37 -0000 X-SWARE-Spam-Status: No, hits=-2.5 required=5.0 tests=AWL,BAYES_00 X-Spam-Check-By: sourceware.org Received: from mail.codesourcery.com (HELO mail.codesourcery.com) (38.113.113.100) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Thu, 04 Mar 2010 21:47:34 +0000 Received: (qmail 20034 invoked from network); 4 Mar 2010 21:47:32 -0000 Received: from unknown (HELO caradoc.them.org) (dan@127.0.0.2) by mail.codesourcery.com with ESMTPA; 4 Mar 2010 21:47:32 -0000 Date: Thu, 04 Mar 2010 21:47:00 -0000 From: Daniel Jacobowitz To: "H.J. Lu" Cc: GDB Subject: Re: PATCH: 1/6: Add AVX support Message-ID: <20100304214723.GA2817@caradoc.them.org> Mail-Followup-To: "H.J. Lu" , GDB References: <20100304180219.GA10826@intel.com> <20100304190934.GB15979@caradoc.them.org> <6dc9ffc81003041129i72a8a79bn66721fecc7b6a83b@mail.gmail.com> <20100304194645.GA20453@caradoc.them.org> <6dc9ffc81003041327m379c6903g571f4d66aac8d61a@mail.gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <6dc9ffc81003041327m379c6903g571f4d66aac8d61a@mail.gmail.com> User-Agent: Mutt/1.5.20 (2009-06-14) 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-03/txt/msg00217.txt.bz2 On Thu, Mar 04, 2010 at 01:27:09PM -0800, H.J. Lu wrote: > > No, it will fail to display SSE.  Core debugging should still be > > possible, and the newly added registers will be visible too.  If > > that's not the case, fix GDB to function with the SSE registers > > missing. > > Your description only works for truly NEW registers, which > AVX registers aren't. AVX registers are actually the old SSE > registers with different names. I'm trying to get you to think about compatibility in the descriptions, instead of separately in the remote protocol. There are always ways to solve it. For instance, you could present both the AVX registers and the hypothetical newer, larger registers as separate things. As long as the P packet is implemented, which it is, GDB should work OK if modifying one register changes another. I don't know if there's an example of this in the GDB sources, but I have one in my tree; there's $sp, $sp_user, and $sp_system registers, and $sp is the same as one of the other two depending on processor mode. But they're all visible. Another solution is to define new registers which correspond to the added bits, and have a sufficiently recent GDB synthesize the combined registers from the AVX registers and the new bits. This, for instance, is how the Power E500 registers are handled (rs6000/power-spe.xml). -- Daniel Jacobowitz CodeSourcery