From patchwork Fri Jul 2 15:24:53 2010 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Rainer Orth X-Patchwork-Id: 57670 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 BA1B31007D2 for ; Sat, 3 Jul 2010 01:25:08 +1000 (EST) Received: (qmail 19602 invoked by alias); 2 Jul 2010 15:25:06 -0000 Received: (qmail 19575 invoked by uid 22791); 2 Jul 2010 15:25:05 -0000 X-SWARE-Spam-Status: No, hits=-2.0 required=5.0 tests=AWL, BAYES_00, TW_IB, T_RP_MATCHES_RCVD X-Spam-Check-By: sourceware.org Received: from snape.CeBiTec.Uni-Bielefeld.DE (HELO smtp-relay.CeBiTec.Uni-Bielefeld.DE) (129.70.160.84) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Fri, 02 Jul 2010 15:24:58 +0000 Received: from localhost (localhost.CeBiTec.Uni-Bielefeld.DE [127.0.0.1]) by smtp-relay.CeBiTec.Uni-Bielefeld.DE (Postfix) with ESMTP id F08F3B41; Fri, 2 Jul 2010 17:24:55 +0200 (CEST) Received: from smtp-relay.CeBiTec.Uni-Bielefeld.DE ([127.0.0.1]) by localhost (malfoy.CeBiTec.Uni-Bielefeld.DE [127.0.0.1]) (amavisd-new, port 10024) with LMTP id ohyXzV6YnB5u; Fri, 2 Jul 2010 17:24:53 +0200 (CEST) Received: from manam.CeBiTec.Uni-Bielefeld.DE (manam.CeBiTec.Uni-Bielefeld.DE [129.70.161.120]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by smtp-relay.CeBiTec.Uni-Bielefeld.DE (Postfix) with ESMTPS id A35A4B3F; Fri, 2 Jul 2010 17:24:53 +0200 (CEST) Received: (from ro@localhost) by manam.CeBiTec.Uni-Bielefeld.DE (8.14.3+Sun/8.14.3/Submit) id o62FOr1Q024623; Fri, 2 Jul 2010 17:24:53 +0200 (MEST) From: Rainer Orth To: IainS Cc: GCC Patches Subject: Re: [build, doc, v3] Support Sun symbol versioning in libstdc++-v3, rev. 2 References: <4C2C61C1.5030600@oracle.com> <4C2DC0A1.3060007@oracle.com> <4C2DC174.8000800@oracle.com> <9A2667CB-1FF4-4FE2-B5D2-85296F8CC793@sandoe-acoustics.co.uk> <4C2DD6BB.6050101@oracle.com> <98DE1E7E-0BE2-4F5A-A543-EB348A0C9423@sandoe-acoustics.co.uk> <38806508-6A6C-45AE-BCCC-A7398B3957AD@sandoe-acoustics.co.uk> Date: Fri, 02 Jul 2010 17:24:53 +0200 In-Reply-To: <38806508-6A6C-45AE-BCCC-A7398B3957AD@sandoe-acoustics.co.uk> (IainS's message of "Fri, 2 Jul 2010 14:41:11 +0100") Message-ID: User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/23.2 (usg-unix-v) MIME-Version: 1.0 X-IsSubscribed: yes 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 IainS writes: > from ld (tools version 2.5) manual page linked earlier: > -M (32-bit only) Produce a load map, listing all the segments and > sections. The list includes the address where each input file's section > appears in the output file, as well as the section's size. This option > overlaps with a compiler option. If you use the compiler driver cc(1) to > invoke ld, invoke this option in this way: -Wl,-M. > so, although it's not listed in the 3.2.x tools, I imagine that it is > silently ignored for backward-compatibility. That's what I feared. At first, I was tempted to use the same hack as in the libjava configure.ac, but since the check for Sun style symbol versioning makes sense only on Solaris, I'd go for the following instead. Could you please give it a try on Darwin? If it works for you, I'll commit as obvious. Thanks. Rainer 2010-07-02 Rainer Orth libssp: * configure.ac (ssp_use_symver): Only check for Sun-style symbol versioning on Solaris 2. * configure: Regenerate. diff -r 08cc828c8afb libssp/configure.ac --- a/libssp/configure.ac Mon Jun 28 16:33:40 2010 +0200 +++ b/libssp/configure.ac Fri Jul 02 17:23:54 2010 +0200 @@ -86,15 +86,19 @@ EOF AC_TRY_LINK([int foo;],[],[ssp_use_symver=gnu],[ssp_use_symver=no]) if test x$ssp_use_symver = xno; then - LDFLAGS="$save_LDFLAGS" - LDFLAGS="$LDFLAGS -fPIC -shared -Wl,-M,./conftest.map" - # Sun ld cannot handle wildcards and treats all entries as undefined. - cat > conftest.map < conftest.map <