Patchwork Multilib changes ARM RTEMS

login
register
mail settings
Submitter Sebastian Huber
Date May 8, 2013, 10:06 a.m.
Message ID <1368007566-7800-1-git-send-email-sebastian.huber@embedded-brains.de>
Download mbox | patch
Permalink /patch/242539/
State New
Headers show

Comments

Sebastian Huber - May 8, 2013, 10:06 a.m.
This patch should be applied to all open GCC branches.

This patch removes the mthumb/march=armv7 since it is virtually equal to
the mthumb/march=armv7-m multilib.  Add variants for ARMv7-A and
ARMv7-R.

I tried to use the MULTILIB_REQUIRED option, but this didn't work for
patterns with more than two options.

gcc/ChangeLog
2013-05-08  Sebastian Huber <sebastian.huber@embedded-brains.de>

	* config/arm/t-rtems-eabi: Remove mthumb/march=armv7 multilib.
	Add mthumb/march=armv7-a multilib.
	Add mthumb/march=armv7-r multilib.
	Add mthumb/march=armv7-a/mfpu=neon/mfloat-abi=hard multilib.
---
 gcc/config/arm/t-rtems-eabi |   51 +++++++++++++++++++++++++++++++++++++-----
 1 files changed, 45 insertions(+), 6 deletions(-)
Joel Sherrill - May 8, 2013, 1:14 p.m.
I would like to hear from an ARM maintainer before I commit this.

--joel

On 5/8/2013 5:06 AM, Sebastian Huber wrote:
> This patch should be applied to all open GCC branches.
>
> This patch removes the mthumb/march=armv7 since it is virtually equal to
> the mthumb/march=armv7-m multilib.  Add variants for ARMv7-A and
> ARMv7-R.
>
> I tried to use the MULTILIB_REQUIRED option, but this didn't work for
> patterns with more than two options.
>
> gcc/ChangeLog
> 2013-05-08  Sebastian Huber <sebastian.huber@embedded-brains.de>
>
> 	* config/arm/t-rtems-eabi: Remove mthumb/march=armv7 multilib.
> 	Add mthumb/march=armv7-a multilib.
> 	Add mthumb/march=armv7-r multilib.
> 	Add mthumb/march=armv7-a/mfpu=neon/mfloat-abi=hard multilib.
> ---
>   gcc/config/arm/t-rtems-eabi |   51 +++++++++++++++++++++++++++++++++++++-----
>   1 files changed, 45 insertions(+), 6 deletions(-)
>
> diff --git a/gcc/config/arm/t-rtems-eabi b/gcc/config/arm/t-rtems-eabi
> index f0e714a..d81fbf7 100644
> --- a/gcc/config/arm/t-rtems-eabi
> +++ b/gcc/config/arm/t-rtems-eabi
> @@ -1,8 +1,47 @@
>   # Custom RTEMS EABI multilibs
>   
> -MULTILIB_OPTIONS    = mthumb march=armv6-m/march=armv7/march=armv7-m
> -MULTILIB_DIRNAMES   = thumb armv6-m armv7 armv7-m
> -MULTILIB_EXCEPTIONS = march=armv6-m march=armv7 march=armv7-m
> -MULTILIB_MATCHES    =
> -MULTILIB_EXCLUSIONS =
> -MULTILIB_OSDIRNAMES =
> +MULTILIB_OPTIONS  = mthumb march=armv6-m/march=armv7-a/march=armv7-r/march=armv7-m mfpu=neon mfloat-abi=hard
> +MULTILIB_DIRNAMES = thumb armv6-m armv7-a armv7-r armv7-m neon hard
> +
> +# Enumeration of multilibs
> +
> +MULTILIB_EXCEPTIONS =
> +MULTILIB_EXCEPTIONS += mthumb/march=armv6-m/mfpu=neon/mfloat-abi=hard
> +MULTILIB_EXCEPTIONS += mthumb/march=armv6-m/mfpu=neon
> +MULTILIB_EXCEPTIONS += mthumb/march=armv6-m/mfloat-abi=hard
> +# MULTILIB_EXCEPTIONS += mthumb/march=armv6-m
> +# MULTILIB_EXCEPTIONS += mthumb/march=armv7-a/mfpu=neon/mfloat-abi=hard
> +MULTILIB_EXCEPTIONS += mthumb/march=armv7-a/mfpu=neon
> +MULTILIB_EXCEPTIONS += mthumb/march=armv7-a/mfloat-abi=hard
> +# MULTILIB_EXCEPTIONS += mthumb/march=armv7-a
> +MULTILIB_EXCEPTIONS += mthumb/march=armv7-r/mfpu=neon/mfloat-abi=hard
> +MULTILIB_EXCEPTIONS += mthumb/march=armv7-r/mfpu=neon
> +MULTILIB_EXCEPTIONS += mthumb/march=armv7-r/mfloat-abi=hard
> +# MULTILIB_EXCEPTIONS += mthumb/march=armv7-r
> +MULTILIB_EXCEPTIONS += mthumb/march=armv7-m/mfpu=neon/mfloat-abi=hard
> +MULTILIB_EXCEPTIONS += mthumb/march=armv7-m/mfpu=neon
> +MULTILIB_EXCEPTIONS += mthumb/march=armv7-m/mfloat-abi=hard
> +# MULTILIB_EXCEPTIONS += mthumb/march=armv7-m
> +MULTILIB_EXCEPTIONS += mthumb/mfpu=neon/mfloat-abi=hard
> +MULTILIB_EXCEPTIONS += mthumb/mfpu=neon
> +MULTILIB_EXCEPTIONS += mthumb/mfloat-abi=hard
> +# MULTILIB_EXCEPTIONS += mthumb
> +MULTILIB_EXCEPTIONS += march=armv6-m/mfpu=neon/mfloat-abi=hard
> +MULTILIB_EXCEPTIONS += march=armv6-m/mfpu=neon
> +MULTILIB_EXCEPTIONS += march=armv6-m/mfloat-abi=hard
> +MULTILIB_EXCEPTIONS += march=armv6-m
> +MULTILIB_EXCEPTIONS += march=armv7-a/mfpu=neon/mfloat-abi=hard
> +MULTILIB_EXCEPTIONS += march=armv7-a/mfpu=neon
> +MULTILIB_EXCEPTIONS += march=armv7-a/mfloat-abi=hard
> +MULTILIB_EXCEPTIONS += march=armv7-a
> +MULTILIB_EXCEPTIONS += march=armv7-r/mfpu=neon/mfloat-abi=hard
> +MULTILIB_EXCEPTIONS += march=armv7-r/mfpu=neon
> +MULTILIB_EXCEPTIONS += march=armv7-r/mfloat-abi=hard
> +MULTILIB_EXCEPTIONS += march=armv7-r
> +MULTILIB_EXCEPTIONS += march=armv7-m/mfpu=neon/mfloat-abi=hard
> +MULTILIB_EXCEPTIONS += march=armv7-m/mfpu=neon
> +MULTILIB_EXCEPTIONS += march=armv7-m/mfloat-abi=hard
> +MULTILIB_EXCEPTIONS += march=armv7-m
> +MULTILIB_EXCEPTIONS += mfpu=neon/mfloat-abi=hard
> +MULTILIB_EXCEPTIONS += mfpu=neon
> +MULTILIB_EXCEPTIONS += mfloat-abi=hard
Joel Sherrill - May 10, 2013, 3:09 p.m.
Committed to 4.7, 4.8 and head.

