From gcc-patches-return-320440-listarch-gcc-patches=gcc dot gnu dot org at gcc dot gnu dot org Thu Jun 07 08:12:46 2012
Return-Path: <gcc-patches-return-320440-listarch-gcc-patches=gcc dot gnu dot org at gcc dot gnu dot org>
Delivered-To: listarch-gcc-patches at gcc dot gnu dot org
Received: (qmail 445 invoked by alias); 7 Jun 2012 08:12:43 -0000
Received: (qmail 424 invoked by uid 22791); 7 Jun 2012 08:12:40 -0000
X-SWARE-Spam-Status: No, hits=-2.0 required=5.0	tests=AWL,BAYES_00,KHOP_RCVD_UNTRUST,RCVD_IN_DNSWL_LOW,RCVD_IN_HOSTKARMA_YE,TW_IV
X-Spam-Check-By: sourceware.org
Received: from mail-we0-f175.google.com (HELO mail-we0-f175.google.com) (74.125.82.175)    by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Thu, 07 Jun 2012 08:12:27 +0000
Received: by werg55 with SMTP id g55so209213wer.20        for <gcc-patches@gcc.gnu.org>; Thu, 07 Jun 2012 01:12:26 -0700 (PDT)
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;        d=google.com; s=20120113;        h=mime-version:date:message-id:subject:from:to:content-type         :x-gm-message-state;        bh=SJO0wbsS1qZJclrZXlpsPg6EFkZ29Oze680POwwKBC8=;        b=Q1Yklo5qOkYpJQdUv3TiwFt9LtlLti5EmThOwJAGApEI4bYtHBP2x+7FArywhj8sRF         GhRj5A3PlGNFP6fPs+sRRN5CC3aLlC1uvwBui6vYNZY29amjNeMCeMUBOvx+w6rMB2Dm         Y43V6uj6jEaaV6BWfyQbCqpIBGs/RoqgzjyivlgpV08rBN8/TlICyo1R3cRxGmK8ZEkM         hVISgn1JZFi7jLHU+sMvGZw6n/jK6HiSDWVJuAKIqrBZW+xabN7NOttGSaol6EP/Qmvm         2kMEbmGWQ7qlS0M4zhZ5P6M589s8BT+55mp6EtYQTK1k9xcMAghjQb6qJUldG/s+28m5         l2Yg==
MIME-Version: 1.0
Received: by 10.216.145.97 with SMTP id o75mr236201wej.7.1339056746065; Thu, 07 Jun 2012 01:12:26 -0700 (PDT)
Received: by 10.180.81.136 with HTTP; Thu, 7 Jun 2012 01:12:26 -0700 (PDT)
Date: Thu, 7 Jun 2012 16:12:26 +0800
Message-ID: <CACgzC7BV+E_Xd5CuuLATNTkcTNOf9NpTvXz-q0Qdkd4GUkv8FQ@mail.gmail.com>
Subject: [Patch][ARM] Add arm-linux-gnueabihf triplet support.
From: Zhenqiang Chen <zhenqiang dot chen at linaro dot org>
To: gcc-patches at gcc dot gnu dot org
Content-Type: text/plain; charset=ISO-8859-1
X-Gm-Message-State: ALoCoQlkRdIfz+MTdFkUfk/rYgTmJ7feTFMUGo8Cv9HXUXMiXsjQz+aaIdQSAhpaRK8C1hhFnZkn
Mailing-List: contact gcc-patches-help at gcc dot gnu dot org; run by ezmlm
Precedence: bulk
List-Id: <gcc-patches.gcc.gnu.org>
List-Archive: <http://gcc.gnu.org/ml/gcc-patches/>
List-Post: <mailto:gcc-patches at gcc dot gnu dot org>
List-Help: <mailto:gcc-patches-help at gcc dot gnu dot org>
Sender: gcc-patches-owner at gcc dot gnu dot org
Delivered-To: mailing list gcc-patches at gcc dot gnu dot org

Hi,

The patch adds arm-linux-gnueabihf triplet support.

No regression for arm-linux-gnueabi tests.

There are some differences between testsuite results on softfp Natty
builders and the new hard float Precise builders. But none are due to
the change in triplet.

Thanks!
-Zhenqiang

gcc/ada/ChangeLog:
2012-06-07  Zhenqiang Chen  <zhenqiang.chen@linaro.org>

	* gcc-interface/Makefile.in: Update linux-gnueabi to linux-gnueabi%.

gcc/ChangeLog:
2012-06-07  Zhenqiang Chen  <zhenqiang.chen@linaro.org>

	* config.gcc: Update arm*-*-linux-*eabi to arm*-*-linux-*eabi*.
	Add hard-float as default for arm*-*-*eabihf.

libgcc/ChangeLog:
2012-06-07  Zhenqiang Chen  <zhenqiang.chen@linaro.org>

	* config.host: Update arm*-*-linux-*eabi to arm*-*-linux-*eabi*.

libjava/ChangeLog:
2012-06-07  Zhenqiang Chen  <zhenqiang.chen@linaro.org>

	* configure: Update arm*linux*eabi to arm*linux*eabi*.
	* configure.ac: Likewise.

