Skip to content

Add sysroot builds with new exception handling#98

Merged
Arshia001 merged 11 commits intomainfrom
use-new-eh
Feb 13, 2026
Merged

Add sysroot builds with new exception handling#98
Arshia001 merged 11 commits intomainfrom
use-new-eh

Conversation

@zebreus
Copy link
Member

@zebreus zebreus commented Feb 10, 2026

No description provided.

Copilot AI review requested due to automatic review settings February 10, 2026 11:09
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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_EH build axis and add convenience wrappers for legacy EH variants.
  • Update Makefile-eh to accept LEGACY_EH and 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.

@zebreus zebreus requested a review from Arshia001 February 10, 2026 12:00
Copy link

@Arshia001 Arshia001 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

To stay backwards-compatible, we need to name the new configurations new-eh etc., and keep the -eh names for legacy EH.

Maybe we can use the name exnref in the configuration names, something like 32-eh-exnref?

Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

zebreus and others added 2 commits February 12, 2026 15:08
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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>
@Arshia001 Arshia001 merged commit 390cfba into main Feb 13, 2026
5 checks passed
@Arshia001 Arshia001 deleted the use-new-eh branch February 13, 2026 12:25
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants