From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 24928 invoked by alias); 10 Jun 2004 19:27:11 -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 24859 invoked from network); 10 Jun 2004 19:27:09 -0000 Received: from unknown (HELO mx1.redhat.com) (66.187.233.31) by sourceware.org with SMTP; 10 Jun 2004 19:27:09 -0000 Received: from int-mx1.corp.redhat.com (int-mx1.corp.redhat.com [172.16.52.254]) by mx1.redhat.com (8.12.10/8.12.10) with ESMTP id i5AJR8i7031103 for ; Thu, 10 Jun 2004 15:27:08 -0400 Received: from localhost.redhat.com (to-dhcp51.toronto.redhat.com [172.16.14.151]) by int-mx1.corp.redhat.com (8.11.6/8.11.6) with ESMTP id i5AJR7031479; Thu, 10 Jun 2004 15:27:08 -0400 Received: from gnu.org (localhost [127.0.0.1]) by localhost.redhat.com (Postfix) with ESMTP id 0882F2B9D; Thu, 10 Jun 2004 15:27:06 -0400 (EDT) Message-ID: <40C8B609.5000704@gnu.org> Date: Thu, 10 Jun 2004 19:27:00 -0000 From: Andrew Cagney User-Agent: Mozilla/5.0 (X11; U; NetBSD macppc; en-GB; rv:1.4.1) Gecko/20040217 MIME-Version: 1.0 To: Randolph Chung Cc: gdb-patches@sources.redhat.com Subject: Re: [patch/rfc] Try to get dummy calls working on hpux again References: <20040610061234.GF561@tausq.org> In-Reply-To: <20040610061234.GF561@tausq.org> Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit X-SW-Source: 2004-06/txt/msg00237.txt.bz2 > A lot of the original code to handle dummy calls were ripped out of > hppa-tdep.c in March. This patch brings back some of that logic so that > we can start to make it work again on hpux. > > The PA has "space registers" (like segment registers on x86, sort of). > We don't use this for hppa-linux, so simply using push_dummy_call was > enough. HPUX uses it though.... > > Because the caller and callee may be in different spaces, we need to go > through some hoops to set/reset the space registers across calls. The > original code had many special cases to handle multiple targets, and > multiple function types. This only brings back some of that logic, and > it only works for 32-bit SOM at the moment. My plan is to try to fix > this incrementally rather than get it "perfect" on the first try.... Can push_dummy_call set these space registers, and the generic pop dummy frame code restore them? > this fixes calling shared library functions from inside gdb, so it > fixes quite a few test failures, but there are many more! :( > > comments? ok to check in? Andrew