From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 23589 invoked by alias); 17 Feb 2011 22:50:08 -0000 Received: (qmail 23560 invoked by uid 22791); 17 Feb 2011 22:50:05 -0000 X-SWARE-Spam-Status: No, hits=-1.8 required=5.0 tests=AWL,BAYES_00,T_RP_MATCHES_RCVD X-Spam-Check-By: sourceware.org Received: from nikam.ms.mff.cuni.cz (HELO nikam.ms.mff.cuni.cz) (195.113.20.16) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Thu, 17 Feb 2011 22:49:59 +0000 Received: by nikam.ms.mff.cuni.cz (Postfix, from userid 16202) id 4EDA09AC779; Thu, 17 Feb 2011 23:49:56 +0100 (CET) Date: Thu, 17 Feb 2011 22:50:00 -0000 From: Jan Hubicka To: Jakub Jelinek Cc: Jan Hubicka , "H.J. Lu" , Jan Beulich , "H. Peter Anvin" , GCC Development , x32-abi@googlegroups.com, Binutils , GNU C Library Subject: Re: x32 psABI draft version 0.2 Message-ID: <20110217224956.GA20055@kam.mff.cuni.cz> References: <4D5C2DD2.10608@zytor.com> <4D5CEBDE02000078000325A2@vpn.id2.novell.com> <20110217142916.GI13037@sunsite.ms.mff.cuni.cz> <20110217152233.GB11346@atrey.karlin.mff.cuni.cz> <20110217154452.GA18799@kam.mff.cuni.cz> <20110217180646.GB30899@tyan-ft48-01.lab.bos.redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20110217180646.GB30899@tyan-ft48-01.lab.bos.redhat.com> User-Agent: Mutt/1.5.18 (2008-05-17) Mailing-List: contact binutils-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: binutils-owner@sourceware.org X-SW-Source: 2011-02/txt/msg00234.txt.bz2 > On Thu, Feb 17, 2011 at 04:44:53PM +0100, Jan Hubicka wrote: > > > > According to Mozilla folks however REL+RELA scheme used by EABI leads > > > > to significandly smaller libxul.so size > > > > > > > > According to http://glandium.org/blog/?p=1177 the difference is about 4-5MB > > > > (out of approximately 20-30MB shared lib) > > > > > > This is orthogonal to x32 psABI. > > > > Understood. I am just pointing out that x86-64 Mozilla suffers from startup > > problems (extra 5MB of disk read needed) compared to both x86 and ARM EABI > > because x86-64 ABI is RELA only. If x86-64 ABI was REL+RELA like EABI is, we > > would not have this problem here. > > libxul.so has < 200000 relocs, so 5MB is total size of .rela section in > 64-bit ELF, you don't magically save those 5MB by using REL. You save > just 1.5MB. And for x32 we'd be talking about 2.5MB for RELA vs. 1.6MB for The blog claims Architecture libxul.so size relocations size % x86 21,869,684 1,884,864 8.61% x86-64 29,629,040 5,751,984 19.41% The REL encoding also grows twice for 64bit target? > REL. There might be better ways how to get the numbers down. These are difficult since they mostly come from vtables and we need to be pretty smart to optimize vtable out completely. Mozilla recently started to use elfhack (in official builds) that is sort of their own dynamic linker handling PC relative relcoations only. Pretty ugly IMO but they claim 16% savings on x86-64, 6% on x86 Honza > > Jakub