From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 3484 invoked by alias); 13 Aug 2002 22:21:03 -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 3475 invoked from network); 13 Aug 2002 22:21:02 -0000 Received: from unknown (HELO localhost.redhat.com) (216.138.202.10) by sources.redhat.com with SMTP; 13 Aug 2002 22:21:02 -0000 Received: from ges.redhat.com (localhost [127.0.0.1]) by localhost.redhat.com (Postfix) with ESMTP id 6BB973D39; Tue, 13 Aug 2002 18:21:00 -0400 (EDT) Message-ID: <3D59864C.7080704@ges.redhat.com> Date: Tue, 13 Aug 2002 15:21:00 -0000 From: Andrew Cagney User-Agent: Mozilla/5.0 (X11; U; NetBSD macppc; en-US; rv:1.0.0) Gecko/20020810 X-Accept-Language: en-us, en MIME-Version: 1.0 To: Mark Kettenis Cc: gdb-patches@sources.redhat.com Subject: Re: [rfa:i386] Add mmx registers References: <3D55A89F.9040300@ges.redhat.com> <867kiwkky6.fsf@elgar.kettenis.dyndns.org> <3D5805BF.2050409@ges.redhat.com> <3D591939.1020706@ges.redhat.com> <200208132139.g7DLdDnd026621@elgar.kettenis.dyndns.org> <3D598055.1000308@ges.redhat.com> <200208132210.g7DMA1bT034834@elgar.kettenis.dyndns.org> Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit X-SW-Source: 2002-08/txt/msg00332.txt.bz2 > Date: Tue, 13 Aug 2002 17:55:33 -0400 > From: Andrew Cagney > > > + set_gdbarch_pseudo_register_read (gdbarch, i386_pseudo_register_read); > > + set_gdbarch_pseudo_register_write (gdbarch, i386_pseudo_register_write); > > > > changes the i386 target's register cache from "legacy" to "new". This > > means that there isn't room for the pseudo registers in > > register_valid_p, yet registers_changed() tries to frob the entries > > for the pseudo registers. > > > > I don't see an obvious way to fix this. Any bright ideas Andrew? > > Hmm, yes. It should be clearing: > [0 .. current_regcache->descr->nr_raw_registers) > > Clearing the pseudo registers isn't necessary on targets that still > use the legacy stuff? Shh! nr_raw_registers == number of raw registers in the register cache == NUM_REGS + NUM_PSEUDO_REGS on legacy targets. Just don't tell anyone M'kay ;-) /* FIXME: cagney/2002-05-11: Shouldn't be including pseudo-registers in the register buffer. Unfortunatly some architectures do. */ descr->nr_cooked_registers = NUM_REGS + NUM_PSEUDO_REGS; descr->nr_raw_registers = descr->nr_cooked_registers; descr->sizeof_raw_register_valid_p = descr->nr_cooked_registers; Andrew