From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 13316 invoked by alias); 22 Jan 2002 21:57:58 -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 13277 invoked from network); 22 Jan 2002 21:57:55 -0000 Received: from unknown (HELO cygnus.com) (205.180.230.5) by sources.redhat.com with SMTP; 22 Jan 2002 21:57:55 -0000 Received: from cse.cygnus.com (cse.sfbay.redhat.com [205.180.230.236]) by runyon.cygnus.com (8.8.7-cygnus/8.8.7) with ESMTP id NAA17264; Tue, 22 Jan 2002 13:57:47 -0800 (PST) Received: (from kev@localhost) by cse.cygnus.com (8.11.6/8.11.6) id g0MLv3B06623; Tue, 22 Jan 2002 14:57:03 -0700 Date: Tue, 22 Jan 2002 13:57:00 -0000 From: Kevin Buettner Message-Id: <1020122215702.ZM6622@localhost.localdomain> In-Reply-To: Piet/Pete Delaney "Re: ia64-stub.c" (Jan 22, 12:51pm) References: <20020121010007.C54701@sgi.com> <1020121214310.ZM2318@localhost.localdomain> <20020122105652.A57552@sgi.com> <1020122190037.ZM5902@localhost.localdomain> <20020122121956.B57552@sgi.com> <20020122125127.A57796@sgi.com> X-Mailer: Z-Mail (4.0.1 13Jan97 Caldera) To: Piet/Pete Delaney , Kevin Buettner Subject: Re: ia64-stub.c Cc: gdb@sources.redhat.com MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-SW-Source: 2002-01/txt/msg00249.txt.bz2 On Jan 22, 12:51pm, Piet/Pete Delaney wrote: > I expected them to be offsets into the registers stored in memory in the > order specified by the ia64_register_names[] array in gdb/ia64-tdep.c. See u_offsets[] in gdbserver/low-linux.c. These are the offsets needed by the ptrace() operations PTRACE_PEEKUSER / PTRACE_POKEUSER. I haven't tried it in a while, so these offsets may need some updating. (They ought to match the offsets found in ia64-linux-nat.c.) > I was also wondering if the macro REGISTER_RAW_SIZE in gdb/config/ia64/tm-ia64.h > is correct. It's saying that all registers other that the floating point are 8 bytes > long. The macro in question is defined that way for gdbserver. Note that the IA-64 target is multiarched and that the only definition that GDB uses from config/ia64/tm-ia64.h is: #define GDB_MULTI_ARCH 1 Anyway, REGISTER_RAW_SIZE is about a correct as it can be for gdbserver. > I thought I read that the predict registers p0..p63 are 1 bit and packed into > a single 64 bit chunk of memory. They're packed into the pr register. ia64-tdep.c knows how to unpack this register to give you discreet p0..p63 registers. (Note that from GDB's standpoint these registers are read-only. A bit of work still needs to be done to make them writable too.) > I was wondering if by passing all of the registers in > the ia64_register_names I was passing to much and clobbering some data structures. It's possible. I seem to remember fixing something like this when I was using it. It could be that it's broken again. > When > I use the gdb info registers cmd it seems to know the values in first 31 registers from > my response to the 'g' cmd but then tries to access memory for the rest. This is correct. > The memory location > it's trys to access is an offset from the values it receives for the first 31 registers. That's not right. It should be an offset from bsp. Kevin