From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 7177 invoked by alias); 17 Feb 2002 15:53:49 -0000 Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org Received: (qmail 6946 invoked from network); 17 Feb 2002 15:53:45 -0000 Received: from unknown (HELO cygnus.com) (205.180.230.5) by sources.redhat.com with SMTP; 17 Feb 2002 15:53:45 -0000 Received: from porcupine.cygnus.com (cse.cygnus.com [205.180.230.236]) by runyon.cygnus.com (8.8.7-cygnus/8.8.7) with ESMTP id HAA05251 for ; Sun, 17 Feb 2002 07:53:41 -0800 (PST) Received: from porcupine.cygnus.com (law@localhost) by porcupine.cygnus.com (8.11.6/8.11.6) with ESMTP id g1HFucl26237; Sun, 17 Feb 2002 08:56:38 -0700 X-Mailer: exmh version 2.4 06/23/2000 with nmh-1.0.4 To: "John David Anglin" cc: gcc-patches@gcc.gnu.org Subject: Re: Don't use lib2funcs.asm on PA Reply-To: law@redhat.com From: law@redhat.com In-reply-to: Your message of Sat, 16 Feb 2002 19:51:04 EST. <200202170051.g1H0p51Z009585@hiauly1.hia.nrc.ca> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Date: Sun, 17 Feb 2002 09:02:00 -0000 Message-ID: <26236.1013961397@porcupine.cygnus.com> X-SW-Source: 2002-02/txt/msg01129.txt.bz2 In message <200202170051.g1H0p51Z009585@hiauly1.hia.nrc.ca>, "John David Anglin " writes: > > Correct. It's needed for inferior function calls. > > I had hoped to get rid of it since it's one of those nasty milli routines. > Inferior calls don't seem to work with gdb under hppa-linux if I understand > correctly. For example if I type "p func ()", gdb just crashes. I also > can't step into functions although single stepping does work. So, maybe > this function is needed with linux? It is needed for hpux only, it should not be needed for linux. It was created because the HP dynamic linker has some sanity checks in it to verify that a return address is actually within a mapped text segment. These checks triggered when doing an inferior call from gdb into routines in shared libraries (such as malloc) because the inferior call trampoline lives on the stack (so the return address is actually a stack location). So we created __gcc_plt_call which we arrange to link into every binary compiled with GCC, thus providing us with a location in a mapped text segment that we can use for inferior function calls. hppa-linux's dynamic linker likely doesn't have the silly sanity checks and thus shouldn't need __gcc_plt_call. As to why inferior calls don't work -- no clue. You might ask Alan M. how much GDB stuff was working for PA-linux when he left Linuxcare. I can tell you that getting inferior calls to work on the PA is a major PITA. > At the moment, I am trying to get frame notes working. I am still trying > to find out how to handle parallels. The suggestion from Olivier Hainque > didn't seem to work. The stack frame adjustment still isn't getting > recorded correctly so it seems. I believe that ARG_POINTER_CFA_OFFSET(FNDEC > L) Hmmm, there is some specific magic to deal with PARALLELS on prologue insns. I think you set RTX_FRAME_RELATED_P on the PARALLEL and each item within the PARALLEL. Or something like that. You can probably find an example in one of the other target config files. jeff