rustwasm / wasm-snip

`wasm-snip` replaces a WebAssembly function's body with an `unreachable`
229 stars 16 forks source link

Tests are failing on nightly #13

Open Hywan opened 6 years ago

Hywan commented 6 years ago
$ rustup update nightly
… latest update on 2018-08-14, rust version 1.30.0-nightly (d5a448b3f 2018-08-13) …

$ cargo test
fail because the “name” section is not in the WASM binary

This can be viewed with:

$ cd tests
$ rustc +nightly --target wasm32-unknown-unknown -O -g ./hello.rs
$ twiggy top hello.wasm | head -n 15
 Shallow Bytes │ Shallow % │ Item
───────────────┼───────────┼──────────────────────
          3460 ┊     6.68% ┊ code[119]
          3169 ┊     6.12% ┊ data[0]
          1581 ┊     3.05% ┊ code[170]
          1304 ┊     2.52% ┊ code[177]
          1210 ┊     2.34% ┊ code[154]
          1113 ┊     2.15% ┊ code[165]
           942 ┊     1.82% ┊ code[168]
           926 ┊     1.79% ┊ code[124]
           747 ┊     1.44% ┊ code[122]
           710 ┊     1.37% ┊ code[148]
           696 ┊     1.34% ┊ code[184]
           695 ┊     1.34% ┊ code[19]
           694 ┊     1.34% ┊ code[149]

The debug symbols are missing.

If we remove the -O option, it's working. I suspect this is a regression in rustc.

Hywan commented 6 years ago

I suspect it can be related to https://github.com/rust-lang/rust/pull/52887.

Hywan commented 6 years ago

Follow up https://github.com/rust-lang/rust/pull/53434