Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

raytrace-parallel example does not compile (passive-segments) #2175

Closed
beltegeuse opened this issue May 31, 2020 · 1 comment · Fixed by #2183
Closed

raytrace-parallel example does not compile (passive-segments) #2175

beltegeuse opened this issue May 31, 2020 · 1 comment · Fixed by #2183
Labels

Comments

@beltegeuse
Copy link

Describe the Bug

The example raytrace-parallel does not compile.

Steps to Reproduce

  1. git clone https://github.com/rustwasm/wasm-bindgen.git
  2. cd wasm-bindgen/examples/raytrace-parallel
  3. sh build.sh
  4. Got the error note: rust-lld: error: unknown argument: --passive-segments

Expected Behavior

The code should compile. I played with this example last Sunday, and the code was compiling and running correctly.

Actual Behavior

The code currently does not compile with rust nightly (May 31th).

Additional Context

Note that, removing RUSTFLAGS='-C target-feature=+atomics,+bulk-memory' fix the compilation problem. However, this provokes a runtime error (due to missing feature), which, I think, is expected.

@beltegeuse beltegeuse added the bug label May 31, 2020
@alexcrichton
Copy link
Contributor

Thanks for the report! Looks like LLD changed when upgrading to LLVM 10. Some work needs to happen to update to the new output of LLD, and that'll take some time for me to implement unfortunately.

alexcrichton added a commit to alexcrichton/wasm-bindgen that referenced this issue Jun 3, 2020
This commit updates the threads transformation for LLVM 10 where LLD has
has breaking changes from LLVM 9. While previously the support here
attempted to straddle multiple LLVM styles this is now removed in favor
of simply supporting LLVM 10's style of output. This means that
wasm-bindgen will only be compatible with recent nightlies and forward.

The major change here is that the `__wasm_init_memory` function is
automatically called by the `start` function. We handle that by placing
the previous `start` function first, before stack/tls allocation. Other
changes are to delete all the old code from pre-llvm-9.

Closes rustwasm#2175
alexcrichton added a commit to alexcrichton/wasm-bindgen that referenced this issue Jun 3, 2020
This commit updates the threads transformation for LLVM 10 where LLD has
has breaking changes from LLVM 9. While previously the support here
attempted to straddle multiple LLVM styles this is now removed in favor
of simply supporting LLVM 10's style of output. This means that
wasm-bindgen will only be compatible with recent nightlies and forward.

The major change here is that the `__wasm_init_memory` function is
automatically called by the `start` function. We handle that by placing
the previous `start` function first, before stack/tls allocation. Other
changes are to delete all the old code from pre-llvm-9.

Closes rustwasm#2175
alexcrichton added a commit to alexcrichton/wasm-bindgen that referenced this issue Jun 3, 2020
This commit updates the threads transformation for LLVM 10 where LLD has
has breaking changes from LLVM 9. While previously the support here
attempted to straddle multiple LLVM styles this is now removed in favor
of simply supporting LLVM 10's style of output. This means that
wasm-bindgen will only be compatible with recent nightlies and forward.

The major change here is that the `__wasm_init_memory` function is
automatically called by the `start` function. We handle that by placing
the previous `start` function first, before stack/tls allocation. Other
changes are to delete all the old code from pre-llvm-9.

Closes rustwasm#2175
alexcrichton added a commit that referenced this issue Jun 3, 2020
This commit updates the threads transformation for LLVM 10 where LLD has
has breaking changes from LLVM 9. While previously the support here
attempted to straddle multiple LLVM styles this is now removed in favor
of simply supporting LLVM 10's style of output. This means that
wasm-bindgen will only be compatible with recent nightlies and forward.

The major change here is that the `__wasm_init_memory` function is
automatically called by the `start` function. We handle that by placing
the previous `start` function first, before stack/tls allocation. Other
changes are to delete all the old code from pre-llvm-9.

Closes #2175
Perseus101 pushed a commit to Perseus101/wasm-bindgen that referenced this issue Jun 7, 2020
This commit updates the threads transformation for LLVM 10 where LLD has
has breaking changes from LLVM 9. While previously the support here
attempted to straddle multiple LLVM styles this is now removed in favor
of simply supporting LLVM 10's style of output. This means that
wasm-bindgen will only be compatible with recent nightlies and forward.

The major change here is that the `__wasm_init_memory` function is
automatically called by the `start` function. We handle that by placing
the previous `start` function first, before stack/tls allocation. Other
changes are to delete all the old code from pre-llvm-9.

Closes rustwasm#2175
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants