From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 24166 invoked by alias); 3 Jun 2004 18:25:17 -0000 Mailing-List: contact gdb-patches-help@sources.redhat.com; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sources.redhat.com Received: (qmail 24153 invoked from network); 3 Jun 2004 18:25:16 -0000 Received: from unknown (HELO mx1.redhat.com) (66.187.233.31) by sourceware.org with SMTP; 3 Jun 2004 18:25:16 -0000 Received: from int-mx2.corp.redhat.com (int-mx2.corp.redhat.com [172.16.27.26]) by mx1.redhat.com (8.12.10/8.12.10) with ESMTP id i53IPGi5029075 for ; Thu, 3 Jun 2004 14:25:16 -0400 Received: from potter.sfbay.redhat.com (potter.sfbay.redhat.com [172.16.27.15]) by int-mx2.corp.redhat.com (8.11.6/8.11.6) with ESMTP id i53IPFw10389; Thu, 3 Jun 2004 14:25:15 -0400 Received: from redhat.com (dhcp-172-16-25-160.sfbay.redhat.com [172.16.25.160]) by potter.sfbay.redhat.com (8.11.6/8.11.6) with ESMTP id i53IPEP07791; Thu, 3 Jun 2004 11:25:14 -0700 Message-ID: <40BF6D09.7080909@redhat.com> Date: Thu, 03 Jun 2004 18:25:00 -0000 From: Michael Snyder Organization: Red Hat, Inc. User-Agent: Mozilla/5.0 (X11; U; Linux i686; es-ES; rv:1.4.2) Gecko/20040301 MIME-Version: 1.0 To: Orjan Friberg CC: gdb-patches@sources.redhat.com Subject: Re: Defer register reading from remote target until needed? References: <40BF22E2.7030700@axis.com> In-Reply-To: <40BF22E2.7030700@axis.com> Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit X-SW-Source: 2004-06/txt/msg00057.txt.bz2 Orjan Friberg wrote: > When single-stepping a remote target, after the stop reply paket is > sent, GDB immediately sends a request for all registers. Is there a way > to defer sending this request until some register other than what was > sent with the stop reply packet (pc, stack and frame pointer) is > actually needed? It's supposed to work that way already. Either something's broken, or some register other than the ones you named *is* needed. The 'g' pkt should only go out if gdb needs the value of a register that it doesn't already have. This can sometimes happen 'indirectly', eg. if you try to set a register, gdb may try to read it first. Try setting a breakpoint in remote_fetch_registers, then go up the stack and see what register gdb is trying to read.