From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 15990 invoked by alias); 16 Sep 2011 00:20:53 -0000 Received: (qmail 15982 invoked by uid 22791); 16 Sep 2011 00:20:51 -0000 X-SWARE-Spam-Status: No, hits=-2.7 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FROM,RCVD_IN_DNSWL_LOW,T_TO_NO_BRKTS_FREEMAIL X-Spam-Check-By: sourceware.org Received: from mail-fx0-f41.google.com (HELO mail-fx0-f41.google.com) (209.85.161.41) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Fri, 16 Sep 2011 00:20:34 +0000 Received: by fxh17 with SMTP id 17so1325356fxh.0 for ; Thu, 15 Sep 2011 17:20:32 -0700 (PDT) Received: by 10.223.29.9 with SMTP id o9mr668852fac.131.1316132432522; Thu, 15 Sep 2011 17:20:32 -0700 (PDT) Received: from beast3.kawo1.RWTH-Aachen.DE (host-113-129.kawo1.RWTH-Aachen.DE. [134.130.113.129]) by mx.google.com with ESMTPS id h22sm8568019fag.15.2011.09.15.17.20.31 (version=TLSv1/SSLv3 cipher=OTHER); Thu, 15 Sep 2011 17:20:31 -0700 (PDT) Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: [PATCH] gcc: add support for the PowerPC EABI X-Mercurial-Node: ddb7a1b016c824a0ddaf97768d37c1a1fb287156 Message-Id: User-Agent: Mercurial-patchbomb/1.9.2 Date: Fri, 16 Sep 2011 00:20:00 -0000 From: Mircea Gherzan To: crossgcc@sourceware.org Mailing-List: contact crossgcc-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: crossgcc-owner@sourceware.org X-SW-Source: 2011-09/txt/msg00015.txt.bz2 # HG changeset patch # User Mircea Gherzan # Date 1316132293 -7200 # Node ID ddb7a1b016c824a0ddaf97768d37c1a1fb287156 # Parent eda6ef5a2532607ab7060814eb8b786bd361ab11 gcc: add support for the PowerPC EABI diff -r eda6ef5a2532 -r ddb7a1b016c8 config/arch/powerpc.in.2 --- a/config/arch/powerpc.in.2 Mon Sep 12 12:54:45 2011 +0200 +++ b/config/arch/powerpc.in.2 Fri Sep 16 02:18:13 2011 +0200 @@ -1,8 +1,31 @@ # powerpc specific configuration file -config ARCH_POWERPC_SPE +config ARCH_POWERPC_ABI + string + default "" if ARCH_POWERPC_ABI_DEFAULT + default "eabi" if ARCH_POWERPC_ABI_EABI + default "spe" if ARCH_POWERPC_ABI_SPE + +choice bool - prompt "Enable SPE support" + prompt "ABI" + default ARCH_POWERPC_ABI_DEFAULT + +config ARCH_POWERPC_ABI_DEFAULT + bool + prompt "default" + help + The default ABI (System V.4). + +config ARCH_POWERPC_ABI_EABI + bool + prompt "EABI" + help + The Embedded ABI (stack alignment of 8 bytes, etc). + +config ARCH_POWERPC_ABI_SPE + bool + prompt "SPE" help Add support for the Signal Processing Engine. This will set up the toolchain so that it supports the SPE ABI extensions. This @@ -14,3 +37,6 @@ will also automatically add "-mabi=spe -mspe" to your TARGET_CFLAGS, and "--enable-e500_double" to your CC_EXTRA_CONFIG_ARRAY, so you do not need to explicitly add them. + +endchoice + diff -r eda6ef5a2532 -r ddb7a1b016c8 scripts/build/arch/powerpc.sh --- a/scripts/build/arch/powerpc.sh Mon Sep 12 12:54:45 2011 +0200 +++ b/scripts/build/arch/powerpc.sh Fri Sep 16 02:18:13 2011 +0200 @@ -6,14 +6,23 @@ CT_TARGET_ARCH="powerpc64" fi - # Add spe in the tuple if needed - case "${CT_LIBC},${CT_ARCH_POWERPC_SPE}" in - glibc,|eglibc,) CT_TARGET_SYS=gnu;; - glibc,y|eglibc,y) CT_TARGET_SYS=gnuspe;; + CT_TARGET_SYS="gnu" + case "${CT_ARCH_POWERPC_ABI}" in + "") ;; + eabi) + CT_TARGET_SYS="eabi";; + spe) + case "${CT_LIBC}" in + glibc|eglibc) + CT_TARGET_SYS="gnuspe";; + *) + CT_TARGET_SYS="spe";; + + esac;; esac # Add extra flags for SPE if needed - if [ "${CT_ARCH_POWERPC_SPE}" = "y" ]; then + if [ "${CT_ARCH_POWERPC_ABI_SPE}" = "y" ]; then CT_ARCH_TARGET_CFLAGS="-mabi=spe -mspe" CT_ARCH_CC_CORE_EXTRA_CONFIG="--enable-e500_double" CT_ARCH_CC_EXTRA_CONFIG="--enable-e500_double" -- For unsubscribe information see http://sourceware.org/lists.html#faq