From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 5067 invoked by alias); 3 Aug 2007 14:18:51 -0000 Received: (qmail 5056 invoked by uid 22791); 3 Aug 2007 14:18:50 -0000 X-Spam-Status: No, hits=-2.2 required=5.0 tests=AWL,BAYES_00,DK_POLICY_SIGNSOME,FORGED_RCVD_HELO,SPF_HELO_PASS,SPF_PASS,TW_FP,TW_PX X-Spam-Check-By: sourceware.org Received: from mx1.redhat.com (HELO mx1.redhat.com) (66.187.233.31) by sourceware.org (qpsmtpd/0.31) with ESMTP; Fri, 03 Aug 2007 14:18:46 +0000 Received: from int-mx1.corp.redhat.com (int-mx1.corp.redhat.com [172.16.52.254]) by mx1.redhat.com (8.13.1/8.13.1) with ESMTP id l73EIgiw002508; Fri, 3 Aug 2007 10:18:42 -0400 Received: from pobox.hsv.redhat.com (pobox.hsv.redhat.com [172.16.16.12]) by int-mx1.corp.redhat.com (8.13.1/8.13.1) with ESMTP id l73EIfaZ012727; Fri, 3 Aug 2007 10:18:41 -0400 Received: from localhost.localdomain (vpn-14-158.rdu.redhat.com [10.11.14.158]) by pobox.hsv.redhat.com (8.12.11.20060308/8.12.11) with ESMTP id l73EIeum001347; Fri, 3 Aug 2007 10:18:41 -0400 Message-ID: <46B33940.6000005@redhat.com> Date: Fri, 03 Aug 2007 14:18:00 -0000 From: Phil Muldoon User-Agent: Thunderbird 2.0.0.5 (X11/20070719) MIME-Version: 1.0 To: Mark Wielaard CC: frysk@sourceware.org Subject: Re: Make CoredumpAction use Task.getRegisterBanks() References: <1185814384.3674.36.camel@dijkstra.wildebeest.org> <46AE238B.5020204@redhat.com> <1185883408.3653.106.camel@dijkstra.wildebeest.org> <46AFD351.6030004@redhat.com> <1186043315.15044.46.camel@dijkstra.wildebeest.org> In-Reply-To: <1186043315.15044.46.camel@dijkstra.wildebeest.org> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-IsSubscribed: yes Mailing-List: contact frysk-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Post: List-Help: , Sender: frysk-owner@sourceware.org X-SW-Source: 2007-q3/txt/msg00266.txt.bz2 Mark Wielaard wrote: > > Thanks. So this seems slightly different from how we do things with > ptrace/proc where we can have multiple different register banks (for > floating point, extended floating point and control/debug registers). We > might be able to always just use the USR address space to get at all of > those together in one go (I don't actually know why we don't do that, or > why ptrace provides different ways to access the same register sets). > > Apologies for the delay in replying. For the FP and fpxregs (which I am writing code for right now), I just take the entire register buffer and dump it wholesale into the appropriate note in the core file. For GP registers there are some cross-isa issues (mainly in PPC) that require the code to pick them individually, sort them into order, them populate them as part of another note, the elf_prstatus note. This is an important distinction as GP registers do not have their own separate note area in core files, but are part of the thread elf_prstatus note. That is why both raw memory banks, and getRegisterByName are needed. > If we can match up the raw memory for each register bank between > ptrace/proc and core files from Task that would be ideal. Then the Isa > can just do the getRegisterByName() mapping. I'll watch your rewrite of > the core file stuff and see if this makes things easier and clearer (I > guess it will). > The two requirements needed for core files are: 1) Access to the raw memory behind the register via a ByteBuffer 2) Access to a logical method of getting registers by name, like getRegisterByName() Regards Phil