From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 9523 invoked by alias); 7 May 2005 16:04:14 -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 9495 invoked from network); 7 May 2005 16:04:10 -0000 Received: from unknown (HELO sibelius.xs4all.nl) (82.92.89.47) by sourceware.org with SMTP; 7 May 2005 16:04:10 -0000 Received: from elgar.sibelius.xs4all.nl (root@elgar.sibelius.xs4all.nl [192.168.0.2]) by sibelius.xs4all.nl (8.13.0/8.13.0) with ESMTP id j47G3uat013986; Sat, 7 May 2005 18:03:56 +0200 (CEST) Received: from elgar.sibelius.xs4all.nl (kettenis@localhost.sibelius.xs4all.nl [127.0.0.1]) by elgar.sibelius.xs4all.nl (8.13.4/8.13.3) with ESMTP id j47G3uYU002090; Sat, 7 May 2005 18:03:56 +0200 (CEST) Received: (from kettenis@localhost) by elgar.sibelius.xs4all.nl (8.13.4/8.13.4/Submit) id j47G3tuc030771; Sat, 7 May 2005 18:03:55 +0200 (CEST) Date: Sat, 07 May 2005 16:04:00 -0000 Message-Id: <200505071603.j47G3tuc030771@elgar.sibelius.xs4all.nl> From: Mark Kettenis To: drow@false.org CC: gdb@sourceware.org In-reply-to: <20050506162029.GA30792@nevyn.them.org> (message from Daniel Jacobowitz on Fri, 6 May 2005 12:20:29 -0400) Subject: Re: RFC: Available registers as a target property References: <20050506162029.GA30792@nevyn.them.org> X-SW-Source: 2005-05/txt/msg00091.txt.bz2 Hi Daniel, Your proposal sounds reasonable to me. Do I understand correctly that the "set" keyword is supposed to be used to specify the contents of the `g' packet, or is there a somewhat broader use for them? Anyway, here are some random thoughts about things we might need to consider. It's a bit i386 centric, the issues mostly are not. * Is this going to allow us to make changes freely to the internal layout of GDB's register cache? * How will we treat registers that the user might reasonably expect to be there, but aren't made available by the target? FreeBSD/i386 for example still has no way to get at the SSE registers, but has no problem executing code that uses its registers. What do we do when the user says "print $xmm0" when connected to a FreeBSD/i386 target? Do we print: (gdb) p $xmm0 $1 = void or are we going to try to print a more helpful message for well-known-but-unavailable registers? * What do we do with pseudo registers? The ia32 MMX registers are optional pseudo registers; they reinterpret the floating-point registers in a particular way. As such they won't be transmitted between the target and GDB. Yet it would be nice if we had a mechanism for the target to indicate whether MMX is available such that GDB knows if it should display the MMX registers or not. * How does this interact with register groups? Do we need a mechanism to indicate the register group to which a register belongs, or is the default register group behaviour good enough? Mark