From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 28914 invoked by alias); 27 Nov 2001 19:29:20 -0000 Mailing-List: contact gdb-patches-help@sourceware.cygnus.com; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sources.redhat.com Received: (qmail 28875 invoked from network); 27 Nov 2001 19:29:19 -0000 Received: from unknown (HELO nevyn.them.org) (128.2.145.6) by hostedprojects.ges.redhat.com with SMTP; 27 Nov 2001 19:29:19 -0000 Received: from drow by nevyn.them.org with local (Exim 3.32 #1 (Debian)) id 168nvD-0003O2-00; Tue, 27 Nov 2001 14:29:35 -0500 Date: Wed, 14 Nov 2001 18:55:00 -0000 From: Daniel Jacobowitz To: Orjan Friberg Cc: gdb-patches@sources.redhat.com Subject: Re: [RFC]: Solib search (Was: Re: Cross solib support; continued) Message-ID: <20011127142935.A12983@nevyn.them.org> Mail-Followup-To: Orjan Friberg , gdb-patches@sources.redhat.com References: <3BEAA3A0.586B3046@axis.com> <20011108110955.A12240@nevyn.them.org> <3C03AB51.DB27B3D4@axis.com> <20011127101232.A25024@nevyn.them.org> <3C03B2E8.8409512@axis.com> <20011127104345.A1939@nevyn.them.org> <3C03DAB3.8240E639@axis.com> <20011127134600.A11327@nevyn.them.org> <3C03E660.B33DF385@axis.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <3C03E660.B33DF385@axis.com> User-Agent: Mutt/1.3.23i X-SW-Source: 2001-11/txt/msg00291.txt.bz2 Message-ID: <20011114185500.27dDdBHRze0wFcJiCG5QCmBQuTfy2wedPB_j338YFHA@z> On Tue, Nov 27, 2001 at 08:15:44PM +0100, Orjan Friberg wrote: > Daniel Jacobowitz wrote: > > > > Suppose that I dlopen ("/lib/mmx/libc.so.6", ...). That's the case I > > am describing. The only way to handle this case properly (assuming > > there is also a /lib/libc.so.6) is to go through one of the absolute > > path cases. There is no other option. > > But won't dlopen ("/lib/mmx/libc.so.6", ...) be handled by: > > if (! IS_ABSOLUTE_PATH (in_pathname) || solib_absolute_prefix == NULL) > temp_pathname = in_pathname; > else > { > [Catting of prefix and pathname] > } > > /* Now see if we can open it. */ > found_file = open (temp_pathname, O_RDONLY, 0); > > That counts as an absolute path case, right? > > I can't see why we'd rely on the first openp to handle dlopen ("/lib/mmx/libc.so.6", > ...) since it's an absolute path and should be handled by the code above. That's why > I suggest we know we should look in solib_search_path (and thus should get rid of the > leading '/' which makes it an absolute path). Oh! I was confused; sorry. I think your patch is OK. If we fail to find it in the absolute path, search for its "absolute" (without leading directory separator[s]) path in each directory in the solib-search-path. Then try searching for its basename as a last resort. Right? -- Daniel Jacobowitz Carnegie Mellon University MontaVista Software Debian GNU/Linux Developer