From patchwork Wed Jun 12 14:21:59 2013 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Matthias Klose X-Patchwork-Id: 250801 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 "localhost", Issuer "www.qmailtoaster.com" (not verified)) by ozlabs.org (Postfix) with ESMTPS id 6B1262C008F for ; Thu, 13 Jun 2013 00:22:20 +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 :message-id:date:from:mime-version:to:cc:subject:content-type; q=dns; s=default; b=YQOeoUgf6WjGQyczoLaM2YCxsR8Q2BRwiVf2Alnj8rg apDTqM6fl/AzyDKgXvCJHyosyfn0ecqTpr46In6ZJJpPLxO7CcmjLD2Kw5S/RB0H lVyPjetrFlvfnF5WcHKCLOG7YgroPnmfn/oPFdzJXa1KDkG3ml2IL4O1/8P2u6s8 = 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 :message-id:date:from:mime-version:to:cc:subject:content-type; s=default; bh=JrK7e34kWBTywd7+/211saEfJTs=; b=AHJv/ZvXr3JTqa4t3 e5biFhQYgYJrLW2lb4EoY/tlNKYQkS3RUGIZWW3GjKgwPR6Had4w22HAuab0QCBO mU3HtRU3WX734XGxupGCW4KyuVtCqzWISGP7QdmwbXBBR/cC+CN1FdwdjWpr9dPe gcbjefaEwevZRzH282+OcmfSl0= Received: (qmail 21570 invoked by alias); 12 Jun 2013 14:22:13 -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 21535 invoked by uid 89); 12 Jun 2013 14:22:07 -0000 X-Spam-SWARE-Status: No, score=-2.2 required=5.0 tests=AWL, BAYES_00, KHOP_RCVD_UNTRUST, RCVD_IN_DNSWL_LOW autolearn=ham version=3.3.1 Received: from youngberry.canonical.com (HELO youngberry.canonical.com) (91.189.89.112) by sourceware.org (qpsmtpd/0.84/v0.84-167-ge50287c) with ESMTP; Wed, 12 Jun 2013 14:22:06 +0000 Received: from dslb-088-073-071-126.pools.arcor-ip.net ([88.73.71.126] helo=[192.168.42.222]) by youngberry.canonical.com with esmtpsa (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1Umlw3-0002fl-Os; Wed, 12 Jun 2013 14:22:03 +0000 Message-ID: <51B88407.9000508@ubuntu.com> Date: Wed, 12 Jun 2013 16:21:59 +0200 From: Matthias Klose User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20130510 Thunderbird/17.0.6 MIME-Version: 1.0 To: GCC Patches CC: David Edelsohn , Richard Sandiford , "David S. Miller" , Ulrich Weigand , Uros Bizjak , "H.J. Lu" Subject: [patch] set MULTIARCH_DIRNAME for multilib architectures X-Virus-Found: No [CCing port maintainers] Currently the MULTIARCH_DIRNAME is not correctly set for the x86_64-kfreebsd-gnu target, and is not set at all for architectures which do have multilib configurations by default. This patch makes sure that MULTIARCH_DIRNAME is always set to the default multilib configuration for these multilib targets. I am using this macro in a local patch which installs the host specific C++ headers to /usr/include/$(MULTIARCH_DIRNAME)/c++/4.x.y instead of $(gcc_gxx_include_dir)/$(target_noncanonical). Ok for the trunk? Matthias 2013-06-12 Matthias Klose * config/i386/t-linux64: Set MULTIARCH_DIRNAME. * config/i386/t-kfreebsd: Set MULTIARCH_DIRNAME. * config.gcc (i[34567]86-*-linux* | x86_64-*-linux*): Prepend i386/t-linux to $tmake_file. * config/mips/t-linux64: Set MULTIARCH_DIRNAME. * config/rs6000/t-linux64: Set MULTIARCH_DIRNAME. * config/s390/t-linux64: Set MULTIARCH_DIRNAME. * config/sparc/t-linux64: Set MULTIARCH_DIRNAME. Index: config/sparc/t-linux64 =================================================================== --- config/sparc/t-linux64 (revision 200012) +++ config/sparc/t-linux64 (working copy) @@ -27,3 +27,5 @@ MULTILIB_DIRNAMES = 64 32 MULTILIB_OSDIRNAMES = ../lib64$(call if_multiarch,:sparc64-linux-gnu) MULTILIB_OSDIRNAMES += $(if $(wildcard $(shell echo $(SYSTEM_HEADER_DIR))/../../usr/lib32),../lib32,../lib)$(call if_multiarch,:sparc-linux-gnu) + +MULTIARCH_DIRNAME = $(call if_multiarch,sparc$(if $(findstring 64,$(target)),64)-linux-gnu) Index: config/mips/t-linux64 =================================================================== --- config/mips/t-linux64 (revision 200012) +++ config/mips/t-linux64 (working copy) @@ -24,3 +24,13 @@ ../lib32$(call if_multiarch,:mips64$(MIPS_EL)-linux-gnuabin32$(MIPS_SOFT)) \ ../lib$(call if_multiarch,:mips$(MIPS_EL)-linux-gnu$(MIPS_SOFT)) \ ../lib64$(call if_multiarch,:mips64$(MIPS_EL)-linux-gnuabi64$(MIPS_SOFT)) + +ifneq (,$(findstring abin32,$(target))) +MULTIARCH_DIRNAME = $(call if_multiarch,mips64$(MIPS_EL)-linux-gnuabin32$(MIPS_SOFT)) +else +ifneq (,$(findstring abi64,$(target))) +MULTIARCH_DIRNAME = $(call if_multiarch,mips64$(MIPS_EL)-linux-gnuabi64$(MIPS_SOFT)) +else +MULTIARCH_DIRNAME = $(call if_multiarch,mips$(MIPS_EL)-linux-gnu$(MIPS_SOFT)) +endif +endif Index: config/rs6000/t-linux64 =================================================================== --- config/rs6000/t-linux64 (revision 200012) +++ config/rs6000/t-linux64 (working copy) @@ -30,3 +30,5 @@ MULTILIB_EXTRA_OPTS = fPIC MULTILIB_OSDIRNAMES = ../lib64$(call if_multiarch,:powerpc64-linux-gnu) MULTILIB_OSDIRNAMES += $(if $(wildcard $(shell echo $(SYSTEM_HEADER_DIR))/../../usr/lib32),../lib32,../lib)$(call if_multiarch,:powerpc-linux-gnu) + +MULTIARCH_DIRNAME = $(call if_multiarch,powerpc$(if $(findstring 64,$(target)),64)-linux-gnu) Index: config/s390/t-linux64 =================================================================== --- config/s390/t-linux64 (revision 200012) +++ config/s390/t-linux64 (working copy) @@ -9,3 +9,5 @@ MULTILIB_DIRNAMES = 64 32 MULTILIB_OSDIRNAMES = ../lib64$(call if_multiarch,:s390x-linux-gnu) MULTILIB_OSDIRNAMES += $(if $(wildcard $(shell echo $(SYSTEM_HEADER_DIR))/../../usr/lib32),../lib32,../lib)$(call if_multiarch,:s390-linux-gnu) + +MULTIARCH_DIRNAME = $(call if_multiarch,s390$(if $(findstring s390x,$(target)),x)-linux-gnu) Index: config/i386/t-kfreebsd =================================================================== --- config/i386/t-kfreebsd (revision 200012) +++ config/i386/t-kfreebsd (working copy) @@ -1,5 +1,9 @@ -MULTIARCH_DIRNAME = $(call if_multiarch,i386-kfreebsd-gnu) +ifeq (,$(MULTIARCH_DIRNAME)) + MULTIARCH_DIRNAME = $(call if_multiarch,i386-kfreebsd-gnu) +endif # MULTILIB_OSDIRNAMES are set in t-linux64. KFREEBSD_OS = $(filter kfreebsd%, $(word 3, $(subst -, ,$(target)))) MULTILIB_OSDIRNAMES := $(filter-out mx32=%,$(subst linux,$(KFREEBSD_OS),$(MULTILIB_OSDIRNAMES))) + +MULTIARCH_DIRNAME := $(subst linux,$(KFREEBSD_OS),$(MULTIARCH_DIRNAME)) Index: config/i386/t-linux64 =================================================================== --- config/i386/t-linux64 (revision 200012) +++ config/i386/t-linux64 (working copy) @@ -36,3 +36,13 @@ MULTILIB_OSDIRNAMES = m64=../lib64$(call if_multiarch,:x86_64-linux-gnu) MULTILIB_OSDIRNAMES+= m32=$(if $(wildcard $(shell echo $(SYSTEM_HEADER_DIR))/../../usr/lib32),../lib32,../lib)$(call if_multiarch,:i386-linux-gnu) MULTILIB_OSDIRNAMES+= mx32=../libx32$(call if_multiarch,:x86_64-linux-gnux32) + +ifneq (,$(findstring x86_64,$(target))) + ifneq (,$(findstring biarchx32.h,$(tm_include_list))) + MULTIARCH_DIRNAME = $(call if_multiarch,x86_64-linux-gnux32) + else + MULTIARCH_DIRNAME = $(call if_multiarch,x86_64-linux-gnu) + endif +else + MULTIARCH_DIRNAME = $(call if_multiarch,i386-linux-gnu) +endif Index: config.gcc =================================================================== --- config.gcc (revision 200012) +++ config.gcc (working copy) @@ -3738,7 +3738,7 @@ i[34567]86-*-darwin* | x86_64-*-darwin*) ;; i[34567]86-*-linux* | x86_64-*-linux*) - tmake_file="$tmake_file i386/t-linux" + tmake_file="i386/t-linux $tmake_file" ;; i[34567]86-*-kfreebsd*-gnu | x86_64-*-kfreebsd*-gnu) tmake_file="$tmake_file i386/t-kfreebsd"