On 5/8/2013 5:06 AM, Sebastian Huber wrote:
> This patch should be applied to all open GCC branches.
>
> This patch removes the mthumb/march=armv7 since it is virtually equal to
> the mthumb/march=armv7-m multilib.  Add variants for ARMv7-A and
> ARMv7-R.
>
> I tried to use the MULTILIB_REQUIRED option, but this didn't work for
> patterns with more than two options.
>
> gcc/ChangeLog
> 2013-05-08  Sebastian Huber <sebastian.huber@embedded-brains.de>
>
> 	* config/arm/t-rtems-eabi: Remove mthumb/march=armv7 multilib.
> 	Add mthumb/march=armv7-a multilib.
> 	Add mthumb/march=armv7-r multilib.
> 	Add mthumb/march=armv7-a/mfpu=neon/mfloat-abi=hard multilib.
> ---
>   gcc/config/arm/t-rtems-eabi |   51 +++++++++++++++++++++++++++++++++++++-----
>   1 files changed, 45 insertions(+), 6 deletions(-)
>
> diff --git a/gcc/config/arm/t-rtems-eabi b/gcc/config/arm/t-rtems-eabi
> index f0e714a..d81fbf7 100644
> --- a/gcc/config/arm/t-rtems-eabi
> +++ b/gcc/config/arm/t-rtems-eabi
> @@ -1,8 +1,47 @@
>   # Custom RTEMS EABI multilibs
>   
> -MULTILIB_OPTIONS    = mthumb march=armv6-m/march=armv7/march=armv7-m
> -MULTILIB_DIRNAMES   = thumb armv6-m armv7 armv7-m
> -MULTILIB_EXCEPTIONS = march=armv6-m march=armv7 march=armv7-m
> -MULTILIB_MATCHES    =
> -MULTILIB_EXCLUSIONS =
> -MULTILIB_OSDIRNAMES =
> +MULTILIB_OPTIONS  = mthumb march=armv6-m/march=armv7-a/march=armv7-r/march=armv7-m mfpu=neon mfloat-abi=hard
> +MULTILIB_DIRNAMES = thumb armv6-m armv7-a armv7-r armv7-m neon hard
> +
> +# Enumeration of multilibs
> +
> +MULTILIB_EXCEPTIONS =
> +MULTILIB_EXCEPTIONS += mthumb/march=armv6-m/mfpu=neon/mfloat-abi=hard
> +MULTILIB_EXCEPTIONS += mthumb/march=armv6-m/mfpu=neon
> +MULTILIB_EXCEPTIONS += mthumb/march=armv6-m/mfloat-abi=hard
> +# MULTILIB_EXCEPTIONS += mthumb/march=armv6-m
> +# MULTILIB_EXCEPTIONS += mthumb/march=armv7-a/mfpu=neon/mfloat-abi=hard
> +MULTILIB_EXCEPTIONS += mthumb/march=armv7-a/mfpu=neon
> +MULTILIB_EXCEPTIONS += mthumb/march=armv7-a/mfloat-abi=hard
> +# MULTILIB_EXCEPTIONS += mthumb/march=armv7-a
> +MULTILIB_EXCEPTIONS += mthumb/march=armv7-r/mfpu=neon/mfloat-abi=hard
> +MULTILIB_EXCEPTIONS += mthumb/march=armv7-r/mfpu=neon
> +MULTILIB_EXCEPTIONS += mthumb/march=armv7-r/mfloat-abi=hard
> +# MULTILIB_EXCEPTIONS += mthumb/march=armv7-r
> +MULTILIB_EXCEPTIONS += mthumb/march=armv7-m/mfpu=neon/mfloat-abi=hard
> +MULTILIB_EXCEPTIONS += mthumb/march=armv7-m/mfpu=neon
> +MULTILIB_EXCEPTIONS += mthumb/march=armv7-m/mfloat-abi=hard
> +# MULTILIB_EXCEPTIONS += mthumb/march=armv7-m
> +MULTILIB_EXCEPTIONS += mthumb/mfpu=neon/mfloat-abi=hard
> +MULTILIB_EXCEPTIONS += mthumb/mfpu=neon
> +MULTILIB_EXCEPTIONS += mthumb/mfloat-abi=hard
> +# MULTILIB_EXCEPTIONS += mthumb
> +MULTILIB_EXCEPTIONS += march=armv6-m/mfpu=neon/mfloat-abi=hard
> +MULTILIB_EXCEPTIONS += march=armv6-m/mfpu=neon
> +MULTILIB_EXCEPTIONS += march=armv6-m/mfloat-abi=hard
> +MULTILIB_EXCEPTIONS += march=armv6-m
> +MULTILIB_EXCEPTIONS += march=armv7-a/mfpu=neon/mfloat-abi=hard
> +MULTILIB_EXCEPTIONS += march=armv7-a/mfpu=neon
> +MULTILIB_EXCEPTIONS += march=armv7-a/mfloat-abi=hard
> +MULTILIB_EXCEPTIONS += march=armv7-a
> +MULTILIB_EXCEPTIONS += march=armv7-r/mfpu=neon/mfloat-abi=hard
> +MULTILIB_EXCEPTIONS += march=armv7-r/mfpu=neon
> +MULTILIB_EXCEPTIONS += march=armv7-r/mfloat-abi=hard
> +MULTILIB_EXCEPTIONS += march=armv7-r
> +MULTILIB_EXCEPTIONS += march=armv7-m/mfpu=neon/mfloat-abi=hard
> +MULTILIB_EXCEPTIONS += march=armv7-m/mfpu=neon
> +MULTILIB_EXCEPTIONS += march=armv7-m/mfloat-abi=hard
> +MULTILIB_EXCEPTIONS += march=armv7-m
> +MULTILIB_EXCEPTIONS += mfpu=neon/mfloat-abi=hard
> +MULTILIB_EXCEPTIONS += mfpu=neon
> +MULTILIB_EXCEPTIONS += mfloat-abi=hard

