From patchwork Sun Aug 25 22:02:02 2013 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Gabriel Dos Reis X-Patchwork-Id: 269723 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]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client CN "www.sourceware.org", Issuer "StartCom Class 1 Primary Intermediate Server CA" (not verified)) by ozlabs.org (Postfix) with ESMTPS id 95AB12C00C0 for ; Mon, 26 Aug 2013 08:02:13 +1000 (EST) DomainKey-Signature: a=rsa-sha1; c=nofws; d=gcc.gnu.org; h=list-id :list-unsubscribe:list-archive:list-post:list-help:sender:from :to:cc:subject:date:message-id:mime-version:content-type; q=dns; s=default; b=IpeNoob+3GHOnGK3MkuVyQ3iV65lmuonKUaF3/ULj8H8C6JhKD t0OksPVAx0jkWia1/x8QUtkVbxVx4tbq/IAfNDxd2rw985/iFbWWyf+Y6WjB7X5k CxDfQntgblJN+iXOHPmfAxxGAhNec6gERSAhquJNZqe8YJvuBvk5ZmDkM= DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=gcc.gnu.org; h=list-id :list-unsubscribe:list-archive:list-post:list-help:sender:from :to:cc:subject:date:message-id:mime-version:content-type; s= default; bh=ye119hWEpHRI41cyHKRrhVp8rk4=; b=I87VTAOIPc3dsJm7RL2d f262f15OZSUVuf8XSMaGopSk5nEkTkH2KH1RI2D4vFXRetZXkoSum5YHRxpkYaId dySXw4ii0iyb99YIdvI7tKYZ2kOk3zQH+J+gCmsmjQIw3GzyKGrYF9uTXca2snYu lBMf/lGOZ03pMoCX3fjRptQ= Received: (qmail 12508 invoked by alias); 25 Aug 2013 22:02:06 -0000 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 Received: (qmail 12491 invoked by uid 89); 25 Aug 2013 22:02:06 -0000 X-Spam-SWARE-Status: No, score=-3.5 required=5.0 tests=AWL, BAYES_00, RP_MATCHES_RCVD autolearn=ham version=3.3.2 Received: from www.axiomatics.org (HELO mail.axiomatics.org) (66.228.53.191) by sourceware.org (qpsmtpd/0.84/v0.84-167-ge50287c) with ESMTP; Sun, 25 Aug 2013 22:02:04 +0000 Received: by mail.axiomatics.org (Postfix, from userid 1000) id EDA87ECB0; Sun, 25 Aug 2013 17:02:02 -0500 (CDT) From: Gabriel Dos Reis To: Eric Botcazou Cc: gcc-patches@gcc.gnu.org Subject: Ada PATCH: Fix ada/58239 by linking with xg++, not xgcc Date: Sun, 25 Aug 2013 17:02:02 -0500 Message-ID: <8761uttoo5.fsf@euclid.axiomatics.org> Lines: 87 MIME-Version: 1.0 Hi, My earlier patch that formally desclared pretty_printer as polymorphic uncovered a latent bug in the existing build machinery of the Ada component. It had been using xgcc to link against C++ source files. It should use xg++ instead. This patch fixes that by introducing GXX_LINK which is GCC_LINK except that CXX (e.g. xg++) instead of CC (e.g. xgcc) is invoked. Eric, are there other executables that need to be linked with GXX_LINK too but aren't triggered yet? Thanks, -- Gaby ada/ 2013-08-25 Gabriel Dos Reis * gcc-interface/Makefile.in (GXX_LINK): New. Same as GCC_LINK but with xgcc replaced with xgcc. (common-tools): Use it. (../../gnatmake$(exeext)): Likewise. (../../gnatlink$(exeext)): Likewise. Index: ada/gcc-interface/Makefile.in =================================================================== --- ada/gcc-interface/Makefile.in (revision 201977) +++ ada/gcc-interface/Makefile.in (working copy) @@ -2398,6 +2398,7 @@ "GNATBIND=$(GNATBIND)" GCC_LINK=$(CC) $(GCC_LINK_FLAGS) $(ADA_INCLUDES) +GXX_LINK=$(CXX) $(GCC_LINK_FLAGS) $(ADA_INCLUDES) # Build directory for the tools. Let's copy the target-dependent # sources using the same mechanism as for gnatlib. The other sources are @@ -2462,23 +2463,23 @@ gnatchop gnatcmd gnatkr gnatls gnatprep gnatxref gnatfind gnatname \ gnatclean -bargs $(ADA_INCLUDES) $(GNATBIND_FLAGS) $(GNATLINK) -v gnatcmd -o ../../gnat$(exeext) \ - --GCC="$(GCC_LINK)" $(TOOLS_LIBS) + --GCC="$(GXX_LINK)" $(TOOLS_LIBS) $(GNATLINK) -v gnatchop -o ../../gnatchop$(exeext) \ - --GCC="$(GCC_LINK)" $(TOOLS_LIBS) + --GCC="$(GXX_LINK)" $(TOOLS_LIBS) $(GNATLINK) -v gnatkr -o ../../gnatkr$(exeext) \ - --GCC="$(GCC_LINK)" $(TOOLS_LIBS) + --GCC="$(GXX_LINK)" $(TOOLS_LIBS) $(GNATLINK) -v gnatls -o ../../gnatls$(exeext) \ - --GCC="$(GCC_LINK)" $(TOOLS_LIBS) + --GCC="$(GXX_LINK)" $(TOOLS_LIBS) $(GNATLINK) -v gnatprep -o ../../gnatprep$(exeext) \ - --GCC="$(GCC_LINK)" $(TOOLS_LIBS) + --GCC="$(GXX_LINK)" $(TOOLS_LIBS) $(GNATLINK) -v gnatxref -o ../../gnatxref$(exeext) \ - --GCC="$(GCC_LINK)" $(TOOLS_LIBS) + --GCC="$(GXX_LINK)" $(TOOLS_LIBS) $(GNATLINK) -v gnatfind -o ../../gnatfind$(exeext) \ - --GCC="$(GCC_LINK)" $(TOOLS_LIBS) + --GCC="$(GXX_LINK)" $(TOOLS_LIBS) $(GNATLINK) -v gnatname -o ../../gnatname$(exeext) \ - --GCC="$(GCC_LINK)" $(TOOLS_LIBS) + --GCC="$(GXX_LINK)" $(TOOLS_LIBS) $(GNATLINK) -v gnatclean -o ../../gnatclean$(exeext) \ - --GCC="$(GCC_LINK)" $(TOOLS_LIBS) + --GCC="$(GXX_LINK)" $(TOOLS_LIBS) ../../gnatsym$(exeext): ../stamp-tools $(GNATMAKE) -c $(ADA_INCLUDES) gnatsym --GCC="$(CC) $(ALL_ADAFLAGS)" @@ -2519,11 +2520,11 @@ # Likewise for the tools ../../gnatmake$(exeext): $(P) b_gnatm.o $(GNATMAKE_OBJS) - +$(GCC_LINK) $(ALL_CFLAGS) $(LDFLAGS) -o $@ b_gnatm.o $(GNATMAKE_OBJS) \ + +$(GXX_LINK) $(ALL_CFLAGS) $(LDFLAGS) -o $@ b_gnatm.o $(GNATMAKE_OBJS) \ $(TOOLS_LIBS) ../../gnatlink$(exeext): $(P) b_gnatl.o $(GNATLINK_OBJS) - +$(GCC_LINK) $(ALL_CFLAGS) $(LDFLAGS) -o $@ b_gnatl.o $(GNATLINK_OBJS) \ + +$(GXX_LINK) $(ALL_CFLAGS) $(LDFLAGS) -o $@ b_gnatl.o $(GNATLINK_OBJS) \ $(TOOLS_LIBS) ../stamp-gnatlib-$(RTSDIR):