Bug 1538419 - Add support for thumbv7neon to target-lexicon. r=froydnj
authorMike Hommey <mh+mozilla@glandium.org>
Tue, 26 Mar 2019 03:12:56 +0000
changeset 466043 c4304f249404645305030419bccb391c173e239d
parent 466042 24f40f4b59ac622c10ee88eeb72f9772cb046fe0
child 466044 05b3330a539bbb06e59f3d03e02af89457fed0f0
push id112550
push userrgurzau@mozilla.com
push dateTue, 26 Mar 2019 09:57:15 +0000
treeherdermozilla-inbound@b8be99473610 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersfroydnj
bugs1538419
milestone68.0a1
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Bug 1538419 - Add support for thumbv7neon to target-lexicon. r=froydnj Differential Revision: https://phabricator.services.mozilla.com/D24596
.cargo/config.in
Cargo.lock
Cargo.toml
third_party/rust/target-lexicon/.cargo-checksum.json
third_party/rust/target-lexicon/.rustfmt.toml
third_party/rust/target-lexicon/.travis.yml
third_party/rust/target-lexicon/Cargo.toml
third_party/rust/target-lexicon/src/targets.rs
--- a/.cargo/config.in
+++ b/.cargo/config.in
@@ -22,10 +22,15 @@ git = "https://github.com/glandium/cc-rs
 branch = "1.0.23-clang-cl-aarch64"
 replace-with = "vendored-sources"
 
 [source."https://github.com/rust-lang-nursery/packed_simd"]
 git = "https://github.com/hsivonen/packed_simd"
 branch = "rust_1_32"
 replace-with = "vendored-sources"
 
