From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 6108 invoked by alias); 9 Jan 2005 00:01:11 -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 6056 invoked from network); 9 Jan 2005 00:01:05 -0000 Received: from unknown (HELO nevyn.them.org) (66.93.172.17) by sourceware.org with SMTP; 9 Jan 2005 00:01:05 -0000 Received: from drow by nevyn.them.org with local (Exim 4.34 #1 (Debian)) id 1CnQW0-0000XZ-ML; Sat, 08 Jan 2005 19:01:04 -0500 Date: Sun, 09 Jan 2005 00:01:00 -0000 From: Daniel Jacobowitz To: Mark Kettenis Cc: gdb-patches@sources.redhat.com, kevinb@redhat.com, eliz@gnu.org Subject: Re: [RFA] Introduce solib_loaded observer Message-ID: <20050109000104.GA1853@nevyn.them.org> Mail-Followup-To: Mark Kettenis , gdb-patches@sources.redhat.com, kevinb@redhat.com, eliz@gnu.org References: <200501082314.j08NE6a1080151@elgar.sibelius.xs4all.nl> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <200501082314.j08NE6a1080151@elgar.sibelius.xs4all.nl> User-Agent: Mutt/1.5.5.1+cvs20040105i X-SW-Source: 2005-01/txt/msg00049.txt.bz2 On Sun, Jan 09, 2005 at 12:14:06AM +0100, Mark Kettenis wrote: > This patch introduces a new solib_loaded observer that parallels the > solub_unloaded observer that we already have. I need this observer to > properly implement a threads stratum for FreeBSD and OpenBSD > user-space threads library support. With this observer I'll also be > able to fix the problems we're having with statically linked programs > that use the threading library on Linux. If you think about it a bit, > the problems with static thread libraries stem from the fact that we > abuse the now deprecated target_new_objfile_hook to get notified about > newly loaded libraries. Unfortunately that hook is also called when > the main executable is loaded, which causes all kinds of trouble. Actually, I've already posted patches for the Linux problem. The basic "abuse" of the target_new_objfile_hook isn't really the stumbling block, rather, the attempt to use it for both running and non-running programs. The necessary fix was to use inferior_created. Still, it'll definitely be cleaner to use a solib_loaded hook there, and I look forward to that. I'll ping that patch after I get back from travelling next week. > The patch below doesn't only implement the new observer. The reason > for that is that when the solib_loaded observer is called, the symbols > for the new library haven't been loaded yet. So I've split out the > code to read in those symbols out from solib_add() into a seperate > function, and made that public. Could you explain why this is necessary, instead of calling the observer after loading symbols? I don't see notification at that point as particularly useful. Certainly the first thing the GNU/Linux code would want to do would be to load the symbols. -- Daniel Jacobowitz