* [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).