From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 11729 invoked by alias); 17 Mar 2006 05:17:41 -0000 Received: (qmail 11720 invoked by uid 22791); 17 Mar 2006 05:17:40 -0000 X-Spam-Check-By: sourceware.org Received: from CPE-144-136-172-108.sa.bigpond.net.au (HELO grove.modra.org) (144.136.172.108) by sourceware.org (qpsmtpd/0.31) with ESMTP; Fri, 17 Mar 2006 05:17:07 +0000 Received: by bubble.grove.modra.org (Postfix, from userid 500) id E6A181D9BCF; Fri, 17 Mar 2006 15:47:04 +1030 (CST) Date: Fri, 17 Mar 2006 06:43:00 -0000 From: Alan Modra To: Daniel Jacobowitz Cc: binutils@sourceware.org Subject: Re: binutils 2.17 branch Message-ID: <20060317051704.GE6777@bubble.grove.modra.org> Mail-Followup-To: Daniel Jacobowitz , binutils@sourceware.org References: <20060317030406.GA30502@nevyn.them.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20060317030406.GA30502@nevyn.them.org> User-Agent: Mutt/1.4i X-IsSubscribed: yes Mailing-List: contact binutils-help@sourceware.org; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: binutils-owner@sourceware.org X-SW-Source: 2006-03/txt/msg00235.txt.bz2 On Thu, Mar 16, 2006 at 10:04:06PM -0500, Daniel Jacobowitz wrote: > The only thing I've got my eye on at the moment is Alan's recent > --as-needed fixes; experience suggests it will take a little > while for that to settle down. Yes, that Alan Modra bloke can be unreliable. :) Seriously, it's still somewhat of a hack. The fact that we throw away syms added for an unneeded lib means I'm relying on nothing (eg. backend add_symbol_hook) keeping pointers into the symbol hash table apart from the ones I already handle (undefs, sym_hashes). I also don't like doubling the symbol table memory usage. The technically better approach, of scanning as-needed lib syms to determine whether to load the lib has its own set of problems. You need to fairly carefully duplicate existing code behaviour in deciding whether a definition will satisfy a reference. Symbol versioning complicates this process. Also, you'd need to modify the backend add_symbol_hook functions to only discard symbols during the scan. I felt that getting this approach right would take longer than checkpointing the hash table.. -- Alan Modra IBM OzLabs - Linux Technology Centre