From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 28704 invoked by alias); 29 Mar 2012 19:34:17 -0000 Received: (qmail 28635 invoked by uid 22791); 29 Mar 2012 19:34:16 -0000 X-SWARE-Spam-Status: No, hits=-1.9 required=5.0 tests=BAYES_00 X-Spam-Check-By: sourceware.org Received: from complete.lackof.org (HELO complete.lackof.org) (198.49.126.79) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Thu, 29 Mar 2012 19:34:02 +0000 Received: from fluid.dannf (localhost [127.0.0.1]) by complete.lackof.org (Postfix) with ESMTP id C276B33E00C1; Thu, 29 Mar 2012 13:34:01 -0600 (MDT) Received: by fluid.dannf (Postfix, from userid 1000) id 98611A0240; Thu, 29 Mar 2012 13:34:01 -0600 (MDT) Date: Thu, 29 Mar 2012 19:34:00 -0000 From: dann frazier To: gcc-patches@gcc.gnu.org Cc: cross-distro@lists.linaro.org Subject: [PATCH] ARM: Use different linker path for hardfloat ABI Message-ID: <20120329193401.GA14860@dannf.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.5.21 (2010-09-15) Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org X-SW-Source: 2012-03/txt/msg01882.txt.bz2 This is an updated version of a patch Debian and Ubuntu are using to use an alternate linker path for hardfloat binaries. The difference with this one is that it covers the case where no float flag was passed in, defaulting to the softfloat path. 2012-03-29 dann frazier * config/arm/linux-elf.h: Use alternate linker path for hardfloat ABI Index: gcc/config/arm/linux-elf.h =================================================================== --- gcc/config/arm/linux-elf.h (revision 185708) +++ gcc/config/arm/linux-elf.h (working copy) @@ -59,14 +59,21 @@ #define LIBGCC_SPEC "%{mfloat-abi=soft*:-lfloat} -lgcc" -#define GLIBC_DYNAMIC_LINKER "/lib/ld-linux.so.2" +#define LINUX_DYNAMIC_LINKER_SF "/lib/ld-linux.so.3" +#define LINUX_DYNAMIC_LINKER_HF "/lib/arm-linux-gnueabihf/ld-linux.so.3" #define LINUX_TARGET_LINK_SPEC "%{h*} \ %{static:-Bstatic} \ %{shared:-shared} \ %{symbolic:-Bsymbolic} \ %{rdynamic:-export-dynamic} \ - -dynamic-linker " GNU_USER_DYNAMIC_LINKER " \ + %{msoft-float:-dynamic-linker " LINUX_DYNAMIC_LINKER_SF "} \ + %{mfloat-abi=soft*:-dynamic-linker " LINUX_DYNAMIC_LINKER_SF "} \ + %{mhard-float:-dynamic-linker " LINUX_DYNAMIC_LINKER_HF "} \ + %{mfloat-abi=hard:-dynamic-linker " LINUX_DYNAMIC_LINKER_HF "} \ + %{!mfloat-abi: \ + %{!msoft-float: \ + %{!mhard-float:-dynamic-linker " LINUX_DYNAMIC_LINKER_SF "}}} \ -X \ %{mbig-endian:-EB} %{mlittle-endian:-EL}" \ SUBTARGET_EXTRA_LINK_SPEC