Patch

diff --git a/gcc/config/arm/t-rtems-eabi b/gcc/config/arm/t-rtems-eabi
index f0e714a..d81fbf7 100644
--- a/gcc/config/arm/t-rtems-eabi
+++ b/gcc/config/arm/t-rtems-eabi
@@ -1,8 +1,47 @@ 
 # Custom RTEMS EABI multilibs
 
-MULTILIB_OPTIONS    = mthumb march=armv6-m/march=armv7/march=armv7-m
-MULTILIB_DIRNAMES   = thumb armv6-m armv7 armv7-m
-MULTILIB_EXCEPTIONS = march=armv6-m march=armv7 march=armv7-m
-MULTILIB_MATCHES    =
-MULTILIB_EXCLUSIONS =
-MULTILIB_OSDIRNAMES =
+MULTILIB_OPTIONS  = mthumb march=armv6-m/march=armv7-a/march=armv7-r/march=armv7-m mfpu=neon mfloat-abi=hard
+MULTILIB_DIRNAMES = thumb armv6-m armv7-a armv7-r armv7-m neon hard
+
+# Enumeration of multilibs
+
+MULTILIB_EXCEPTIONS =
+MULTILIB_EXCEPTIONS += mthumb/march=armv6-m/mfpu=neon/mfloat-abi=hard
+MULTILIB_EXCEPTIONS += mthumb/march=armv6-m/mfpu=neon
+MULTILIB_EXCEPTIONS += mthumb/march=armv6-m/mfloat-abi=hard
+# MULTILIB_EXCEPTIONS += mthumb/march=armv6-m
+# MULTILIB_EXCEPTIONS += mthumb/march=armv7-a/mfpu=neon/mfloat-abi=hard
+MULTILIB_EXCEPTIONS += mthumb/march=armv7-a/mfpu=neon
+MULTILIB_EXCEPTIONS += mthumb/march=armv7-a/mfloat-abi=hard
+# MULTILIB_EXCEPTIONS += mthumb/march=armv7-a
+MULTILIB_EXCEPTIONS += mthumb/march=armv7-r/mfpu=neon/mfloat-abi=hard
+MULTILIB_EXCEPTIONS += mthumb/march=armv7-r/mfpu=neon
+MULTILIB_EXCEPTIONS += mthumb/march=armv7-r/mfloat-abi=hard
+# MULTILIB_EXCEPTIONS += mthumb/march=armv7-r
+MULTILIB_EXCEPTIONS += mthumb/march=armv7-m/mfpu=neon/mfloat-abi=hard
+MULTILIB_EXCEPTIONS += mthumb/march=armv7-m/mfpu=neon
+MULTILIB_EXCEPTIONS += mthumb/march=armv7-m/mfloat-abi=hard
+# MULTILIB_EXCEPTIONS += mthumb/march=armv7-m
+MULTILIB_EXCEPTIONS += mthumb/mfpu=neon/mfloat-abi=hard
+MULTILIB_EXCEPTIONS += mthumb/mfpu=neon
+MULTILIB_EXCEPTIONS += mthumb/mfloat-abi=hard
+# MULTILIB_EXCEPTIONS += mthumb
+MULTILIB_EXCEPTIONS += march=armv6-m/mfpu=neon/mfloat-abi=hard
+MULTILIB_EXCEPTIONS += march=armv6-m/mfpu=neon
+MULTILIB_EXCEPTIONS += march=armv6-m/mfloat-abi=hard
+MULTILIB_EXCEPTIONS += march=armv6-m
+MULTILIB_EXCEPTIONS += march=armv7-a/mfpu=neon/mfloat-abi=hard
+MULTILIB_EXCEPTIONS += march=armv7-a/mfpu=neon
+MULTILIB_EXCEPTIONS += march=armv7-a/mfloat-abi=hard
+MULTILIB_EXCEPTIONS += march=armv7-a
+MULTILIB_EXCEPTIONS += march=armv7-r/mfpu=neon/mfloat-abi=hard
+MULTILIB_EXCEPTIONS += march=armv7-r/mfpu=neon
+MULTILIB_EXCEPTIONS += march=armv7-r/mfloat-abi=hard
+MULTILIB_EXCEPTIONS += march=armv7-r
+MULTILIB_EXCEPTIONS += march=armv7-m/mfpu=neon/mfloat-abi=hard
+MULTILIB_EXCEPTIONS += march=armv7-m/mfpu=neon
+MULTILIB_EXCEPTIONS += march=armv7-m/mfloat-abi=hard
+MULTILIB_EXCEPTIONS += march=armv7-m
+MULTILIB_EXCEPTIONS += mfpu=neon/mfloat-abi=hard
+MULTILIB_EXCEPTIONS += mfpu=neon
+MULTILIB_EXCEPTIONS += mfloat-abi=hard