]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
re PR target/50980 (arm-rtems multilib not matching for -mfpu=vfp -mfloat-abi=soft)
authorThomas Doerfler <thomas.doerfler@embedded-brains.de>
Fri, 4 Nov 2011 15:22:06 +0000 (15:22 +0000)
committerJoel Sherrill <joel@gcc.gnu.org>
Fri, 4 Nov 2011 15:22:06 +0000 (15:22 +0000)
2011-11-04 Thomas Doerfler <thomas.doerfler@embedded-brains.de>

PR target/50980
* config/arm/rtems-elf.h, config/arm/t-rtems: Add optional
support for VFP floating point model.

From-SVN: r180959

gcc/ChangeLog
gcc/config/arm/rtems-elf.h
gcc/config/arm/t-rtems

index 9c1d499ed9afe2477acfaafa67c4bb50d5f3e154..85081edd1cb6db939cc30a3c6ade21b13fc46427 100644 (file)
@@ -1,3 +1,9 @@
+2011-11-04     Thomas Doerfler <thomas.doerfler@embedded-brains.de>
+
+       PR target/50989
+       * config/arm/rtems-elf.h, config/arm/t-rtems: Add optional
+       support for VFP floating point model.
+
 2011-11-04  Tristan Gingold  <gingold@adacore.com>
 
        * config/alpha/vms.h (ASM_OUTPUT_DEF): Do not switch section.
index 8d5a1d7cf9502f0ed2a6c485e2c92952a8641c4a..d9d24a7c83b6f8cd2a933e67cd76d85810a711ce 100644 (file)
@@ -35,7 +35,7 @@
  */
 #undef SUBTARGET_EXTRA_ASM_SPEC
 #define SUBTARGET_EXTRA_ASM_SPEC "\
-  %{!mfloat-abi=hard: %{!mfloat-abi=soft:-mfpu=softfpa}}"
+  %{!mfloat-abi=hard: %{!mfpu=vfp: %{!mfloat-abi=soft:-mfpu=softfpa}}}"
 
 /*
  *  The default includes --start-group and --end-group which conflicts
index f12387fb1b9d478e51b03d966e978629214da5ab..5eff411e76edb2b64182bbd955dc0300059e95d7 100644 (file)
@@ -5,6 +5,41 @@ MULTILIB_DIRNAMES    = arm thumb
 MULTILIB_EXCEPTIONS  = 
 MULTILIB_MATCHES     = marm=mno-thumb
 
-MULTILIB_OPTIONS    += mfloat-abi=soft/mfloat-abi=hard
-MULTILIB_DIRNAMES   += soft fpu
-MULTILIB_EXCEPTIONS += *mthumb/*mfloat-abi=hard*
+MULTILIB_OPTIONS    += mfloat-abi=hard/mfloat-abi=softfp
+MULTILIB_DIRNAMES   += fpu softfp
+MULTILIB_EXCEPTIONS += *mthumb*/*mfloat-abi=hard* *mthumb*/*mfloat-abi=softfp*
+MULTILIB_MATCHES     =
+
+MULTILIB_OPTIONS    += mfpu=vfp
+MULTILIB_DIRNAMES   += vfp
+MULTILIB_EXCEPTIONS += *mfloat-abi=hard*/*mfpu=vfp* *marm*/*mfloat-abi=softfp*/*mfpu=fpa*
+MULTILIB_EXCLUSIONS += !mthumb/mfloat-abi=softfp/!mfpu=vfp
+
+# default float model is fpa, so don't create a explicit copy of it
+MULTILIB_EXCEPTIONS += *marm*/*mfpa*
+
+# permutations of the options which are useful (+) or make no sense (-),
+# defaults are in brackets:
+# + (arm/soft/fpa)
+# + (arm/soft)/vfp
+# - (arm)/softfp(/fpa)
+# + (arm)/softfp/vfp
+# + (arm)/float-abi=hard(/fpa)
+# - (arm)/float-abi=hard/vfp
+# + thumb/(soft/fpa)
+# + thumb/(soft/)vfp
+# - thumb/softfp/fpa
+# - thumb/softfp/vfp
+# - thumb/float-abi=hard/fpa
+# - thumb/float-abi=hard/vfp
+
+# subdirs to be used for multilibs and their respective options:
+#/thumb/vfp  -> thumb/soft/vfp
+#/thumb/fpa  -> thumb/soft/fpa
+#/thumb      -> thumb/soft/fpa
+#/vfp        -> arm/soft/vfp
+#/softfp/vfp -> arm/softfp/cfp
+#/fpu/fpa    -> arm/hard/fpa
+#/fpu        -> arm/hard/fpa
+#/fpa        -> arm/soft/fpa
+#.           -> arm/soft/fpa