From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 21839 invoked by alias); 14 Dec 2003 15:34:44 -0000 Mailing-List: contact gdb-help@sources.redhat.com; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-owner@sources.redhat.com Received: (qmail 21832 invoked from network); 14 Dec 2003 15:34:42 -0000 Received: from unknown (HELO walton.kettenis.dyndns.org) (213.93.115.144) by sources.redhat.com with SMTP; 14 Dec 2003 15:34:42 -0000 Received: from elgar.kettenis.dyndns.org (elgar.kettenis.dyndns.org [192.168.0.2]) by walton.kettenis.dyndns.org (8.12.6p3/8.12.6) with ESMTP id hBEFYYmb001711; Sun, 14 Dec 2003 16:34:34 +0100 (CET) (envelope-from kettenis@elgar.kettenis.dyndns.org) Received: from elgar.kettenis.dyndns.org (localhost [127.0.0.1]) by elgar.kettenis.dyndns.org (8.12.6p3/8.12.6) with ESMTP id hBEFYYCq008846; Sun, 14 Dec 2003 16:34:34 +0100 (CET) (envelope-from kettenis@elgar.kettenis.dyndns.org) Received: (from kettenis@localhost) by elgar.kettenis.dyndns.org (8.12.6p3/8.12.6/Submit) id hBEFYXZQ008843; Sun, 14 Dec 2003 16:34:33 +0100 (CET) Date: Sun, 14 Dec 2003 15:34:00 -0000 Message-Id: <200312141534.hBEFYXZQ008843@elgar.kettenis.dyndns.org> From: Mark Kettenis To: jimb@redhat.com CC: gdb@sources.redhat.com In-reply-to: (message from Jim Blandy on 13 Dec 2003 13:46:40 -0500) Subject: Re: [RFC] i386 SSE registers References: <200312121706.hBCH6mIh011419@elgar.kettenis.dyndns.org> X-SW-Source: 2003-12/txt/msg00200.txt.bz2 From: Jim Blandy Date: 13 Dec 2003 13:46:40 -0500 I'm not sure I understand how the various options you list would appear to the user. It sounds like, in any proposal, the SSE registers would just have bogus values when they're not available. Yup. It's either 1a. All zeroes. 1b. All zeroes, but preserving any explicit (but otherwise pointless) changes made by the user. 2. Some faked values (presumably corresponding to a freshly initialized CPU). Is there some way that the SSE regs could instead cease to exist (i.e. "print $xmm0" would give you a void value, 'info regi sse' would give you an error message)? Or is there some other non-invasive behavior which would make it clearer to the user what was going on? You can't solve this via the architecture vector I think. It's possible to use the same GDB and use it to debug a program on a machine without SSE and then later on a machine with SSE. What we could do is add a per-register flag to the register cache that says whether a register is actually present or not. But that's quite a bit of work I guess. Don't think we should think about doing something like that before the legacy stuff has been eradicated. Mark