From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 15719 invoked by alias); 20 Jul 2005 17:09:10 -0000 Mailing-List: contact gdb-help@sources.redhat.com; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-owner@sources.redhat.com Received: (qmail 15702 invoked by uid 22791); 20 Jul 2005 17:09:06 -0000 Received: from sadr.equallogic.com (HELO sadr.equallogic.com) (66.155.203.134) by sourceware.org (qpsmtpd/0.30-dev) with ESMTP; Wed, 20 Jul 2005 17:09:06 +0000 Received: from sadr.equallogic.com (localhost.localdomain [127.0.0.1]) by sadr.equallogic.com (8.12.8/8.12.8) with ESMTP id j6KH94Zb011868 for ; Wed, 20 Jul 2005 13:09:05 -0400 Received: from M31.equallogic.com (M31.equallogic.com [172.16.1.31]) by sadr.equallogic.com (8.12.8/8.12.8) with SMTP id j6KH94Nd011863; Wed, 20 Jul 2005 13:09:04 -0400 Received: from pkoning.equallogic.com ([172.16.1.163]) by M31.equallogic.com with Microsoft SMTPSVC(6.0.3790.211); Wed, 20 Jul 2005 13:09:04 -0400 MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Message-ID: <17118.34095.8510.304158@gargle.gargle.HOWL> Date: Wed, 20 Jul 2005 17:09:00 -0000 From: Paul Koning To: drow@false.org Cc: gdb@sources.redhat.com Subject: Re: find_pc_partial_function may produce the wrong answer References: <17118.24446.528000.56862@gargle.gargle.HOWL> <20050720143326.GA31003@nevyn.them.org> X-SW-Source: 2005-07/txt/msg00212.txt.bz2 >>>>> "Daniel" == Daniel Jacobowitz writes: Daniel> Is the shared library stripped? I am absolutely positive Daniel> that the minimal symbol table will include the static symtab Daniel> - as long as there is one. Found the problem. The NetBSD build procedure for libraries has a rather peculiar compile step, which includes running the file through ld with a -x switch. That will do it... It's not supposed to do that if a -g is present in the compile options; that may be an error in the top level build process at our end. That does leave this puzzle: Given such a shared library (no local symbols in the symtab), "disassemble somestaticfunc" works fine if I open the shared lib itself with gdb. But if the shared lib is referenced via the shared lib symbol load machinery, for example because a corefile pointed to it, then the same disassemble command doesn't work. It looks like the code in blockframe.c that pulls in the psymtab to double-check the function (if an end address was requested) doesn't work in that second case. Does that make sense? paul