From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 10319 invoked by alias); 20 Feb 2003 20:00: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 10283 invoked from network); 20 Feb 2003 20:00:09 -0000 Received: from unknown (HELO crack.them.org) (65.125.64.184) by 172.16.49.205 with SMTP; 20 Feb 2003 20:00:09 -0000 Received: from nevyn.them.org ([66.93.61.169] ident=mail) by crack.them.org with asmtp (Exim 3.12 #1 (Debian)) id 18lyki-0001aK-00; Thu, 20 Feb 2003 16:01:12 -0600 Received: from drow by nevyn.them.org with local (Exim 3.36 #1 (Debian)) id 18lwrV-0005R2-00; Thu, 20 Feb 2003 15:00:05 -0500 Date: Thu, 20 Feb 2003 20:00:00 -0000 From: Daniel Jacobowitz To: Kris Warkentin Cc: Kevin Buettner , gdb@sources.redhat.com Subject: Re: GDB honouring RPATH in binaries. Message-ID: <20030220200005.GA20874@nevyn.them.org> Mail-Followup-To: Kris Warkentin , Kevin Buettner , gdb@sources.redhat.com References: <0db801c2d914$78f80a50$0202040a@catdog> <1030220193301.ZM10611@localhost.localdomain> <20030220194049.GA19653@nevyn.them.org> <001301c2d918$894ef1d0$0202040a@catdog> <20030220194852.GA20424@nevyn.them.org> <002701c2d919$d07edce0$0202040a@catdog> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <002701c2d919$d07edce0$0202040a@catdog> User-Agent: Mutt/1.5.1i X-SW-Source: 2003-02/txt/msg00440.txt.bz2 On Thu, Feb 20, 2003 at 02:54:01PM -0500, Kris Warkentin wrote: > > On Thu, Feb 20, 2003 at 02:44:52PM -0500, Kris Warkentin wrote: > > > > Question: when do we need to find shared libraries that we can't use a > > > > full path + solib-absolute-prefix, where RPATH would be in the least > > > > useful? RPATH only matters when you have multiple places you could > > > > find the library and are interested in which one you got; if there is > a > > > > mapping between target and host filesystems, it should be > > > > solib-absolute-prefix only. > > > > > > > > We generally get full pathnames of loaded modules from the dynamic > > > > linker, and use that. Is this a problem for QNX? > > > > > > In the remote case I suppose it is. The linker on the remote will have > > > loaded /lib/libc.so.2 or some such but on the host, that will be > > > $QNX_TARGET/$CPU/lib/libc.so.2. Hence solib-absolute-prefix being set > to > > > $QNX_TARGET/$CPU. I'm just looking for better ways to get this all to > work > > > together with a minimum of fuss for the end user. > > > > I guess I don't see the problem. If we have solib-absolute-prefix set, > > and we retrieve the string "/lib/libc.so.2" from the remote target... > > You're preaching to the choir. ;-) I'm just trying to form an intelligent > argument for those in my company who want to use RPATH. In solib_open(), we > search the inferior's LD_LIBRARY_PATH and PATH as a fallback so I wonder if > there would be any harm in at least looking at the RPATH? Perhaps if we > just appended it to solib-search-path or one of the others? I dunno. > That's why I'm asking. IMVHO, this is what should be happening in your setup: - search $solib-absolute-prefix/$full-path-from-target - search $solib-search-path for $basename-from-target If you've uploaded it somewhere (/tmp) other than the normal location, then it's your responsibility to make sure solib-search-path works. I don't see the point in honoring rpath. -- Daniel Jacobowitz MontaVista Software Debian GNU/Linux Developer