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.
---
libgcc/config/arm/cmse_nonsecure_call.S | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/libgcc/config/arm/cmse_nonsecure_call.S b/libgcc/config/arm/cmse_nonsecure_call.S
index 653ad14..9b7dbb4 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: