From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 26164 invoked by alias); 4 Dec 2007 10:08:07 -0000 Received: (qmail 26156 invoked by uid 22791); 4 Dec 2007 10:08:06 -0000 X-Spam-Check-By: sourceware.org Received: from smtp.nildram.co.uk (HELO smtp.nildram.co.uk) (195.112.4.54) by sourceware.org (qpsmtpd/0.31) with ESMTP; Tue, 04 Dec 2007 10:07:52 +0000 Received: from firetop.home (85-211-128-93.dyn.gotadsl.co.uk [85.211.128.93]) by smtp.nildram.co.uk (Postfix) with ESMTP id 9E02A2B7DB7; Tue, 4 Dec 2007 10:07:48 +0000 (GMT) Received: from richard by firetop.home with local (Exim 4.63) (envelope-from ) id 1IzUgw-0004Q8-1k; Tue, 04 Dec 2007 10:07:50 +0000 From: Richard Sandiford To: Jakub Jelinek Mail-Followup-To: Jakub Jelinek ,binutils@sourceware.org, rsandifo@nildram.co.uk Cc: binutils@sourceware.org Subject: Re: Fix --gc-sections for C++ MIPS ELF References: <87r6i4svjg.fsf@firetop.home> <20071202220015.GA2947@sunsite.mff.cuni.cz> Date: Tue, 04 Dec 2007 10:08:00 -0000 In-Reply-To: <20071202220015.GA2947@sunsite.mff.cuni.cz> (Jakub Jelinek's message of "Sun\, 2 Dec 2007 23\:00\:15 +0100") Message-ID: <87wsru3h8p.fsf@firetop.home> User-Agent: Gnus/5.110006 (No Gnus v0.6) Emacs/21.4 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii 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: 2007-12/txt/msg00023.txt.bz2 Jakub Jelinek writes: > On Sun, Dec 02, 2007 at 08:15:15PM +0000, Richard Sandiford wrote: >> I tested the changes by running the C++ and libstdc++-v3 testsuites >> on x86_64-linux-gnu and mipsisa64-elf with -Wl,--gc-sections. >> The C++ PCH tests failed, but the results were otherwise identical >> to those without -Wl,--gc-sections. There were also no regressions >> in the binutils, gas and ld testsuites for x86_64-linux-gnu, >> mipsisa64-elf and mips64-linux-gnu. > > Another desirable test would be to build libgcj and glibc (as examples of > really huge .eh_frame, including hand written .eh_frame, gas generated > .cfi_* stuff and gcc generated stuff) on x86_64-linux, i686-linux, ppc-linux > at least and comparing the resulting .eh_frame between unpatched and patched > ld. OK. I don't have access to ppc-linux, but I tried it on the other two. Specifically, with and without the patches, I: - built binutils from scratch and installed it into fixed location 1 - ran a full gcc bootstrap and regression test from fixed location 2 and installed into fixed location 3. I did this with fixed location 1 at the head of the path, and with --with-{as,ld} pointing at the assembler and linker in fixed location 1. - built glibc with fixed location 1 and fixed location 3 at the head of the path. - moved fixed location 3 and the glibc build directory away for later comparison. I double-checked that the right binutils and gccs were being used in each step. The two libc.sos were identical. The libgcj.sos differed only in debugging information, due to things like different random seeds; the stripped versions were also identical. FWIW, libstdc++-v3 (which is built with -Wl,--gc-sections) stayed the same too. The gcc regression-test results were also the same for both builds. I extended the -Wl,--gc-sections testing on i686-pc-linux-gnu (adding to the original x86_64-linux-gnu and mipsisa64-elf). The patched binutils included the eighth patch that I just posted. Richard