From bdd20d49d465efddbfab14abe4dc6a939bf75f1d Mon Sep 17 00:00:00 2001 From: Piers Finlayson Date: Wed, 12 Dec 2018 17:27:50 +0000 Subject: [PATCH 1/2] Generate valid sintructions on ARMv6 (see rust-lang/rust issue #50583) --- src/lib.rs | 1 + 1 file changed, 1 insertion(+) diff --git a/src/lib.rs b/src/lib.rs index d12e12c..9e9147f 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -1249,6 +1249,7 @@ impl Build { if target.starts_with("arm-unknown-linux-") { cmd.args.push("-march=armv6".into()); cmd.args.push("-marm".into()); + cmd.args.push("-mfpu=vfp".into()); } // We can guarantee some settings for FRC From 837103c9222c3a29df2b3db9a05218dfd85a4951 Mon Sep 17 00:00:00 2001 From: Piers Finlayson Date: Thu, 13 Dec 2018 14:40:34 +0000 Subject: [PATCH 2/2] Correctly handle both hard and soft floating point --- src/lib.rs | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/lib.rs b/src/lib.rs index 9e9147f..471fee3 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -1249,7 +1249,11 @@ impl Build { if target.starts_with("arm-unknown-linux-") { cmd.args.push("-march=armv6".into()); cmd.args.push("-marm".into()); - cmd.args.push("-mfpu=vfp".into()); + if target.ends_with("hf") { + cmd.args.push("-mfpu=vfp".into()); + } else { + cmd.args.push("-mfloat-abi=soft".into()); + } } // We can guarantee some settings for FRC