This is the mail archive of the crossgcc@sourceware.org mailing list for the crossgcc project.

See the CrossGCC FAQ for lots more information.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH] gcc: add support for the PowerPC EABI


Mircea, All,

On Friday 16 September 2011 02:19:02 Mircea Gherzan wrote:
> # HG changeset patch
> # User Mircea Gherzan <mgherzan@gmail.com>
> # Date 1316132293 -7200
> # Node ID ddb7a1b016c824a0ddaf97768d37c1a1fb287156
> # Parent  eda6ef5a2532607ab7060814eb8b786bd361ab11
> gcc: add support for the PowerPC EABI

You have to add a SoB line:
  http://crosstool-ng.org/hg/crosstool-ng/file/tip/docs/7%20-%20Contributing%20to%20crosstool-NG.txt#l24

> 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

Yes, _POWERPC_ is a legacy naming scheme, back when the menus in the
menuconfig were not autogenerated. Nowadays, the naming scheme is to
use the architecture name in lowercase, the same as the file is named
(eg. 'powerpc' here).

It would be really great if you could also do the rename at the same
time.

> +    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).

This should depend on BARE_METAL.

> +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

The coding style for all other case..esac is either:
 - all on a single line:
     pattern)  code;;
 - one line for pattern, then lines for code, then ';;' on its own line:
     pattern)
         code
         ;;

>      # 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"

Overall, looks godd. 

Regards,
Yann E. MORIN.

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 223 225 172 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'

--
For unsubscribe information see http://sourceware.org/lists.html#faq


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]