From patchwork Tue Sep 7 12:30:01 2010 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Christophe Lyon X-Patchwork-Id: 64002 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]) by ozlabs.org (Postfix) with SMTP id E00A5B6EEC for ; Tue, 7 Sep 2010 22:30:39 +1000 (EST) Received: (qmail 25831 invoked by alias); 7 Sep 2010 12:30:37 -0000 Received: (qmail 25812 invoked by uid 22791); 7 Sep 2010 12:30:35 -0000 X-SWARE-Spam-Status: No, hits=-1.6 required=5.0 tests=AWL,BAYES_00 X-Spam-Check-By: sourceware.org Received: from eu1sys200aog118.obsmtp.com (HELO eu1sys200aog118.obsmtp.com) (207.126.144.145) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Tue, 07 Sep 2010 12:30:29 +0000 Received: from source ([167.4.1.35]) (using TLSv1) by eu1sys200aob118.postini.com ([207.126.147.11]) with SMTP ID DSNKTIYwYT5MErfeX7SiMFIMNXDVZn4+yMTp@postini.com; Tue, 07 Sep 2010 12:30:29 UTC Received: from zeta.dmz-us.st.com (ns4.st.com [167.4.80.115]) by beta.dmz-us.st.com (STMicroelectronics) with ESMTP id C571CDC for ; Tue, 7 Sep 2010 12:27:10 +0000 (GMT) Received: from Webmail-eu.st.com (safex1hubcas6.st.com [10.75.90.73]) by zeta.dmz-us.st.com (STMicroelectronics) with ESMTP id 43C0D25D for ; Tue, 7 Sep 2010 12:30:22 +0000 (GMT) Received: from [164.129.122.40] (164.129.122.40) by webmail-eu.st.com (10.75.90.13) with Microsoft SMTP Server (TLS) id 8.2.234.1; Tue, 7 Sep 2010 14:30:01 +0200 Message-ID: <4C863049.1050202@st.com> Date: Tue, 7 Sep 2010 14:30:01 +0200 From: Christophe Lyon User-Agent: Mozilla/5.0 (X11; U; Linux i686 (x86_64); en-US; rv:1.9.2.8) Gecko/20100802 Lightning/1.0b2 Thunderbird/3.1.2 MIME-Version: 1.0 To: Subject: [PATCH, ARM] ARM / linux float ABI discrepancy X-IsSubscribed: yes 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 Hi, As I mentioned in http://gcc.gnu.org/ml/gcc/2010-08/msg00280.html, there is a discrepancy in the description of the default float ABI when it comes to multilib support for ARM/Linux. Without this patch, using MULTILIB_OPTIONS = msoft-float/mhard-float would have the effect of handling 2 lib sets both compiled as msoft-float. The small patch I propose is attached. Christophe. diff -rup gcc-4.5.0/gcc/config/arm/linux-eabi.h gcc-4.5.0.patched//gcc/config/arm/linux-eabi.h --- gcc-4.5.0/gcc/config/arm/linux-eabi.h 2009-10-30 21:03:09.000000000 +0100 +++ gcc-4.5.0.patched//gcc/config/arm/linux-eabi.h 2010-09-07 09:51:13.000000000 +0200 @@ -35,6 +35,10 @@ #undef TARGET_DEFAULT_FLOAT_ABI #define TARGET_DEFAULT_FLOAT_ABI ARM_FLOAT_ABI_SOFT +#undef MULTILIB_DEFAULTS +#define MULTILIB_DEFAULTS \ + { "marm", TARGET_ENDIAN_OPTION, "msoft-float", "mno-thumb-interwork" } + /* We default to the "aapcs-linux" ABI so that enums are int-sized by default. */ #undef ARM_DEFAULT_ABI diff -rup gcc-4.5.0/gcc/config/arm/linux-elf.h gcc-4.5.0.patched//gcc/config/arm/linux-elf.h --- gcc-4.5.0/gcc/config/arm/linux-elf.h 2009-11-05 15:47:45.000000000 +0100 +++ gcc-4.5.0.patched//gcc/config/arm/linux-elf.h 2010-09-07 09:51:09.000000000 +0200 @@ -51,7 +51,7 @@ #undef MULTILIB_DEFAULTS #define MULTILIB_DEFAULTS \ - { "marm", "mlittle-endian", "mhard-float", "mno-thumb-interwork" } + { "marm", TARGET_ENDIAN_OPTION, "mhard-float", "mno-thumb-interwork" } /* Now we define the strings used to build the spec file. */ #undef LIB_SPEC