From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 1018 invoked by alias); 27 May 2002 18:41:08 -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 1011 invoked from network); 27 May 2002 18:41:08 -0000 Received: from unknown (HELO branoic) (12.234.96.134) by sources.redhat.com with SMTP; 27 May 2002 18:41:08 -0000 Received: from drow by branoic with local (Exim 3.35 #1 (Debian)) id 17CPPx-0007kU-00; Mon, 27 May 2002 14:40:29 -0400 Date: Mon, 27 May 2002 12:01:00 -0000 From: Daniel Jacobowitz To: Jason R Thorpe , Michal Ludvig , GDB Patches Subject: Re: [RFC] x86-64 targeted gdb and corefiles Message-ID: <20020527184029.GA29774@branoic.them.org> Mail-Followup-To: Jason R Thorpe , Michal Ludvig , GDB Patches References: <3CF24B2A.3070305@suse.cz> <20020527111157.A22765@dr-evil.shagadelic.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20020527111157.A22765@dr-evil.shagadelic.org> User-Agent: Mutt/1.3.28i X-SW-Source: 2002-05/txt/msg00947.txt.bz2 On Mon, May 27, 2002 at 11:11:57AM -0700, Jason R Thorpe wrote: > On Mon, May 27, 2002 at 05:05:14PM +0200, Michal Ludvig wrote: > > > Hi all, > > this patch allows reading of coredumps on non-native gdb configured for > > x86-64 target. It works pretty well in this form, but I had to modify > > gregset.h, what is unwise. I know I have to move the modifications > > somewhere else, but ... where? Can someone give me an advice, please? > > Take a look at e.g. mipsnbsd-nat.c and mipsnbsd-tdep.c (I'm slowly > making all NetBSD configurations fully cross-debug'able, and MIPS > and SH are good examples of my strategy). > > As far as I'm concerned, it's simply not appropriate to be using generic > "regset" routines, because the names of those routines inherently make > them impossible to use for cross-debugging, especially in a truly multi-arch > environment (or even one as simple as "32-bit code running on x86-64"). Seconded; perhaps with all the attention cross cores have been getting lately it's time for a better framework for this? I was thinking something like: struct regset_handler { enum type regset_kind; /* general, FP, extended */ int size; void (*supply)(); void (*fetch)(); }; See gdbserver's regset handling for a more concrete example of this. This could be used to kill all the duplicate copies of core-regset.c that have made their way into i386 and powerpc tdep files. -- Daniel Jacobowitz Carnegie Mellon University MontaVista Software Debian GNU/Linux Developer