Add sysroot builds with new exception handling#98
Conversation
There was a problem hiding this comment.
Pull request overview
Adds support for generating wasm32 sysroots with both “new” Wasm EH and “legacy” EH configurations, wiring the selection through build scripts, Makefile flags, and an additional CMake toolchain file.
Changes:
- Add a dedicated CMake toolchain file for legacy exception handling builds.
- Extend 32-bit sysroot build scripts to support a
LEGACY_EHbuild axis and add convenience wrappers for legacy EH variants. - Update
Makefile-ehto acceptLEGACY_EHand toggle exception-handling-related flags accordingly.
Reviewed changes
Copilot reviewed 9 out of 9 changed files in this pull request and generated 4 comments.
Show a summary per file
| File | Description |
|---|---|
| tools/clang-wasix-legacy-eh.cmake_toolchain | New toolchain file to drive legacy EH sysroot builds via CMake. |
| tools/clang-wasix-eh.cmake_toolchain | Adjust EH-related compile/link flags for the non-legacy (new) EH configuration. |
| build32.sh | Ensures default 32-bit build explicitly sets LEGACY_EH=OFF. |
| build32-legacy-eh.sh | New wrapper to build 32-bit sysroot with legacy EH. |
| build32-legacy-ehpic.sh | New wrapper to build 32-bit sysroot with legacy EH + PIC. |
| build32-general.sh | Adds LEGACY_EH selection into build naming, toolchain choice, and Makefile invocation. |
| build32-eh.sh | Explicitly sets LEGACY_EH=OFF for the non-legacy EH build. |
| build32-ehpic.sh | Explicitly sets LEGACY_EH=OFF for the non-legacy EH+PIC build. |
| Makefile-eh | Adds LEGACY_EH knob and conditionally applies EH-related flags. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 10 out of 10 changed files in this pull request and generated 3 comments.
Comments suppressed due to low confidence (1)
.github/workflows/release.yml:44
- There are now two separate steps named "Download EH artifacts" (one for exnref EH and one for legacy EH). Consider giving them distinct names so the workflow logs are unambiguous when debugging releases.
- name: Download EH artifacts
uses: actions/download-artifact@v4
with:
name: wasix-sysroot-exnref-eh
path: wasix-sysroot-exnref-eh
- name: Download EHPIC artifacts
uses: actions/download-artifact@v4
with:
name: wasix-sysroot-exnref-ehpic
path: wasix-sysroot-exnref-ehpic
- name: Download EH artifacts
uses: actions/download-artifact@v4
with:
name: wasix-sysroot-eh
path: wasix-sysroot-eh
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 12 out of 12 changed files in this pull request and generated 2 comments.
Comments suppressed due to low confidence (1)
.github/workflows/release.yml:49
- There are two steps named "Download EH artifacts" (lines 27 and 39) and two named "Download EHPIC artifacts" (lines 33 and 45). The first pair downloads exnref variants while the second pair downloads legacy variants. Consider renaming them to distinguish between the two, e.g., "Download exnref-EH artifacts" and "Download legacy EH artifacts" to avoid confusion.
- name: Download EH artifacts
uses: actions/download-artifact@v4
with:
name: wasix-sysroot-exnref-eh
path: wasix-sysroot-exnref-eh
- name: Download EHPIC artifacts
uses: actions/download-artifact@v4
with:
name: wasix-sysroot-exnref-ehpic
path: wasix-sysroot-exnref-ehpic
- name: Download EH artifacts
uses: actions/download-artifact@v4
with:
name: wasix-sysroot-eh
path: wasix-sysroot-eh
- name: Download EHPIC artifacts
uses: actions/download-artifact@v4
with:
name: wasix-sysroot-ehpic
path: wasix-sysroot-ehpic
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
No description provided.