From patchwork Tue Dec 1 06:02:36 2015 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Gary Funck X-Patchwork-Id: 550673 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.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id EEB301401E7 for ; Tue, 1 Dec 2015 17:03:17 +1100 (AEDT) Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=gcc.gnu.org header.i=@gcc.gnu.org header.b=k+nlxb/k; dkim-atps=neutral DomainKey-Signature: a=rsa-sha1; c=nofws; d=gcc.gnu.org; h=list-id :list-unsubscribe:list-archive:list-post:list-help:sender:date :from:to:cc:subject:message-id:mime-version:content-type; q=dns; s=default; b=mkog21Bk2tAs5DohQebot/BZdHmGYS4xRoyB2+5wBW7WTXgcjJ 1wBk8UPpXhiPKpz0zi3Xcjt362OSbK70rIbiup8Z3geolOZZCygZMIdjyUGx94xk xiNSdMjAnzYPIKn05A5Mkzpyf52t9w5J1YTP84tju1TCGLgOSumrdNM8s= 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:date :from:to:cc:subject:message-id:mime-version:content-type; s= default; bh=Qjh6TVmtBSCLj57Mq/6ThQnQ78w=; b=k+nlxb/kuD9LdlEnxr3y yHoJxJFWY/mQOL2mu2lvT0JvZYwshw5FJ6bB4TJak75gmlOH3UnED4j8ERDzSHIL LEiSUSJaVBTsLEocomunxyrwnPNZKOA5MiEQyQVfZXCnfVqnjhufj68aObrzidUi eSlBLZoS3+opS0csrVHTkgU= Received: (qmail 53172 invoked by alias); 1 Dec 2015 06:02:43 -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 52941 invoked by uid 89); 1 Dec 2015 06:02:42 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-2.2 required=5.0 tests=AWL, BAYES_00, RCVD_IN_DNSWL_LOW autolearn=ham version=3.3.2 X-HELO: mail-oi0-f99.google.com Received: from mail-oi0-f99.google.com (HELO mail-oi0-f99.google.com) (209.85.218.99) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (AES128-GCM-SHA256 encrypted) ESMTPS; Tue, 01 Dec 2015 06:02:39 +0000 Received: by oibl204 with SMTP id l204so12000470oib.3 for ; Mon, 30 Nov 2015 22:02:37 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:date:from:to:cc:subject:message-id:mime-version :content-type:content-disposition:user-agent; bh=kjOKtIMEqG8jpvYiRWJUxgMwHNSANGBf4ZAD1/W9C0s=; b=aN4C4T/0PvOU7pMVJlL2uASrDlEeKk2IpvIpxIwPvYKD5N5E8lFI+SDKJ/u2qWcg4O bDu8sa+o7ZnA3WVqa2veTdRfVQeaPVdpwBdi3phifDs51BNzaxLZOAqDN1bJhJOWZoH8 rZYtaOjQdbA5et1ovgMdGIxngcZeM2A7KFoxQVZV//w1jLa9/IoFlTPvqKS5BD52zs35 WQUEKvnKwnjPAzihdvsFJzGqjFudgglGi+n7Od2DRM0ELUKd/KYT+NwCtT9xjdGxBJmA Jd4zekte8fnNuSKJ2JPgZKrokqMLWdjS2BBT67GMngK3GFqfOBTzeluxvaaKQeAB/6ln 7TtA== X-Gm-Message-State: ALoCoQmz5ZqAOoax+PELVJYAtf7oZf1Zmp0kVIubjwlbeVk6Cacl6JUcnbYZH/ty5CfpjYyT327c/Z/jzn9e5O9Gy+g9n6259A== X-Received: by 10.50.155.65 with SMTP id vu1mr25724592igb.11.1448949757751; Mon, 30 Nov 2015 22:02:37 -0800 (PST) Received: from intrepid.com (74-95-8-117-SFBA.hfc.comcastbusiness.net. [74.95.8.117]) by smtp-relay.gmail.com with ESMTPS id x3sm2537951igw.4.2015.11.30.22.02.37 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 30 Nov 2015 22:02:37 -0800 (PST) X-Relaying-Domain: intrepid.com Received: from corp.local (localhost [127.0.0.1]) by corp.local (8.14.8/8.14.8) with ESMTP id tB162aN0031152; Mon, 30 Nov 2015 22:02:36 -0800 Received: (from gary@localhost) by corp.local (8.14.8/8.14.8/Submit) id tB162abZ031150; Mon, 30 Nov 2015 22:02:36 -0800 Date: Mon, 30 Nov 2015 22:02:36 -0800 From: Gary Funck To: Gcc Patches Cc: Eric Christopher , Iain Sandoe , Mike Stump , Nenad Vukicevic Subject: [UPC 08/22] target - Darwin Message-ID: <20151201060236.GA31139@intrepid.com> MIME-Version: 1.0 Content-Disposition: inline User-Agent: Mutt/1.5.23 (2014-03-12) X-IsSubscribed: yes Background ---------- An overview email, describing the UPC-related changes is here: https://gcc.gnu.org/ml/gcc-patches/2015-12/msg00005.html The GUPC branch is described here: http://gcc.gnu.org/projects/gupc.html The UPC-related source code differences are summarized here: http://gccupc.org/gupc-changes All languages (c, c++, fortran, go, lto, objc, obj-c++) have been bootstrapped; no test suite regressions were introduced, relative to the GCC trunk. If you are on the cc-list, your name was chosen either because you are listed as a maintainer for the area that applies to the patches described in this email, or you were a frequent contributor of patches made to files listed in this email. In the change log entries included in each patch, the directory containing the affected files is listed, followed by the files. When the patches are applied, the change log entries will be distributed to the appropriate ChangeLog file. Overview -------- For Darwin, if -fupc is given, then define various UPC-specific spec's. Also, override default section names for the UPC-related linker sections. 2015-11-30 Gary Funck gcc/config/ * darwin.h (LINK_COMMAND_SPEC_A): If -fupc is asserted: add UPC start/end files, add include of libgupc.spec (UPC_SHARED_SECTION_NAME, UPC_PGM_INFO_SECTION_NAME, UPC_INIT_ARRAY_SECTION_NAME): New. Override default section names. Index: gcc/config/darwin.h =================================================================== --- gcc/config/darwin.h (.../trunk) (revision 231059) +++ gcc/config/darwin.h (.../branches/gupc) (revision 231080) @@ -176,16 +176,19 @@ extern GTY(()) int darwin_ms_struct; %{e*} %{r} \ %{o*}%{!o:-o a.out} \ %{!nostdlib:%{!nostartfiles:%S}} \ + %{!nostdlib:%{!nostartfiles:%{fupc:%:include(upc-crtbegin.spec)%(upc_crtbegin)}}}\ %{L*} %(link_libgcc) %o %{fprofile-arcs|fprofile-generate*|coverage:-lgcov} \ %{fopenacc|fopenmp|ftree-parallelize-loops=*: \ %{static|static-libgcc|static-libstdc++|static-libgfortran: libgomp.a%s; : -lgomp } } \ %{fgnu-tm: \ %{static|static-libgcc|static-libstdc++|static-libgfortran: libitm.a%s; : -litm } } \ + %{fupc:%:include(libgupc.spec)%(link_upc)} \ %{!nostdlib:%{!nodefaultlibs:\ %{%:sanitize(address): -lasan } \ %{%:sanitize(undefined): -lubsan } \ %(link_ssp) %(link_gcc_c_sequence)\ }}\ + %{!nostdlib:%{!nostartfiles:%{fupc:%:include(upc-crtend.spec)%(upc_crtend)}}}\ %{!nostdlib:%{!nostartfiles:%E}} %{T*} %{F*} }}}}}}}" #define DSYMUTIL "\ndsymutil" @@ -922,6 +925,11 @@ extern void darwin_driver_init (unsigned #undef SUPPORTS_INIT_PRIORITY #define SUPPORTS_INIT_PRIORITY 0 +/* UPC section names */ +#define UPC_SHARED_SECTION_NAME "__DATA,upc_shared" +#define UPC_PGM_INFO_SECTION_NAME "__DATA,upc_pgm_info" +#define UPC_INIT_ARRAY_SECTION_NAME "__DATA,upc_init_array" + /* When building cross-compilers (and native crosses) we shall default to providing an osx-version-min of this unless overridden by the User. 10.5 is the only version that fully supports all our archs so that's the