public inbox for crossgcc@sourceware.org
 help / color / mirror / Atom feed
* [PATCH] gcc: add support for the PowerPC EABI
@ 2011-09-16  0:20 Mircea Gherzan
  2011-09-16 12:27 ` Yann E. MORIN
  0 siblings, 1 reply; 4+ messages in thread
From: Mircea Gherzan @ 2011-09-16  0:20 UTC (permalink / raw)
  To: crossgcc

# HG changeset patch
# User Mircea Gherzan <mgherzan@gmail.com>
# 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

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH] gcc: add support for the PowerPC EABI
  2011-09-16  0:20 [PATCH] gcc: add support for the PowerPC EABI Mircea Gherzan
@ 2011-09-16 12:27 ` Yann E. MORIN
  2011-09-19 15:40   ` Mircea Gherzan
  0 siblings, 1 reply; 4+ messages in thread
From: Yann E. MORIN @ 2011-09-16 12:27 UTC (permalink / raw)
  To: crossgcc; +Cc: Mircea Gherzan

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

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH] gcc: add support for the PowerPC EABI
  2011-09-16 12:27 ` Yann E. MORIN
@ 2011-09-19 15:40   ` Mircea Gherzan
  2011-09-19 15:50     ` Yann E. MORIN
  0 siblings, 1 reply; 4+ messages in thread
From: Mircea Gherzan @ 2011-09-19 15:40 UTC (permalink / raw)
  To: Yann E. MORIN; +Cc: crossgcc

Hi Yann,

On Fri, Sep 16, 2011 at 02:27:35PM +0200, Yann E. MORIN wrote:
> 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
>          ;;

Thank you for your feedback. All the issues have been addressed in v3 of
the patch. Could you please apply it and release a new version (1.12.3)?

Thanks,
Mircea

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

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH] gcc: add support for the PowerPC EABI
  2011-09-19 15:40   ` Mircea Gherzan
@ 2011-09-19 15:50     ` Yann E. MORIN
  0 siblings, 0 replies; 4+ messages in thread
From: Yann E. MORIN @ 2011-09-19 15:50 UTC (permalink / raw)
  To: crossgcc; +Cc: Mircea Gherzan

Mircea, All,

On Monday 19 September 2011 17:40:08 Mircea Gherzan wrote:
> Thank you for your feedback. All the issues have been addressed in v3 of
> the patch. Could you please apply it and release a new version (1.12.3)?

It's queued up here. Appologies for the slight delay, but I had some
important real-life matters to handle this WE.

The patch is going to the devel branch. As it is a new feature, it's
not gonna be backported to 1.12.x, which is a maintenance branch. It's
gonna be available in the release, 1.13.0 (or whatever it gets called),
due by the end of October if all goes well.

Thank you for your submission! :-)

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

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2011-09-19 15:50 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-09-16  0:20 [PATCH] gcc: add support for the PowerPC EABI Mircea Gherzan
2011-09-16 12:27 ` Yann E. MORIN
2011-09-19 15:40   ` Mircea Gherzan
2011-09-19 15:50     ` Yann E. MORIN

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).