From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 6824 invoked by alias); 25 Feb 2010 18:49:17 -0000 Received: (qmail 6808 invoked by uid 22791); 25 Feb 2010 18:49:16 -0000 X-SWARE-Spam-Status: No, hits=-2.5 required=5.0 tests=AWL,BAYES_00 X-Spam-Check-By: sourceware.org Received: from mail3.caviumnetworks.com (HELO mail3.caviumnetworks.com) (12.108.191.235) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Thu, 25 Feb 2010 18:49:12 +0000 Received: from caexch01.caveonetworks.com (Not Verified[192.168.16.9]) by mail3.caviumnetworks.com with MailMarshal (v6,7,2,8378) id ; Thu, 25 Feb 2010 10:49:21 -0800 Received: from caexch01.caveonetworks.com ([192.168.16.9]) by caexch01.caveonetworks.com with Microsoft SMTPSVC(6.0.3790.3959); Thu, 25 Feb 2010 10:48:12 -0800 Received: from dd1.caveonetworks.com ([12.108.191.236]) by caexch01.caveonetworks.com over TLS secured channel with Microsoft SMTPSVC(6.0.3790.3959); Thu, 25 Feb 2010 10:48:12 -0800 Message-ID: <4B86C5EB.6090303@caviumnetworks.com> Date: Thu, 25 Feb 2010 18:49:00 -0000 From: David Daney User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.1.7) Gecko/20100120 Fedora/3.0.1-1.fc12 Thunderbird/3.0.1 MIME-Version: 1.0 To: Joel Brobecker CC: gdb-patches@sourceware.org, "Pinski, Andrew" , Ralf Baechle , linux-mips Subject: Re: [PATCH] Make mips-linux signal frame unwinding more robust. References: <4B82CEC4.2010607@caviumnetworks.com> <20100225174739.GA2851@adacore.com> In-Reply-To: <20100225174739.GA2851@adacore.com> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-IsSubscribed: yes Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org X-SW-Source: 2010-02/txt/msg00630.txt.bz2 On 02/25/2010 09:47 AM, Joel Brobecker wrote: >> This patch makes gdb follow suit and find the sigcontext_base using >> the signal frame's SP rather than an offset from the trampoline. > > Is there a document that explains that the sigcontext structure is > always going to be at the frame's SP? No official document, however the principle of maintaining binary compatibility is important, and recognized by the kernel maintainers. There are several things that constrain the the changes that can be made in the kernel: 1) The glibc setcontext API as discussed here: http://www.linux-mips.org/cgi-bin/mesg.cgi?a=linux-mips&i=alpine.DEB.1.10.0902282326580.4064%40tp.orcam.me.uk 2) libgcc's unwinder: http://gcc.gnu.org/viewcvs/trunk/gcc/config/mips/linux-unwind.h?revision=145841&view=markup > > I don't know mips-linux, but something looked funny to me: You avoid > the use of SIGFRAME_CODE_OFFSET to compute the address where the sigcontext > structure is located, but you still use it to compute the frame base > address (used when building the frame ID). Is the frame base address > still a constant offset from FUNC, or does the frame ID base address > also needs to be changed. Right, I missed that part. When it started working, I stopped patching. I will take another look at that part. > > I believe that Daniel J has a good knowledge of mips-linux, and would be > an ideal reviewer. If he doesn't have time, though, I'm OK with approving > a patch for the HEAD branch. For the 7.1 branch, though, I'd rather have > a more knowledgeable opinion. > Thanks, David Daney