--- build/moz.configure/rust.configure	2019-10-28 12:05:04.930404603 +0700
+++ build/moz.configure/rust.configure	2019-10-28 12:09:42.742338957 +0700
@@ -297,11 +297,20 @@
                     suffix = 'hf'
                 else:
                     suffix = ''
+
+                narrowed = []
                 for p in prefixes:
                     for c in candidates:
-                        if c.rust_target.startswith('{}-'.format(p)) and \
-                                c.rust_target.endswith(suffix):
-                            return c.rust_target
+                        if c.rust_target.startswith('{}-'.format(p)):
+                            narrowed.append(c.rust_target)
+
+                for target in narrowed:
+                    if target.endswith(host_or_target.raw_os):
+                        return target
+
+                for target in narrowed:
+                    if target.endswith(suffix):
+                        return target
 
             # See if we can narrow down on the exact alias
             narrowed = [c for c in candidates if c.target.alias == host_or_target.alias]
