For panic=unwind on Wasm targets, define __cpp_exception tag#152241
For panic=unwind on Wasm targets, define __cpp_exception tag#152241rust-bors[bot] merged 1 commit intorust-lang:mainfrom
Conversation
|
rustbot has assigned @Mark-Simulacrum. Use Why was this reviewer chosen?The reviewer was selected based on:
|
bef9d13 to
82fbfa6
Compare
|
Some changes occurred in src/tools/compiletest cc @jieyouxu
cc @tgross35 |
Since this is a nontrivial change, please do file it to the compiler-builtins repo |
|
Do I make it in both places? It's not clear if the test would work in compiler-builtins. |
|
Opened rust-lang/compiler-builtins#1077. |
82fbfa6 to
160ebdb
Compare
|
r? @tgross35 But I suspect this should be closed in favor of the compiler-builtins PR. |
|
|
|
Seems like over there @alexcrichton is saying I should move this back to libunwind like what I had before so it seems that the compiler-builtins pr is going to be closed in favor of a modified version of this one. |
Sorry, missed this bit - c-b changes go through that repo and only need to be made there, then they get synced back to this repo. Then this PR would just add the test. (The reason to prefer doing things in the c-b repo is because CI there does a lot more) |
010353f to
3e57ee9
Compare
|
@hoodmane would you also be up for extending the target-specific documentation to discuss this ABI detail? Doesn't need to be too in-depth necessarily but at least mentioning it and saying how it relates to WASI/Emscripten I think could be valuable |
Since llvm/llvm-project 159143, llvm no longer weak links the __cpp_exception tag into each object that uses it. They are now defined in compiler-rt. Rust doesn't seem to get them from compiler-rt so llvm decides they need to be imported. This adds them to libunwind.
|
Okay @alexcrichton I applied those changes. |
3e57ee9 to
1cd345b
Compare
|
Some changes occurred in src/doc/rustc/src/platform-support cc @Noratrieb |
|
@bors r+ |
…uwer Rollup of 9 pull requests Successful merges: - #146832 (Not linting irrefutable_let_patterns on let chains) - #146972 (Support importing path-segment keyword with renaming) - #152241 (For panic=unwind on Wasm targets, define __cpp_exception tag) - #152527 (Remove -Zemit-thin-lto flag) - #152769 (Do not cancel try builds after first job failure) - #152907 (Add tests for delegation generics) - #152455 (Remove the translation `-Z` options and the `Translator` type. ) - #152813 (Skip the `use_existential_projection_new_instead` field in the `Debug` impl) - #152912 (Expose Span for all DefIds in rustc_public)
Rollup merge of #152241 - hoodmane:wasm-unwind-link-cpp-exception, r=alexcrichton For panic=unwind on Wasm targets, define __cpp_exception tag Since llvm/llvm-project#159143, llvm no longer weak links the __cpp_exception tag into each object that uses it. They are now defined in compiler-rt. Rust doesn't seem to get them from compiler-rt so llvm decides they need to be imported. This adds them to libunwind. Same changes applied to compiler-builtins: rust-lang/compiler-builtins#1077 See wasm-bindgen/wasm-bindgen#4938 for a downstream workaround. cc @sbc100
…uwer Rollup of 9 pull requests Successful merges: - rust-lang/rust#146832 (Not linting irrefutable_let_patterns on let chains) - rust-lang/rust#146972 (Support importing path-segment keyword with renaming) - rust-lang/rust#152241 (For panic=unwind on Wasm targets, define __cpp_exception tag) - rust-lang/rust#152527 (Remove -Zemit-thin-lto flag) - rust-lang/rust#152769 (Do not cancel try builds after first job failure) - rust-lang/rust#152907 (Add tests for delegation generics) - rust-lang/rust#152455 (Remove the translation `-Z` options and the `Translator` type. ) - rust-lang/rust#152813 (Skip the `use_existential_projection_new_instead` field in the `Debug` impl) - rust-lang/rust#152912 (Expose Span for all DefIds in rustc_public)
…uwer Rollup of 9 pull requests Successful merges: - rust-lang/rust#146832 (Not linting irrefutable_let_patterns on let chains) - rust-lang/rust#146972 (Support importing path-segment keyword with renaming) - rust-lang/rust#152241 (For panic=unwind on Wasm targets, define __cpp_exception tag) - rust-lang/rust#152527 (Remove -Zemit-thin-lto flag) - rust-lang/rust#152769 (Do not cancel try builds after first job failure) - rust-lang/rust#152907 (Add tests for delegation generics) - rust-lang/rust#152455 (Remove the translation `-Z` options and the `Translator` type. ) - rust-lang/rust#152813 (Skip the `use_existential_projection_new_instead` field in the `Debug` impl) - rust-lang/rust#152912 (Expose Span for all DefIds in rustc_public)
Since llvm/llvm-project#159143, llvm no longer weak links the __cpp_exception tag into each object that uses it. They are now defined in compiler-rt. Rust doesn't seem to get them from compiler-rt so llvm decides they need to be imported. This adds them to libunwind.
Same changes applied to compiler-builtins: rust-lang/compiler-builtins#1077
See wasm-bindgen/wasm-bindgen#4938 for a downstream workaround.
cc @sbc100