From patchwork Thu May 26 12:04:43 2011 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bernd Schmidt X-Patchwork-Id: 97569 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from sourceware.org (server1.sourceware.org [209.132.180.131]) by ozlabs.org (Postfix) with SMTP id 602E6B6F88 for ; Thu, 26 May 2011 22:05:11 +1000 (EST) Received: (qmail 3979 invoked by alias); 26 May 2011 12:05:08 -0000 Received: (qmail 3964 invoked by uid 22791); 26 May 2011 12:05:07 -0000 X-SWARE-Spam-Status: No, hits=-1.7 required=5.0 tests=AWL, BAYES_00, TW_BJ, TW_SV, T_RP_MATCHES_RCVD X-Spam-Check-By: sourceware.org Received: from mail.codesourcery.com (HELO mail.codesourcery.com) (38.113.113.100) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Thu, 26 May 2011 12:04:51 +0000 Received: (qmail 21168 invoked from network); 26 May 2011 12:04:50 -0000 Received: from unknown (HELO ?84.152.188.110?) (bernds@127.0.0.2) by mail.codesourcery.com with ESMTPA; 26 May 2011 12:04:50 -0000 Message-ID: <4DDE41DB.2060608@codesourcery.com> Date: Thu, 26 May 2011 12:04:43 +0000 From: Bernd Schmidt User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.17) Gecko/20110516 Lightning/1.0b3pre Thunderbird/3.1.10 MIME-Version: 1.0 To: Ian Lance Taylor CC: GCC Patches Subject: Re: Prefixes for libgcc symbols (C6X 9.5/11) References: <4DC956D0.3040306@codesourcery.com> <4DCD34BC.3080506@codesourcery.com> In-Reply-To: Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org Delivered-To: mailing list gcc-patches@gcc.gnu.org It occurred to me to do another test, building libgcc with and without the patch and comparing the binaries. That showed a problem - if there are multiple version files, their order matters. In all cases where $$(libgcc_objdir)/libgcc-std.ver occurs, it occurs first, so I've changed the order in srcdirify to match. I also need to properly svn rm the old libgcc-std.ver file. Will check this in today after a bootstrap unless there are objections. Bernd Index: gcc/ChangeLog =================================================================== --- gcc/ChangeLog (revision 174276) +++ gcc/ChangeLog (working copy) @@ -1,3 +1,9 @@ +2011-05-26 Bernd Schmidt + + * Makefile.in (srcdirify): Change order so that libgcc_objdir is + substituted first. + * libgcc-std.ver: Delete file. + 2011-05-26 Jakub Jelinek PR c++/49165 Index: gcc/Makefile.in =================================================================== --- gcc/Makefile.in (revision 174276) +++ gcc/Makefile.in (working copy) @@ -1894,13 +1894,15 @@ cc1$(exeext): $(C_OBJS) cc1-checksum.o $ LIB2ADD = $(LIB2FUNCS_EXTRA) LIB2ADD_ST = $(LIB2FUNCS_STATIC_EXTRA) -# All source files for libgcc are either in the source directory (in -# which case they will start with $(srcdir)), or generated into the build -# directory (in which case they will be relative paths). -srcdirify = $(patsubst $(srcdir)%,$$(gcc_srcdir)%,$(filter $(srcdir)%,$(1))) \ - $(patsubst $$(libgcc_objdir)/%,%, \ +# All source files for libgcc are either generated in the libgcc build +# directory which will be substituted for $$(libgcc_objdir), in the +# source directory (in which case they will start with $(srcdir)), or +# generated into the build directory (in which case they will be +# relative paths). +srcdirify = $(patsubst $$(libgcc_objdir)/%,%, \ $(filter $$(libgcc_objdir)%,$(1))) \ - $(patsubst %,$$(gcc_objdir)/%, \ + $(patsubst $(srcdir)%,$$(gcc_srcdir)%,$(filter $(srcdir)%,$(1))) \ + $(patsubst %,$$(gcc_objdir)/%, \ $(filter-out $(srcdir)% $$(libgcc_objdir)%,$(1))) # The distinction between these two variables is no longer relevant,