libstdc++-v3/ChangeLog:
2012-06-07  Zhenqiang Chen  <zhenqiang.chen@linaro.org>

	* configure.host: Update arm*-*-linux-*eabi to arm*-*-linux-*eabi*.


diff --git a/gcc/ada/gcc-interface/Makefile.in
b/gcc/ada/gcc-interface/Makefile.in
index 21c2471..bae126d 100644
--- a/gcc/ada/gcc-interface/Makefile.in
+++ b/gcc/ada/gcc-interface/Makefile.in
@@ -1828,7 +1828,7 @@ ifeq ($(strip $(filter-out powerpc% e500% linux%,$(arch) $(osys))),)
   LIBRARY_VERSION := $(LIB_VERSION)
 endif

-ifeq ($(strip $(filter-out arm% linux-gnueabi,$(arch) $(osys)-$(word 4,$(targ)))),)
+ifeq ($(strip $(filter-out arm% linux-gnueabi%,$(arch) $(osys)-$(word 4,$(targ)))),)
   LIBGNAT_TARGET_PAIRS = \
   a-intnam.ads<a-intnam-linux.ads \
   s-inmaop.adb<s-inmaop-posix.adb \
diff --git a/gcc/config.gcc b/gcc/config.gcc
index f2b0936..05d669f 100644
--- a/gcc/config.gcc
+++ b/gcc/config.gcc
@@ -835,7 +835,7 @@ arm*-*-linux*)			# ARM GNU/Linux with ELF
 	esac
 	tmake_file="${tmake_file} arm/t-arm"
 	case ${target} in
-	arm*-*-linux-*eabi)
+	arm*-*-linux-*eabi*)
 	    tm_file="$tm_file arm/bpabi.h arm/linux-eabi.h"
 	    tmake_file="$tmake_file arm/t-arm-elf arm/t-bpabi arm/t-linux-eabi"
 	    # Define multilib configuration for arm-linux-androideabi.
@@ -844,6 +844,11 @@ arm*-*-linux*)			# ARM GNU/Linux with ELF
 		tmake_file="$tmake_file arm/t-linux-androideabi"
 		;;
 	    esac
+	    case ${target} in
+	    arm*-*-*eabihf)
+		with_float=${with_float:-hard}
+		;;
+	    esac
   	    # The BPABI long long divmod functions return a 128-bit value in
 	    # registers r0-r3.  Correctly modeling that requires the use of
 	    # TImode.
diff --git a/libgcc/config.host b/libgcc/config.host
index 14c705b..fd952ff 100644
--- a/libgcc/config.host
+++ b/libgcc/config.host
@@ -316,7 +316,7 @@ arm*-*-netbsdelf*)
 arm*-*-linux*)			# ARM GNU/Linux with ELF
 	tmake_file="${tmake_file} arm/t-arm t-fixedpoint-gnu-prefix"
 	case ${host} in
-	arm*-*-linux-*eabi)
+	arm*-*-linux-*eabi*)
 	  tmake_file="${tmake_file} arm/t-elf arm/t-bpabi arm/t-linux-eabi t-slibgcc-libgcc"
 	  tm_file="$tm_file arm/bpabi-lib.h"
 	  unwind_header=config/arm/unwind-arm.h
diff --git a/libjava/configure b/libjava/configure
index 0bd423d..5067f3b 100755
--- a/libjava/configure
+++ b/libjava/configure
@@ -20548,7 +20548,7 @@ case "${host}" in
     # on Darwin -single_module speeds up loading of the dynamic libraries.
     extra_ldflags_libjava=-Wl,-single_module
     ;;
-arm*linux*eabi)
+arm*linux*eabi*)
     # Some of the ARM unwinder code is actually in libstdc++.  We
     # could in principle replicate it in libgcj, but it's better to
     # have a dependency on libstdc++.
diff --git a/libjava/configure.ac b/libjava/configure.ac
index 62c5000..736608c 100644
--- a/libjava/configure.ac
+++ b/libjava/configure.ac
@@ -931,7 +931,7 @@ case "${host}" in
     # on Darwin -single_module speeds up loading of the dynamic libraries.
     extra_ldflags_libjava=-Wl,-single_module
     ;;
-arm*linux*eabi)
+arm*linux*eabi*)
     # Some of the ARM unwinder code is actually in libstdc++.  We
     # could in principle replicate it in libgcj, but it's better to
     # have a dependency on libstdc++.
diff --git a/libstdc++-v3/configure.host b/libstdc++-v3/configure.host
index 8f29bc2..c29d9d4 100644
--- a/libstdc++-v3/configure.host
+++ b/libstdc++-v3/configure.host
@@ -324,7 +324,7 @@ case "${host}" in
         fi
     esac
     case "${host}" in
-      arm*-*-linux-*eabi)
+      arm*-*-linux-*eabi*)
 	port_specific_symbol_files="\$(srcdir)/../config/os/gnu-linux/arm-eabi-extra.ver"
 	;;
     esac

