Bug 1538419 - Add support for thumbv7neon to target-lexicon. r=froydnj

Differential Revision: https://phabricator.services.mozilla.com/D24596

--HG--
extra : moz-landing-system : lando
This commit is contained in:
Mike Hommey 2019-03-26 03:12:56 +00:00
Родитель 8af903f814
Коммит 45d8ee6df1
8 изменённых файлов: 57 добавлений и 31 удалений

Просмотреть файл

@ -27,5 +27,10 @@ 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'

10
Cargo.lock сгенерированный
Просмотреть файл

@ -170,7 +170,7 @@ dependencies = [
"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]]
@ -591,7 +591,7 @@ 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)",
"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]]
@ -614,7 +614,7 @@ 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]]
@ -2804,7 +2804,7 @@ dependencies = [
[[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)",
@ -3699,7 +3699,7 @@ dependencies = [
"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"

Просмотреть файл

@ -62,3 +62,4 @@ serde_derive = { git = "https://github.com/servo/serde", branch = "deserialize_f
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" }

Просмотреть файл

@ -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"}
{"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}

0
third_party/rust/target-lexicon/.rustfmt.toml поставляемый Normal file
Просмотреть файл

31
third_party/rust/target-lexicon/.travis.yml поставляемый Normal file
Просмотреть файл

@ -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

34
third_party/rust/target-lexicon/Cargo.toml поставляемый
Просмотреть файл

@ -1,15 +1,3 @@
# 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"
@ -21,22 +9,18 @@ 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" }

Просмотреть файл

@ -37,6 +37,7 @@ pub enum Architecture {
Thumbv6m,
Thumbv7em,
Thumbv7m,
Thumbv7neon,
Wasm32,
X86_64,
}
@ -139,6 +140,7 @@ impl Architecture {
| Architecture::Thumbv6m
| Architecture::Thumbv7em
| Architecture::Thumbv7m
| Architecture::Thumbv7neon
| Architecture::Wasm32
| Architecture::X86_64 => Ok(Endianness::Little),
Architecture::Mips
@ -172,6 +174,7 @@ impl Architecture {
| Architecture::Thumbv6m
| Architecture::Thumbv7em
| Architecture::Thumbv7m
| Architecture::Thumbv7neon
| Architecture::Wasm32
| Architecture::Mips
| Architecture::Powerpc => Ok(PointerWidth::U32),
@ -236,6 +239,7 @@ impl fmt::Display for Architecture {
Architecture::Thumbv6m => "thumbv6m",
Architecture::Thumbv7em => "thumbv7em",
Architecture::Thumbv7m => "thumbv7m",
Architecture::Thumbv7neon => "thumbv7neon",
Architecture::Wasm32 => "wasm32",
Architecture::X86_64 => "x86_64",
};
@ -276,6 +280,7 @@ impl FromStr for Architecture {
"thumbv6m" => Architecture::Thumbv6m,
"thumbv7em" => Architecture::Thumbv7em,
"thumbv7m" => Architecture::Thumbv7m,
"thumbv7neon" => Architecture::Thumbv7neon,
"wasm32" => Architecture::Wasm32,
"x86_64" => Architecture::X86_64,
_ => return Err(()),