[PATCH 1/2] RTEMS Source Builder changes for lpc32xx VFP support

Kirspel, Kevin Kevin-Kirspel at idexx.com
Fri Aug 19 12:39:44 UTC 2016


This goes back 5 or more years ago so my recollection might be off but I had issues with GCC 4.5.2 using -mfloat-abi=hard.  NXP recommends -mfloat-abi=softfp.  I can't find the article or forum now but I think it had to do with the fact that the LPC3250 VFP didn't support all the required instructions for -mfloat-abi=hard (something about needing a Undefined Instruction exception handler to process unsupported VFP instructions).  Using -mfloat-abi=softfp eliminates the need for the Undefined Instruction exception handler to handle unsupported VFP instructions.

Kevin Kirspel
Electrical Engineer - Sr. Staff
Opti Medical
235 Hembree Park Drive
Roswell GA 30076
Tel: (770)-510-4444 ext. 81642
Direct: (770)-688-1642
Fax: (770)-510-4445

-----Original Message-----
From: Sebastian Huber [mailto:sebastian.huber at embedded-brains.de] 
Sent: Friday, August 19, 2016 1:22 AM
To: Kirspel, Kevin <Kevin-Kirspel at idexx.com>; devel at rtems.org
Subject: Re: [PATCH 1/2] RTEMS Source Builder changes for lpc32xx VFP support



On 19/08/16 02:11, Kirspel, Kevin wrote:
>
> diff --git 
> a/source-builder/patches/gcc-6.1.1-arm-eabi-multilib-20160816.diff 
> b/source-builder/patches/gcc-6.1.1-arm-eabi-multilib-20160816.diff
>
> index e69de29..d2f0bfd 100755
>
> --- a/source-builder/patches/gcc-6.1.1-arm-eabi-multilib-20160816.diff
>
> +++ b/source-builder/patches/gcc-6.1.1-arm-eabi-multilib-20160816.diff
>
> @@ -0,0 +1,18 @@
>
> +diff -ruN gcc-6-20160609.orig/gcc/config/arm/t-rtems 
> gcc-6-20160609/gcc/config/arm/t-rtems
>
> +--- gcc-6-20160609.orig/gcc/config/arm/t-rtems 2016-01-15 
> 03:29:12.000000000 -0800
>
> ++++ gcc-6-20160609/gcc/config/arm/t-rtems    2016-08-16 
> 11:42:02.727219302 -0700
>
> +@@ -1,7 +1,7 @@
>
> + # Custom RTEMS multilibs for ARM
>
> +
>
> +-MULTILIB_OPTIONS  = mbig-endian mthumb 
> march=armv6-m/march=armv7-a/march=armv7-r/march=armv7-m/mcpu=cortex-m7 
> mfpu=neon/mfpu=vfpv3-d16/mfpu=fpv4-sp-d16/mfpu=fpv5-d16 mfloat-abi=hard
>
> +-MULTILIB_DIRNAMES = eb thumb armv6-m armv7-a armv7-r armv7-m 
> cortex-m7 neon vfpv3-d16 fpv4-sp-d16 fpv5-d16 hard
>
> ++MULTILIB_OPTIONS  = mbig-endian mthumb 
> march=armv6-m/march=armv7-a/march=armv7-r/march=armv7-m/mcpu=cortex-m7 
> mfpu=neon/mfpu=vfp/mfpu=vfpv3-d16/mfpu=fpv4-sp-d16/mfpu=fpv5-d16 
> mfloat-abi=hard/mfloat-abi=softfp
>
> ++MULTILIB_DIRNAMES = eb thumb armv6-m armv7-a armv7-r armv7-m 
> cortex-m7 neon vfp vfpv3-d16 fpv4-sp-d16 fpv5-d16 hard softfp
>
> +
>
> + # Enumeration of multilibs
>
> +
>
> +@@ -19,3 +19,4 @@
>
> + MULTILIB_REQUIRED += mthumb/mcpu=cortex-m7/mfpu=fpv5-d16/mfloat-abi=hard
>
> + MULTILIB_REQUIRED += mthumb/march=armv7-m
>
> + MULTILIB_REQUIRED += mthumb
>
> ++MULTILIB_REQUIRED += mfpu=vfp/mfloat-abi=softfp
>

Why do you want to use the softfp ABI?

-- 
Sebastian Huber, embedded brains GmbH

Address : Dornierstr. 4, D-82178 Puchheim, Germany
Phone   : +49 89 189 47 41-16
Fax     : +49 89 189 47 41-09
E-Mail  : sebastian.huber at embedded-brains.de
PGP     : Public key available on request.

Diese Nachricht ist keine geschäftliche Mitteilung im Sinne des EHUG.



More information about the devel mailing list