From patchwork Fri Jun 9 12:53:56 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Richard Earnshaw \(lists\)" X-Patchwork-Id: 103492 Delivered-To: patch@linaro.org Received: by 10.140.91.77 with SMTP id y71csp195593qgd; Fri, 9 Jun 2017 06:00:06 -0700 (PDT) X-Received: by 10.98.144.143 with SMTP id q15mr42271552pfk.200.1497013206916; Fri, 09 Jun 2017 06:00:06 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1497013206; cv=none; d=google.com; s=arc-20160816; b=rU7+EnznPdKmvu7tqcIf+QA+suQtRPM4HHp1hKqo3rUDQH64cD3X0IHwMXJJxXFqeu TvHkl9w4HdVNkO56X9ELRJGbu+cyt6RCTSkgkhkW8mASrj5DOZz26hSoBB0y8ZSdDvjT rdvyE8c7r9Y/jAU7XapcXOuJeC359EVf0LpS7DvzgJCfDtfxvQmPLld7WV8Z8LYDAqhH ZX1rWogZHyYbiX5ozQ2fcMApFpkf9ZBuo64vLO2wJ0kIf5XLi1Xesb/2PmLsUMJHiQzw YBmQfXfzGTUuRN9m1BNbv1/ikLoGoaGKdMymXlBnmApTEwN/ZALNfHGsY5Z23AINvpaN mrhA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=mime-version:references:in-reply-to:references:in-reply-to :message-id:date:subject:cc:to:from:delivered-to:sender:list-help :list-post:list-archive:list-unsubscribe:list-id:precedence :mailing-list:dkim-signature:domainkey-signature :arc-authentication-results; bh=dpuJSAGI8wrY69DXrNTi4O4xIowuBfbuFDXzyDebi7o=; b=Z0SPNBbchRLdoaZNBQTwKyvYoyw0ZpLMNwc0Az3WU9+PVqR36xlIK7Myz1oFPH4Ol4 uGTRcY93LaPC3wS8w1McuBLThSv64Ykd7o+Rtzlk6i7CHGuvJpyfcAWpzStH6QfnCbO0 lHefnlI6dNcDA+BEebYDJu2j8gHg2c6og7Zloosvl81GVYe43gIFz48CvA6z2Xf0m3IK OGhdvFjuhLp9nZdu4FVj7Pgnvvc/cLbm7kyT5zsUv8J4P+ti3POtZ2TKfTeC8jvCrIsM YedMup4+BEbLdqbddFHFpNLIrvM7aQCU520QS456tHJg8Gr2Q9TnT091ZGGqgpVowrqx AFsA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gcc.gnu.org; spf=pass (google.com: domain of gcc-patches-return-455536-patch=linaro.org@gcc.gnu.org designates 209.132.180.131 as permitted sender) smtp.mailfrom=gcc-patches-return-455536-patch=linaro.org@gcc.gnu.org Return-Path: Received: from sourceware.org (server1.sourceware.org. [209.132.180.131]) by mx.google.com with ESMTPS id l8si931016pln.84.2017.06.09.06.00.06 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 09 Jun 2017 06:00:06 -0700 (PDT) Received-SPF: pass (google.com: domain of gcc-patches-return-455536-patch=linaro.org@gcc.gnu.org designates 209.132.180.131 as permitted sender) client-ip=209.132.180.131; Authentication-Results: mx.google.com; dkim=pass header.i=@gcc.gnu.org; spf=pass (google.com: domain of gcc-patches-return-455536-patch=linaro.org@gcc.gnu.org designates 209.132.180.131 as permitted sender) smtp.mailfrom=gcc-patches-return-455536-patch=linaro.org@gcc.gnu.org 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:in-reply-to:references :in-reply-to:references:mime-version:content-type; q=dns; s= default; b=SLQZMdrS7HHvz7pQlgGbeLYFUtIWgDYRNj0ADywsEvxfAHjmN/B9M yCWbU+2We2eO+1pHPLymMsdNY//8UaOhQVy2sgqFER9X7UDa8sXkd0BazGN5x20G /1iL+YqkIzJ3+0miPeV1I11LoSiaVA1vUbnGlYrL9vwb8vLfOqcFhA= 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:in-reply-to:references :in-reply-to:references:mime-version:content-type; s=default; bh=eMwEMbFr5llt2LMPqmNn5krWs7Y=; b=gr6QSw/8F/kdjW6wYVHBWCdwmYTd 2RLkvfZEhDfD/Td8n2urEqFJKmYK+yQmt9DJ7Sf05lB/03RvNtRtwqxTloAaiGZo s+WSEW+NZ8VL1XhYQkp7ua67xfYRM/envuN+ZNNYDzC5sAULYIMOVWLk87qI6RGv Jpv2wh/DAANTJHc= Received: (qmail 97024 invoked by alias); 9 Jun 2017 12:54:56 -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 86018 invoked by uid 89); 9 Jun 2017 12:54:37 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-26.2 required=5.0 tests=BAYES_00, GIT_PATCH_0, GIT_PATCH_1, GIT_PATCH_2, GIT_PATCH_3, SPF_SOFTFAIL autolearn=ham version=3.3.2 spammy= X-HELO: eggs.gnu.org Received: from eggs.gnu.org (HELO eggs.gnu.org) (208.118.235.92) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Fri, 09 Jun 2017 12:54:34 +0000 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dJJQr-0007j2-Ng for gcc-patches@gcc.gnu.org; Fri, 09 Jun 2017 08:54:31 -0400 Received: from foss.arm.com ([217.140.101.70]:47128) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dJJQr-0007Te-DJ for gcc-patches@gcc.gnu.org; Fri, 09 Jun 2017 08:54:29 -0400 Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.72.51.249]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 1D7331610; Fri, 9 Jun 2017 05:54:29 -0700 (PDT) Received: from e105689-lin.cambridge.arm.com (e105689-lin.cambridge.arm.com [10.2.207.32]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 7BF083F3E1; Fri, 9 Jun 2017 05:54:28 -0700 (PDT) From: Richard Earnshaw To: gcc-patches@gcc.gnu.org Cc: Richard Earnshaw , Joshua Conner Subject: [PATCH 27/30] [arm][fuchsia] Rework multilib support Date: Fri, 9 Jun 2017 13:53:56 +0100 Message-Id: In-Reply-To: References: In-Reply-To: References: MIME-Version: 1.0 X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] [fuzzy] X-Received-From: 217.140.101.70 It looks like the fuchsia port relied on inheriting the multilib rules from the bare-metal port (the t-arm-elf makefile fragment), but that has now been rewritten on the assuption that the base architecture is ARMv4t; fuchsia has a base architecture of ARMv7-a. To account for this, I've cloned the original t-arm-elf rules into a new makefile fragment t-fuchsia and arranged for that to be used when targetting this system. * config/arm/t-fuchsia: New file. * config.gcc (arm*-*-fuchsia*): Use it. --- gcc/config.gcc | 2 +- gcc/config/arm/t-fuchsia | 33 +++++++++++++++++++++++++++++++++ 2 files changed, 34 insertions(+), 1 deletion(-) create mode 100644 gcc/config/arm/t-fuchsia diff --git a/gcc/config.gcc b/gcc/config.gcc index b6dcbcd..967ea77 100644 --- a/gcc/config.gcc +++ b/gcc/config.gcc @@ -1158,7 +1158,7 @@ arm*-*-eabi* | arm*-*-symbianelf* | arm*-*-rtems* | arm*-*-fuchsia*) ;; arm*-*-fuchsia*) tm_file="${tm_file} fuchsia.h arm/fuchsia-elf.h glibc-stdint.h" - tmake_file="${tmake_file} arm/t-bpabi" + tmake_file="${tmake_file} arm/t-bpabi arm/t-fuchsia" target_cpu_cname="generic-armv7-a" ;; arm*-*-rtems*) diff --git a/gcc/config/arm/t-fuchsia b/gcc/config/arm/t-fuchsia new file mode 100644 index 0000000..18fc518 --- /dev/null +++ b/gcc/config/arm/t-fuchsia @@ -0,0 +1,33 @@ +# Copyright (C) 2017 Free Software Foundation, Inc. +# +# This file is part of GCC. +# +# GCC is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3, or (at your option) +# any later version. +# +# GCC is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with GCC; see the file COPYING3. If not see +# . + +# Reset all the multilib variables. +MULTILIB_OPTIONS = +MULTILIB_DIRNAMES = +MULTILIB_EXCEPTIONS = +MULTILIB_REUSE = +MULTILIB_MATCHES = +MULTILIB_REQUIRED = + +# For compatibility with gcc-7 we build the following multilibs +MULTILIB_OPTIONS += marm/mthumb +MULTILIB_DIRNAMES += arm thumb + +MULTILIB_OPTIONS += mfloat-abi=hard +MULTILIB_DIRNAMES += fpu +MULTILIB_EXCEPTIONS += *mthumb/*mfloat-abi=hard*