+[source."https://github.com/CraneStation/target-lexicon"]
+git = "https://github.com/glandium/target-lexicon"
+branch = "thumbv7neon-v0.2"
+replace-with = "vendored-sources"
+
 [source.vendored-sources]
 directory = '@top_srcdir@/third_party/rust'
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -165,17 +165,17 @@ dependencies = [
 name = "baldrdash"
 version = "0.1.0"
 dependencies = [
  "bindgen 0.43.2 (registry+https://github.com/rust-lang/crates.io-index)",
  "cranelift-codegen 0.29.0 (registry+https://github.com/rust-lang/crates.io-index)",
  "cranelift-wasm 0.29.0 (registry+https://github.com/rust-lang/crates.io-index)",
  "env_logger 0.5.6 (registry+https://github.com/rust-lang/crates.io-index)",
  "log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)",
- "target-lexicon 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "target-lexicon 0.2.0 (git+https://github.com/glandium/target-lexicon?branch=thumbv7neon-v0.2)",
 ]
 
 [[package]]
 name = "base64"
 version = "0.9.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 dependencies = [
  "byteorder 1.2.7 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -586,17 +586,17 @@ version = "0.29.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 dependencies = [
  "cranelift-bforest 0.29.0 (registry+https://github.com/rust-lang/crates.io-index)",
  "cranelift-codegen-meta 0.29.0 (registry+https://github.com/rust-lang/crates.io-index)",
  "cranelift-entity 0.29.0 (registry+https://github.com/rust-lang/crates.io-index)",
  "failure 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)",
  "failure_derive 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)",
  "log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)",
- "target-lexicon 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "target-lexicon 0.2.0 (git+https://github.com/glandium/target-lexicon?branch=thumbv7neon-v0.2)",
 ]
 
 [[package]]
 name = "cranelift-codegen-meta"
 version = "0.29.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 dependencies = [
  "cranelift-entity 0.29.0 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -609,17 +609,17 @@ source = "registry+https://github.com/ru
 
 [[package]]
 name = "cranelift-frontend"
 version = "0.29.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 dependencies = [
  "cranelift-codegen 0.29.0 (registry+https://github.com/rust-lang/crates.io-index)",
  "log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)",
- "target-lexicon 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "target-lexicon 0.2.0 (git+https://github.com/glandium/target-lexicon?branch=thumbv7neon-v0.2)",
 ]
 
 [[package]]
 name = "cranelift-wasm"
 version = "0.29.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 dependencies = [
  "cast 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -2799,17 +2799,17 @@ dependencies = [
  "quote 0.6.10 (registry+https://github.com/rust-lang/crates.io-index)",
  "syn 0.15.24 (registry+https://github.com/rust-lang/crates.io-index)",
  "unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
 ]
 
 [[package]]
 name = "target-lexicon"
 version = "0.2.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
+source = "git+https://github.com/glandium/target-lexicon?branch=thumbv7neon-v0.2#b2d4b34509abb3e12b1c93d19b8593d02ddeed76"
 dependencies = [
  "failure 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)",
  "failure_derive 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)",
  "serde_json 1.0.26 (registry+https://github.com/rust-lang/crates.io-index)",
 ]
 
 [[package]]
 name = "tempdir"
@@ -3694,17 +3694,17 @@ dependencies = [
 "checksum string_cache_codegen 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)" = "1eea1eee654ef80933142157fdad9dd8bc43cf7c74e999e369263496f04ff4da"
 "checksum string_cache_shared 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "b1884d1bc09741d466d9b14e6d37ac89d6909cbcac41dd9ae982d4d063bbedfc"
 "checksum strsim 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)" = "b4d15c810519a91cf877e7e36e63fe068815c678181439f2f29e2562147c3694"
 "checksum strsim 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "bb4f380125926a99e52bc279241539c018323fab05ad6368b56f93d9369ff550"
 "checksum syn 0.13.1 (registry+https://github.com/rust-lang/crates.io-index)" = "91b52877572087400e83d24b9178488541e3d535259e04ff17a63df1e5ceff59"
 "checksum syn 0.14.6 (registry+https://github.com/rust-lang/crates.io-index)" = "4e4b5274d4a0a3d2749d5c158dc64d3403e60554dc61194648787ada5212473d"
 "checksum syn 0.15.24 (registry+https://github.com/rust-lang/crates.io-index)" = "734ecc29cd36e8123850d9bf21dfd62ef8300aaa8f879aabaa899721808be37c"
 "checksum synstructure 0.10.1 (registry+https://github.com/rust-lang/crates.io-index)" = "73687139bf99285483c96ac0add482c3776528beac1d97d444f6e91f203a2015"
-"checksum target-lexicon 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "4af5e2227f0b887d591d3724b796a96eff04226104d872f5b3883fcd427d64b9"
+"checksum target-lexicon 0.2.0 (git+https://github.com/glandium/target-lexicon?branch=thumbv7neon-v0.2)" = "<none>"
 "checksum tempdir 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)" = "87974a6f5c1dfb344d733055601650059a3363de2a6104819293baff662132d6"
 "checksum term 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)" = "fa63644f74ce96fbeb9b794f66aff2a52d601cbd5e80f4b97123e3899f4570f1"
 "checksum term_size 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "e2b6b55df3198cc93372e85dd2ed817f0e38ce8cc0f22eb32391bfad9c4bf209"
 "checksum termcolor 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)" = "adc4587ead41bf016f11af03e55a624c06568b5a19db4e90fde573d805074f83"
 "checksum termion 1.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "689a3bdfaab439fd92bc87df5c4c78417d3cbe537487274e9b0b2dce76e92096"
 "checksum textwrap 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)" = "c0b59b6b4b44d867f1370ef1bd91bfb262bf07bf0ae65c202ea2fbc16153b693"
 "checksum thin-slice 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "8eaa81235c7058867fa8c0e7314f33dcce9c215f535d1913822a2b3f5e289f3c"
 "checksum thin-vec 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "73fdf4b84c65a85168477b7fb6c498e0716bc9487fba24623389ea7f51708044"
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -57,8 +57,9 @@ panic = "abort"
 codegen-units = 1
 
 [patch.crates-io]
 libudev-sys = { path = "dom/webauthn/libudev-sys" }
 serde_derive = { git = "https://github.com/servo/serde", branch = "deserialize_from_enums9" }
 winapi = { git = "https://github.com/froydnj/winapi-rs", branch = "aarch64" }
 cc = { git = "https://github.com/glandium/cc-rs", branch = "1.0.23-clang-cl-aarch64" }
 packed_simd = { git = "https://github.com/hsivonen/packed_simd", branch = "rust_1_32" }
+target-lexicon = { git = "https://github.com/glandium/target-lexicon", branch = "thumbv7neon-v0.2" }
--- a/third_party/rust/target-lexicon/.cargo-checksum.json
+++ b/third_party/rust/target-lexicon/.cargo-checksum.json
@@ -1,1 +1,1 @@
-{"files":{"Cargo.toml":"0a20947ba69f4f7fbadd6ec6fd2e760b9c8e03144135490b77828cc3e3243919","LICENSE":"268872b9816f90fd8e85db5a28d33f8150ebb8dd016653fb39ef1f94f2686bc5","README.md":"89f73d9404c960632bef4cfde9709862dbb510081180318e0be7bf12d18e9da7","build.rs":"c349b503b884c79aef182ba27eeffa51ca439a511d8c6adefa2ed56f80a4530c","examples/misc.rs":"2e7f27fc7b7479b9cf96bdf81b402a6ef4bec71f8ef6f4f39588745b85cb2d3d","src/host.rs":"c4a0aa3364662eb2c585a69c8872d3e380f1b8537b51def6ca582b301993ce0a","src/lib.rs":"72a94fcc6b7f5dd6692cda84974b3ffb50b6c5eb9e2ebed91c6635d102202ced","src/parse_error.rs":"38c0cb21171741faa1c69c931be6a97be658b01de07bcb69aae84e5319b03920","src/targets.rs":"de44ac5ab97d1a036e692b511b2c5423dbf38f8d7ea36437ee3ac79bae3c3f90","src/triple.rs":"d3cdd3be7b18f04511ae59c6156983e4300bc57a3671282c74b2c7e81e699d75"},"package":"4af5e2227f0b887d591d3724b796a96eff04226104d872f5b3883fcd427d64b9"}
\ No newline at end of file
+{"files":{".rustfmt.toml":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",".travis.yml":"e7a5518637394467f13cb084fa7fa75783007815b17ba22d4dee567965d418bb","Cargo.toml":"5dbb0ad2824e20f91e80cc7b3ab2f9f241e8dbeb214c821e65a9add3b3f49045","LICENSE":"268872b9816f90fd8e85db5a28d33f8150ebb8dd016653fb39ef1f94f2686bc5","README.md":"89f73d9404c960632bef4cfde9709862dbb510081180318e0be7bf12d18e9da7","build.rs":"c349b503b884c79aef182ba27eeffa51ca439a511d8c6adefa2ed56f80a4530c","examples/misc.rs":"2e7f27fc7b7479b9cf96bdf81b402a6ef4bec71f8ef6f4f39588745b85cb2d3d","src/host.rs":"c4a0aa3364662eb2c585a69c8872d3e380f1b8537b51def6ca582b301993ce0a","src/lib.rs":"72a94fcc6b7f5dd6692cda84974b3ffb50b6c5eb9e2ebed91c6635d102202ced","src/parse_error.rs":"38c0cb21171741faa1c69c931be6a97be658b01de07bcb69aae84e5319b03920","src/targets.rs":"4f6585736061118e61c857908b8f7c539a48641c7233f7cfc856e9c94e4ffa34","src/triple.rs":"d3cdd3be7b18f04511ae59c6156983e4300bc57a3671282c74b2c7e81e699d75"},"package":null}
\ No newline at end of file
new file mode 100644
new file mode 100644
--- /dev/null
+++ b/third_party/rust/target-lexicon/.travis.yml
@@ -0,0 +1,31 @@
+language: rust
+rust:
+    - stable
+    - beta
+    - nightly
+matrix:
+    allow_failures:
+        - rust: beta
+        - rust: nightly
+dist: trusty
+sudo: false
+before_script:
+    # If an old version of rustfmt from cargo is already installed, uninstall
+    # it, since it can prevent the installation of the new version from rustup.
+    - cargo uninstall rustfmt || true
+    - cargo install --list
+    # If we're testing beta or nightly, we still need to install the stable
+    # toolchain so that we can run the stable version of rustfmt.
+    - rustup toolchain install stable
+    # Install the stable version of rustfmt.
+    - rustup component add --toolchain=stable rustfmt-preview
+    - rustup component list --toolchain=stable
+    - rustup show
+    - rustfmt +stable --version || echo fail
+    # Sometimes the component isn't actually ready after being installed, and
+    # rustup update makes it ready.
+    - rustup update
+    - rustfmt +stable --version
+script: cargo test
+cache:
+    cargo: true
--- a/third_party/rust/target-lexicon/Cargo.toml
+++ b/third_party/rust/target-lexicon/Cargo.toml
@@ -1,42 +1,26 @@
-# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
-#
-# When uploading crates to the registry Cargo will automatically
-# "normalize" Cargo.toml files for maximal compatibility
-# with all versions of Cargo and also rewrite `path` dependencies
-# to registry (e.g. crates.io) dependencies
-#
-# If you believe there's an error in this file please file an
-# issue against the rust-lang/cargo repository. If you're
-# editing this file be aware that the upstream Cargo.toml
-# will likely look very different (and much more reasonable)
-
 [package]
 name = "target-lexicon"
 version = "0.2.0"
 authors = ["Dan Gohman <sunfish@mozilla.com>"]
 description = "Targeting utilities for compilers and related tools"
 documentation = "https://docs.rs/target-lexicon/"
 readme = "README.md"
 keywords = ["target", "host", "triple", "compiler", "jit"]
 categories = ["no-std"]
 license = "Apache-2.0 WITH LLVM-exception"
 repository = "https://github.com/CraneStation/target-lexicon"
-[dependencies.failure]
-version = "0.1.3"
-features = ["derive"]
-default-features = false
 
-[dependencies.failure_derive]
-version = "0.1.3"
-default-features = false
-[build-dependencies.serde_json]
-version = "1.0"
+[dependencies]
+failure = { version = "0.1.3", default-features = false, features = ["derive"] }
+failure_derive = { version = "0.1.3", default-features = false }
+
+[build-dependencies]
+serde_json = "1.0"
 
 [features]
 default = ["std"]
 std = []
-[badges.maintenance]
-status = "passively-maintained"
 
-[badges.travis-ci]
-repository = "CraneStation/target-lexicon"
+[badges]
+maintenance = { status = "passively-maintained" }
+travis-ci = { repository = "CraneStation/target-lexicon" }
--- a/third_party/rust/target-lexicon/src/targets.rs
+++ b/third_party/rust/target-lexicon/src/targets.rs
@@ -32,16 +32,17 @@ pub enum Architecture {
     Riscv64,
     S390x,
     Sparc,
     Sparc64,
     Sparcv9,
     Thumbv6m,
     Thumbv7em,
     Thumbv7m,
+    Thumbv7neon,
     Wasm32,
     X86_64,
 }
 
 /// The "vendor" field, which in practice is little more than an arbitrary
 /// modifier.
 #[derive(Copy, Clone, Debug, PartialEq, Eq, Hash)]
 #[allow(missing_docs)]
@@ -134,16 +135,17 @@ impl Architecture {
             | Architecture::Mipsel
             | Architecture::Msp430
             | Architecture::Powerpc64le
             | Architecture::Riscv32
             | Architecture::Riscv64
             | Architecture::Thumbv6m
             | Architecture::Thumbv7em
             | Architecture::Thumbv7m
+            | Architecture::Thumbv7neon
             | Architecture::Wasm32
             | Architecture::X86_64 => Ok(Endianness::Little),
             Architecture::Mips
             | Architecture::Mips64
             | Architecture::Powerpc
             | Architecture::Powerpc64
             | Architecture::S390x
             | Architecture::Sparc
@@ -167,16 +169,17 @@ impl Architecture {
             | Architecture::I586
             | Architecture::I686
             | Architecture::Mipsel
             | Architecture::Riscv32
             | Architecture::Sparc
             | Architecture::Thumbv6m
             | Architecture::Thumbv7em
             | Architecture::Thumbv7m
+            | Architecture::Thumbv7neon
             | Architecture::Wasm32
             | Architecture::Mips
             | Architecture::Powerpc => Ok(PointerWidth::U32),
             Architecture::Aarch64
             | Architecture::Mips64el
             | Architecture::Powerpc64le
             | Architecture::Riscv64
             | Architecture::X86_64
@@ -231,16 +234,17 @@ impl fmt::Display for Architecture {
             Architecture::Riscv64 => "riscv64",
             Architecture::S390x => "s390x",
             Architecture::Sparc => "sparc",
             Architecture::Sparc64 => "sparc64",
             Architecture::Sparcv9 => "sparcv9",
             Architecture::Thumbv6m => "thumbv6m",
             Architecture::Thumbv7em => "thumbv7em",
             Architecture::Thumbv7m => "thumbv7m",
+            Architecture::Thumbv7neon => "thumbv7neon",
             Architecture::Wasm32 => "wasm32",
             Architecture::X86_64 => "x86_64",
         };
         f.write_str(s)
     }
 }
 
 impl FromStr for Architecture {
@@ -271,16 +275,17 @@ impl FromStr for Architecture {
             "riscv64" => Architecture::Riscv64,
             "s390x" => Architecture::S390x,
             "sparc" => Architecture::Sparc,
             "sparc64" => Architecture::Sparc64,
             "sparcv9" => Architecture::Sparcv9,
             "thumbv6m" => Architecture::Thumbv6m,
             "thumbv7em" => Architecture::Thumbv7em,
             "thumbv7m" => Architecture::Thumbv7m,
+            "thumbv7neon" => Architecture::Thumbv7neon,
             "wasm32" => Architecture::Wasm32,
             "x86_64" => Architecture::X86_64,
             _ => return Err(()),
         })
     }
 }
 
 impl fmt::Display for Vendor {