From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 12749 invoked by alias); 3 Mar 2005 04:15:11 -0000 Mailing-List: contact binutils-help@sources.redhat.com; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: binutils-owner@sources.redhat.com Received: (qmail 12678 invoked from network); 3 Mar 2005 04:15:00 -0000 Received: from unknown (HELO rwcrmhc11.comcast.net) (204.127.198.35) by sourceware.org with SMTP; 3 Mar 2005 04:15:00 -0000 Received: from lucon.org ([24.6.212.230]) by comcast.net (rwcrmhc11) with ESMTP id <2005030304145901300qdieme>; Thu, 3 Mar 2005 04:15:00 +0000 Received: by lucon.org (Postfix, from userid 1000) id B6EFB97F22; Wed, 2 Mar 2005 20:14:59 -0800 (PST) Date: Thu, 03 Mar 2005 04:15:00 -0000 From: "H. J. Lu" To: binutils@sources.redhat.com Subject: RFC: -Bsymbolic, hidden and protected Message-ID: <20050303041459.GA31146@lucon.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.4.1i X-SW-Source: 2005-03/txt/msg00087.txt.bz2 Loading an ELF DSO may require many relocations and accesing global symbols within the DSO have to go through PLT/GOT, even if they are defined within the DSO. -Bsymbloc avoids relocatins against global symbols defined within the DSO. But it is too late for compiler to take the full advantage of it and we can't do it selectly for individual symbol. Hidden visibility will optimize everything, but it makes global symbols local to the DSO. You can't use it on exported symbols. Protected visibility has almost everything, but requires special handling at run-time. I was wondering if we could allow version script to overwrite hidden symbols. That is if a symbol is global in version script, we export it even if it is marked hidden. It may improve run-time performance. H.J.