Browse Source

Rust: Switch from nightly to stable

Fabian 3 years ago
parent
commit
aacb6a49d7
5 changed files with 17 additions and 20 deletions
  1. 3 4
      .github/workflows/main.yml
  2. 3 4
      .github/workflows/release.yml
  3. 7 7
      Makefile
  4. 4 2
      src/rust/cpu/string.rs
  5. 0 3
      src/rust/lib.rs

+ 3 - 4
.github/workflows/main.yml

@@ -22,10 +22,9 @@ jobs:
         key: ${{ runner.os }}-rustup
     - name: rustup
       run: |
-        rustup toolchain install nightly
-        rustup default nightly
-        rustup target add wasm32-unknown-unknown --toolchain nightly
-        rustup component add rustfmt-preview --toolchain nightly
+        rustup toolchain install stable
+        rustup target add wasm32-unknown-unknown
+        rustup component add rustfmt
 
     - name: apt install
       run: sudo apt update -qq; sudo apt install nasm gdb qemu-system-x86 libc6-dev-i386

+ 3 - 4
.github/workflows/release.yml

@@ -19,10 +19,9 @@ jobs:
           key: ${{ runner.os }}-rustup
       - name: rustup
         run: |
-          rustup toolchain install nightly
-          rustup default nightly
-          rustup target add wasm32-unknown-unknown --toolchain nightly
-          rustup component add rustfmt-preview --toolchain nightly
+          rustup toolchain install stable
+          rustup target add wasm32-unknown-unknown
+          rustup component add rustfmt
 
       - name: Build v86
         run: make build/libv86.js build/v86.wasm build/v86-fallback.wasm

+ 7 - 7
Makefile

@@ -169,30 +169,30 @@ src/rust/gen/analyzer0f.rs: $(ANALYZER_DEPENDENCIES)
 build/v86.wasm: $(RUST_FILES) build/softfloat.o build/zstddeclib.o Cargo.toml
 	mkdir -p build/
 	-ls -lh build/v86.wasm
-	cargo +nightly rustc --release $(CARGO_FLAGS)
+	cargo rustc --release $(CARGO_FLAGS)
 	mv build/wasm32-unknown-unknown/release/v86.wasm build/v86.wasm
 	ls -lh build/v86.wasm
 
 build/v86-debug.wasm: $(RUST_FILES) build/softfloat.o build/zstddeclib.o Cargo.toml
 	mkdir -p build/
 	-ls -lh build/v86-debug.wasm
-	cargo +nightly rustc $(CARGO_FLAGS)
+	cargo rustc $(CARGO_FLAGS)
 	mv build/wasm32-unknown-unknown/debug/v86.wasm build/v86-debug.wasm
 	ls -lh build/v86-debug.wasm
 
 build/v86-fallback.wasm: $(RUST_FILES) build/softfloat.o build/zstddeclib.o Cargo.toml
 	mkdir -p build/
-	cargo +nightly rustc --release $(CARGO_FLAGS_SAFE)
+	cargo rustc --release $(CARGO_FLAGS_SAFE)
 	mv build/wasm32-unknown-unknown/release/v86.wasm build/v86-fallback.wasm || true
 
 debug-with-profiler: $(RUST_FILES) build/softfloat.o build/zstddeclib.o Cargo.toml
 	mkdir -p build/
-	cargo +nightly rustc --features profiler $(CARGO_FLAGS)
+	cargo rustc --features profiler $(CARGO_FLAGS)
 	mv build/wasm32-unknown-unknown/debug/v86.wasm build/v86-debug.wasm || true
 
 with-profiler: $(RUST_FILES) build/softfloat.o build/zstddeclib.o Cargo.toml
 	mkdir -p build/
-	cargo +nightly rustc --release --features profiler $(CARGO_FLAGS)
+	cargo rustc --release --features profiler $(CARGO_FLAGS)
 	mv build/wasm32-unknown-unknown/release/v86.wasm build/v86.wasm || true
 
 build/softfloat.o: lib/softfloat/softfloat.c
@@ -296,7 +296,7 @@ devices-test: all-debug
 	./tests/devices/virtio_9p.js
 
 rust-test: $(RUST_FILES)
-	env RUSTFLAGS="-D warnings" RUST_BACKTRACE=full RUST_TEST_THREADS=1 cargo +nightly test -- --nocapture
+	env RUSTFLAGS="-D warnings" RUST_BACKTRACE=full RUST_TEST_THREADS=1 cargo test -- --nocapture
 	./tests/rust/verify-wasmgen-dummy-output.js
 
 rust-test-intensive:
@@ -315,7 +315,7 @@ jshint:
 	jshint --config=./.jshint.json src tests gen lib
 
 rustfmt: $(RUST_FILES)
-	cargo +nightly fmt --all -- --check
+	cargo fmt --all -- --check
 
 build/capstone-x86.min.js:
 	mkdir -p build

+ 4 - 2
src/rust/cpu/string.rs

@@ -403,8 +403,10 @@ unsafe fn string_instruction(
             let finished = match rep {
                 Rep::Z | Rep::NZ => {
                     let rep_cmp = match (rep, instruction) {
-                        (Rep::Z, Instruction::Scas | Instruction::Cmps) => src_val == dst_val,
-                        (Rep::NZ, Instruction::Scas | Instruction::Cmps) => src_val != dst_val,
+                        (Rep::Z, Instruction::Cmps) => src_val == dst_val,
+                        (Rep::Z, Instruction::Scas) => src_val == dst_val,
+                        (Rep::NZ, Instruction::Cmps) => src_val != dst_val,
+                        (Rep::NZ, Instruction::Scas) => src_val != dst_val,
                         _ => true,
                     };
                     count -= 1;

+ 0 - 3
src/rust/lib.rs

@@ -1,6 +1,3 @@
-#![feature(const_fn)]
-#![feature(extern_types)]
-#![feature(or_patterns)]
 #![allow(const_item_mutation)]
 
 #[macro_use]