Bug 1299864 - Target i585 linux when building rust code. r=glandium, a=ritu
authorRalph Giles <giles@mozilla.com>
Tue, 06 Sep 2016 13:54:35 -0700
changeset 348076 800fc65da8d3f7fc4f4f0a9a559e8747891a56a4
parent 348075 6cd56350a8953b0161a40064f0b332fbc93c6cb1
child 348077 5a2f2368796f2a4f2ff0d48b588eb6a2d25dbdf6
push id6389
push userraliiev@mozilla.com
push dateMon, 19 Sep 2016 13:38:22 +0000
treeherdermozilla-beta@01d67bfe6c81 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersglandium, ritu
bugs1299864
milestone50.0a2
Bug 1299864 - Target i585 linux when building rust code. r=glandium, a=ritu Similar change backported to Firefox 50. Update linux32 tooltool manifest to use a gecko build of rustc and cargo for x86_64-unknown-linux-gnu host targeting both x86_64 and i586. rustc built with --enable-llvm-static-stdcpp --disable-docs --enable-debuginfo --release-channel=stable from 'stable' branch rust 1.10.0 (commit cfcb716cf0961a7e3a4eceac828d94805cf8140b) https://github.com/rillian/rust-build/commit/8b7ab59ef94c2c249dd2b13c9a12df79ccef59e4 Pass --target i585-unknown-linux-gnu when building for 32-bit linux. We mostly want this for official builds, but Debian needs it too, in both cases to support old machines without SSE2 instruction set support, so while it means developers will have to `rustup target add i585-unknown-linux-gnu` when building for this architecture that is not a common task (most linux devs will be on 64-bit) and it reduces variance and surprise if binaries are distributed. MozReview-Commit-ID: 2nzZLpI0pzJ
browser/config/tooltool-manifests/linux32/releng.manifest
build/moz.configure/rust.configure
--- a/browser/config/tooltool-manifests/linux32/releng.manifest
+++ b/browser/config/tooltool-manifests/linux32/releng.manifest
@@ -11,19 +11,19 @@
 "size": 11189216,
 "digest": "18bc52b0599b1308b667e282abb45f47597bfc98a5140cfcab8da71dacf89dd76d0dee22a04ce26fe7ad1f04e2d6596991f9e5b01fd2aaaab5542965f596b0e6",
 "algorithm": "sha512",
 "filename": "gtk3.tar.xz",
 "setup": "setup.sh",
 "unpack": true
 },
 {
-"version": "gecko rustc 1.10.0 (cfcb716cf 2016-07-03)",
-"size": 102276708,
-"digest": "8cc9ea8347fc7e6e6fdb15a8fd1faae977f1235a426b879b3f9128ec91d8f2b6268297ce80bf4eceb47738bd40bfeda13f143dc3fe85f1434b13adfbc095ab90",
+"version": "gecko rustc 1.10.0 (cfcb716cf 2016-07-03) x86_64+i586",
+"size": 102207436,
+"digest": "7f0fcaf31fd2e76f0941b601f86b42f15d2f3ba22676ad14c322a9bcfd2bc361d1110b2f9c97e4d3056ffe49e126aaa3ae3015ee91b0229560d603a0c1e310a0",
 "algorithm": "sha512",
 "filename": "rustc.tar.xz",
 "unpack": true
 },
 {
 "version": "cargo 0.13.0-nightly (664125b 2016-07-19)",
 "size": 3123796,
 "digest": "4b9d2bcb8488b6649ba6c748e19d33bfceb25c7566e882fc7e00322392e424a5a9c5878c11c61d57cdaecf67bcc110842c6eff95e49736e8f3c83d9ce1677122",
--- a/build/moz.configure/rust.configure
+++ b/build/moz.configure/rust.configure
@@ -76,17 +76,17 @@ def rust_target(rust_compiler, rustc, ta
             # FreeBSD
             ('x86', 'FreeBSD'): 'i686-unknown-freebsd',
             ('x86_64', 'FreeBSD'): 'x86_64-unknown-freebsd',
             # NetBSD
             ('x86_64', 'NetBSD'): 'x86_64-unknown-netbsd',
             # OpenBSD
             ('x86_64', 'OpenBSD'): 'x86_64-unknown-openbsd',
             # Linux
-            ('x86', 'Linux'): 'i686-unknown-linux-gnu',
+            ('x86', 'Linux'): 'i586-unknown-linux-gnu',
             # Linux
             ('x86_64', 'Linux'): 'x86_64-unknown-linux-gnu',
             # OS X and iOS
             ('x86', 'OSX'): 'i686-apple-darwin',
             ('x86', 'iOS'): 'i386-apple-ios',
             ('x86_64', 'OSX'): 'x86_64-apple-darwin',
             # Android
             ('x86', 'Android'): 'i686-linux-android',