From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 4061 invoked by alias); 28 Apr 2004 15:54:49 -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 4029 invoked from network); 28 Apr 2004 15:54:48 -0000 Received: from unknown (HELO mx1.redhat.com) (66.187.233.31) by sources.redhat.com with SMTP; 28 Apr 2004 15:54:48 -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 i3SFsmKI027677 for ; Wed, 28 Apr 2004 11:54:48 -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 i3SFslv07613; Wed, 28 Apr 2004 11:54:48 -0400 Received: from gnu.org (localhost [127.0.0.1]) by localhost.redhat.com (Postfix) with ESMTP id 1FD432B9D; Wed, 28 Apr 2004 11:54:51 -0400 (EDT) Message-ID: <408FD3CA.1080500@gnu.org> Date: Wed, 28 Apr 2004 15:54: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 , Joel Brobecker Cc: gdb-patches@sources.redhat.com Subject: Re: [patch/rfa] hppa-linux target, 2nd try References: <20040424192614.GD2923@tausq.org> <20040425002520.GP2811@gnat.com> <20040425003004.GH2923@tausq.org> In-Reply-To: <20040425003004.GH2923@tausq.org> Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit X-SW-Source: 2004-04/txt/msg00632.txt.bz2 >>> I actually started looking at that about 10 days ago, but it is hard for >>> me to figure out what is going wrong, because I don't know too well the >>> machinery for calling functions inside shared libraries. And then I got >>> pre-empted by something else. > > > ah, ok :) > > the problem seems to be that gdb wants to jump directly to the malloc() > (or whatever) shared lib function, whereas normally to do a shlib call > you have to go through the import stub/plt (so that the r19/dp are > set correctly).... not sure how to do that in gdb. Two^D^D^Dthree^D^D^D^Dfour FYIs, On some GNU/Linux systems, GDB is know to call the wrong "malloc", there's apparently one in crt0. The bug is in the shlib symbol lookup code not mimicing the shlib symbol lookup semantics. There's NAME_OF_MALLOC in the architecture vector, it might help. There was talk of parameterizing the inferior function call code with the full function symbol (and not just it's parameters) so that alternative abi's could be handled. That doesn't seem to have got very far :-( The 64-bit SVR4 PPC ABI code sets the DP register, see the tail end of ppc64_sysv_abi_push_dummy_call. Andrew >>> It's something that's on my reasonably-near-future list. > > > cool, thanks. > > randolph > -- Randolph Chung Debian GNU/Linux Developer, hppa/ia64 ports http://www.tausq.org/