From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 26877 invoked by alias); 5 Apr 2006 07:07:43 -0000 Received: (qmail 26723 invoked by uid 22791); 5 Apr 2006 07:07:41 -0000 X-Spam-Check-By: sourceware.org Received: from dsl027-180-168.sfo1.dsl.speakeasy.net (HELO sunset.davemloft.net) (216.27.180.168) by sourceware.org (qpsmtpd/0.31) with ESMTP; Wed, 05 Apr 2006 07:07:40 +0000 Received: from localhost ([127.0.0.1] ident=davem) by sunset.davemloft.net with esmtp (Exim 4.60) (envelope-from ) id 1FR266-00036d-Qn; Wed, 05 Apr 2006 00:06:34 -0700 Date: Wed, 05 Apr 2006 07:07:00 -0000 Message-Id: <20060405.000621.41243752.davem@davemloft.net> To: drow@false.org CC: gdb@sources.redhat.com Subject: core regs vs. proc-service regs mess From: "David S. Miller" Mime-Version: 1.0 Content-Type: Text/Plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-IsSubscribed: yes Mailing-List: contact gdb-help@sourceware.org; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-owner@sourceware.org X-SW-Source: 2006-04/txt/msg00030.txt.bz2 In trying to get core files working properly again on Linux/Sparc and Daniel I now see the problems you referred to the other day. What we have currently on Linux/Sparc is: 1) ptrace() interfaces have one layout for regsets 2) ELF core files store regsets in a different format Now proc-service.c wants fill_gregset() et al. to provide things in the ptrace() style layout, that is what libthread_db expects under Linux. But linux_nat_make_corefile_notes() expects the fill_gregset() et al. to provide ELF core file format registers. This is completely contradictory, and I don't have any idea how to cleanly resolve this outside of duplicating the entirety of linux_nat_make_corefile_notes() on Linux/Sparc which is silly. Daniel any ideas? :-) Maybe we can have a "linux_tdep" struct where we can place a "->to_fill_core_gregset()" type method or similar?