summaryrefslogtreecommitdiff
path: root/libgcc
diff options
context:
space:
mode:
authorRichard Earnshaw <rearnsha@arm.com>2017-06-16 21:04:52 +0000
committerRichard Earnshaw <rearnsha@gcc.gnu.org>2017-06-16 21:04:52 +0000
commitf0cd49c501a98050f8b2c71b6866f57e94a4c1c6 (patch)
tree98afdd841ede5da8d3d2cf65fe8730e233ce1cff /libgcc
parent93aa40fee604dea0c2d0bbac088b074cee119c68 (diff)
downloadgcc-f0cd49c501a98050f8b2c71b6866f57e94a4c1c6.tar.gz
[arm] Explicitly set .fpu in cmse_nonsecure_call.S
This file is missing a .fpu directive and was relying on the compiler driver passing through a -mfpu= command line option. When the FPU is auto, that will not be passed through correctly, so set something suitable within the file itself. libgcc: * config/arm/cmse_nonsecure_call.S: Explicitly set the FPU. From-SVN: r249297
Diffstat (limited to 'libgcc')
-rw-r--r--libgcc/ChangeLog4
-rw-r--r--libgcc/config/arm/cmse_nonsecure_call.S8
2 files changed, 12 insertions, 0 deletions
diff --git a/libgcc/ChangeLog b/libgcc/ChangeLog
index 9a97dba918f..63b973c58e6 100644
--- a/libgcc/ChangeLog
+++ b/libgcc/ChangeLog
@@ -1,3 +1,7 @@
+2017-06-16 Richard Earnshaw <rearnsha@arm.com>
+
+ * config/arm/cmse_nonsecure_call.S: Explicitly set the FPU.
+
2017-06-09 Martin Liska <mliska@suse.cz>
* libgcov-profiler.c (__gcov_indirect_call_profiler_v2):
diff --git a/libgcc/config/arm/cmse_nonsecure_call.S b/libgcc/config/arm/cmse_nonsecure_call.S
index 653ad149291..9b7dbb4f574 100644
--- a/libgcc/config/arm/cmse_nonsecure_call.S
+++ b/libgcc/config/arm/cmse_nonsecure_call.S
@@ -24,6 +24,14 @@
<http://www.gnu.org/licenses/>. */
.syntax unified
+#ifdef __ARM_PCS_VFP
+# if __ARM_FP & 0x8
+ .fpu fpv5-d16
+# else
+ .fpu fpv4-sp-d16
+# endif
+#endif
+
.thumb
.global __gnu_cmse_nonsecure_call
__gnu_cmse_nonsecure_call: