Skip to content

Releases: embed-zig/esp-zig-bootstrap

v0.15.2-r7

25 May 08:09

Choose a tag to compare

Automated release for v0.15.2-r7.

Source commit: f176549b2823ec25f427a8b6fb10b1a959162afa

Highlights

  • Released toolchain version: Zig 0.15.2 with downstream ESP Xtensa support.
  • Improvements to Xtensa compiler and backend.

Changes

  • Fixed issues with the application of GNU patches for Xtensa.
  • Resolved regressions related to scalar bool combine operations.
  • Added new regression test cases:
    • xtensa-scalar-bool-bitwise: Validates scalar bool bitwise operations (AND/OR/XOR).
    • xtensa-selectiondag-combine-loop: Tests the behavior of LLVM IR in a SelectionDAG combine loop.

Notes

  • Enhanced validation coverage for scalar boolean operations, testing their promotion and function calls, as well as optimization levels for the Xtensa target.
  • This release improves the overall quality and stability of the toolchain.

Artifacts

  • zig-v0.15.2-r7-aarch64-linux-gnu-baseline.tar.xz
  • zig-v0.15.2-r7-aarch64-macos-none-baseline.tar.xz
  • zig-v0.15.2-r7-aarch64-windows-gnu-baseline.tar.xz
  • zig-v0.15.2-r7-x86_64-linux-gnu-baseline.tar.xz
  • zig-v0.15.2-r7-x86_64-macos-none-baseline.tar.xz
  • zig-v0.15.2-r7-x86_64-windows-gnu-baseline.tar.xz

v0.16.0-r4

25 May 10:38

Choose a tag to compare

Automated release for v0.16.0-r4.

Source commit: f351609a57870e9796ec41b9f38ca8cecc2e5edf

Highlights

  • Updated to Zig toolchain version 0.16.0 with enhanced support for Xtensa architecture.
  • Resolved scalar boolean combination regressions, addressing crashes related to internal fastcc returns.
  • Introduced new regression test cases to improve validation of scalar boolean operations and LLVM IR behavior in SelectionDAG optimizations.

Changes

  • New Test Cases:
    • Added regression tests for scalar bool bitwise operations and an LLVM IR case for Xtensa SelectionDAG combining.
  • Manifest Update:
    • The manifest.sh has been updated to include new test case references.
  • Bug Fixes:
    • Fixed issues with scalar bool combination regressions to enhance stability.

Notes

  • This release emphasizes enhanced test coverage, particularly focusing on scalar boolean operations and LLVM IR behavior, providing improved regression validation and stability for the toolset now supporting the Xtensa architecture.

Artifacts

  • zig-v0.16.0-r4-aarch64-linux-gnu-baseline.tar.xz
  • zig-v0.16.0-r4-aarch64-macos-none-baseline.tar.xz
  • zig-v0.16.0-r4-aarch64-windows-gnu-baseline.tar.xz
  • zig-v0.16.0-r4-x86_64-linux-gnu-baseline.tar.xz
  • zig-v0.16.0-r4-x86_64-macos-none-baseline.tar.xz
  • zig-v0.16.0-r4-x86_64-windows-gnu-baseline.tar.xz

v0.16.0-r3

17 May 13:06

Choose a tag to compare

Automated release for v0.16.0-r3.

Source commit: e4847c181e96103f297ca9f31cc9546693392935

Highlights

  • This release introduces Zig toolchain support for version 0.16.0 with downstream ESP Xtensa enhancements.
  • C and C++ programming languages now support __int128 and unsigned __int128, enabling advanced data handling with new typedefs and built-in operations.

Changes

  • New Features:

    • Implemented support for __int128_t and __uint128_t in C and C++.
    • Added builtin functions to handle atomic operations and overflow with __int128.
    • Included arithmetic operations for unsigned __int128.
  • Regression Test Enhancements:

    • Added comprehensive regression tests for __int128, including atomic operations, arithmetic behavior, overflow checks, and its integration with C++.

Notes

  • This release focuses on Xtensa compiler/backend improvements, particularly the addition of C int128 support.
  • Validation coverage has been expanded with new tests to ensure robust handling of __int128 types and their operations.

Artifacts

  • zig-v0.16.0-r3-aarch64-linux-gnu-baseline.tar.xz
  • zig-v0.16.0-r3-aarch64-macos-none-baseline.tar.xz
  • zig-v0.16.0-r3-aarch64-windows-gnu-baseline.tar.xz
  • zig-v0.16.0-r3-x86_64-linux-gnu-baseline.tar.xz
  • zig-v0.16.0-r3-x86_64-macos-none-baseline.tar.xz
  • zig-v0.16.0-r3-x86_64-windows-gnu-baseline.tar.xz

v0.15.2-r6

17 May 12:57

Choose a tag to compare

Automated release for v0.15.2-r6.

Source commit: e4847c181e96103f297ca9f31cc9546693392935

Highlights

  • Toolchain Release: This is the final release of the esp-zig-bootstrap toolchain, now available as v0.15.2-r6, supporting Zig 0.15.2 with downstream ESP Xtensa enhancements.
  • C Int128 Support: The update introduces support for __int128 and __uint128 types in C, facilitating built-in operations for arithmetic, overflow detection, and atomic operations.

Changes

  • C Int128 Feature: Implemented support for __int128 and __uint128 types in the Xtensa compiler, enhancing C development capabilities.
  • New Regression Tests: Added a suite of regression tests to verify the correctness of __int128 and __uint128 in both C and C++ contexts, encompassing arithmetic, overflow checks, typedef validation, and atomic operations.

Notes

  • The release includes comprehensive validation coverage for the new 128-bit integer types, ensuring their proper functionality across various scenarios.

Artifacts

  • zig-v0.15.2-r6-aarch64-linux-gnu-baseline.tar.xz
  • zig-v0.15.2-r6-aarch64-macos-none-baseline.tar.xz
  • zig-v0.15.2-r6-aarch64-windows-gnu-baseline.tar.xz
  • zig-v0.15.2-r6-x86_64-linux-gnu-baseline.tar.xz
  • zig-v0.15.2-r6-x86_64-macos-none-baseline.tar.xz
  • zig-v0.15.2-r6-x86_64-windows-gnu-baseline.tar.xz

v0.16.0-r2

14 May 06:27

Choose a tag to compare

Automated release for v0.16.0-r2.

Source commit: 8955b97525dc9d76ac606b43d52bb6436b949c8d

Highlights

  • Shipped Zig toolchain version 0.16.0 with enhanced support for Xtensa architecture.
  • Improved scalar boolean promotion handling in the Xtensa backend to prevent type legalization issues.

Changes

  • Added multiple regression test cases for scalar boolean promotion, including tests for:
    • Scalar bool return
    • Inverted returns
    • Exports
    • Negation
    • Call arguments

Notes

  • Increased validation coverage for scalar boolean return values and promoted types in various contexts, ensuring robust handling and compatibility with the Xtensa architecture.
  • This release includes updates to the CI and release automation processes to streamline future updates.

Artifacts

  • zig-v0.16.0-r2-aarch64-linux-gnu-baseline.tar.xz
  • zig-v0.16.0-r2-aarch64-macos-none-baseline.tar.xz
  • zig-v0.16.0-r2-aarch64-windows-gnu-baseline.tar.xz
  • zig-v0.16.0-r2-x86_64-linux-gnu-baseline.tar.xz
  • zig-v0.16.0-r2-x86_64-macos-none-baseline.tar.xz
  • zig-v0.16.0-r2-x86_64-windows-gnu-baseline.tar.xz

v0.15.2-r5

14 May 06:32

Choose a tag to compare

Automated release for v0.15.2-r5.

Source commit: 8955b97525dc9d76ac606b43d52bb6436b949c8d

Highlights

  • Shipped Zig toolchain version: v0.15.2-r5 with downstream ESP Xtensa support.
  • Fixed scalar boolean promotion regressions in the Xtensa compiler, enhancing ABI compliance.
  • Finalized automated release workflow for more streamlined versioning and tagging processes.

Changes

  • Added regression test cases for scalar boolean promotions, including return values and handling of explicit negations.
  • Updated manifest.sh to include new test cases for enhanced validation coverage.

Notes

  • This release improves validation through additional regression tests, covering scalar boolean argument promotions and various edge cases to ensure compatibility and correctness.

Artifacts

  • zig-v0.15.2-r5-aarch64-linux-gnu-baseline.tar.xz
  • zig-v0.15.2-r5-aarch64-macos-none-baseline.tar.xz
  • zig-v0.15.2-r5-aarch64-windows-gnu-baseline.tar.xz
  • zig-v0.15.2-r5-x86_64-linux-gnu-baseline.tar.xz
  • zig-v0.15.2-r5-x86_64-macos-none-baseline.tar.xz
  • zig-v0.15.2-r5-x86_64-windows-gnu-baseline.tar.xz

v0.16.0-r1

05 May 09:34

Choose a tag to compare

Automated release for v0.16.0-r1.

Source commit: 27738cdc3377e8cf5c51d7188f505ec2e39fa7c8

Highlights

  • This release introduces the Zig 0.16.0 toolchain with enhancements focused on Xtensa support, including multiple patches to improve the Xtensa backend.
  • New regression tests have been added to validate key features of boolean vector operations and ensure robustness of the Xtensa architecture.

Changes

  • Toolchain Support: Updated to Zig 0.16.0, enabling broader functionalities and optimizations.
  • Xtensa Compiler/Backend:
    • Added multiple patches to enhance support for Xtensa, including improvements in code generation, instruction selection, and frame lowering.
    • Enhanced handling of boolean vector operations, including bitwise operations, insert/extract functionality, and float comparisons.
  • Release Automation: Implemented a tag-driven release workflow, clarifying tagging requirements and streamlining the release process.
  • Validation Coverage: Significant expansion of regression tests, focusing on:
    • Boolean vector operations and edge case handling.
    • Debug paths for memory safety and alignment in low-level assembly.
    • Testing the transition between scalar and vector operations.

Notes

  • Users are encouraged to explore the new features and improvements with the Xtensa architecture. The enhancements in the backend should lead to better performance and reliability in applications utilizing these capabilities. Regression test coverage ensures improved validation for Xtensa functionalities in future development.

Artifacts

  • zig-v0.16.0-r1-aarch64-linux-gnu-baseline.tar.xz
  • zig-v0.16.0-r1-aarch64-macos-none-baseline.tar.xz
  • zig-v0.16.0-r1-aarch64-windows-gnu-baseline.tar.xz
  • zig-v0.16.0-r1-x86_64-linux-gnu-baseline.tar.xz
  • zig-v0.16.0-r1-x86_64-macos-none-baseline.tar.xz
  • zig-v0.16.0-r1-x86_64-windows-gnu-baseline.tar.xz

v0.15.2-r4

19 Apr 17:17
@idy idy

Choose a tag to compare

0.15.2-r4

This release republishes the 0.15.2 bootstrap outputs after the Xtensa patch
stack was expanded, regression-tested, and rebuilt across all currently
supported host targets.

Changes

  • Add focused Xtensa fixes for frame scavenging, packed bool-vector stack slots,
    high-group boolean register writeback, and L32R constant-island placement.
  • Add a committed regression harness with Zig repros and Debug-only assembly
    checks that cover the fragile Xtensa backend paths shipped in this release.
  • Fix the Windows zstd bootstrap path so both x86_64-windows-gnu and
    aarch64-windows-gnu host packages now build and ship alongside the macOS
    and Linux packages.

Packaged Targets

  • aarch64-macos-none-baseline
  • x86_64-macos-none-baseline
  • aarch64-linux-gnu-baseline
  • x86_64-linux-gnu-baseline
  • x86_64-windows-gnu-baseline
  • aarch64-windows-gnu-baseline

Notes

  • SHA256SUMS in the release assets contains checksums for all six r4 archives.
  • README.md in the release assets mirrors the current 0.15.2/README.md
    patch catalog for the shipped bootstrap inputs.

v0.15.2-r3

01 Apr 17:35
@idy idy

Choose a tag to compare

0.15.2-r3

This release republishes the 0.15.2 bootstrap outputs with a critical Xtensa
backend fix for optimized builds.

Changes

  • Fix severe Xtensa backend failures triggered by optimized boolean-vector
    lowering, including LLVM ERROR: Cannot select crashes on v4i1
    BUILD_VECTOR paths.
  • Fix the follow-on Xtensa post-isel / object-emission failure around
    MOVBA4_P2, so the generated compiler can finish producing object code
    instead of failing during machine-code emission.
  • Restore successful compilation for the Xtensa TLS server handshake repro that
    previously failed in optimized builds.
  • Keep the packaged host outputs aligned across all four supported host targets.

Packaged Targets

  • aarch64-macos-none-baseline
  • x86_64-macos-none-baseline
  • aarch64-linux-gnu-baseline
  • x86_64-linux-gnu-baseline

Notes

  • SHA256SUMS in this directory contains checksums for all four r3 archives.
  • The repository patch set was also reorganized into per-file patches for
    maintainability, but the primary reason for r3 is the Xtensa compiler fix in
    the shipped Zig binaries.

v0.15.2-r2

31 Mar 03:38
@idy idy

Choose a tag to compare

0.15.2-r2

This release republishes the 0.15.2 bootstrap outputs after updating
0.15.2/espressif.patch and rebuilding all four packaged host targets.

Changes

  • Add arm64e target aliases when matching macOS TBD entries so the
    aarch64-macos-none host build works with newer Xcode SDK metadata.
  • Remove the Xtensa ADDMI immediate DAG fast path that could trigger
    Cannot select backend crashes in optimized builds.
  • Keep the Xtensa text-literal default and register scavenging adjustments in
    the bootstrap patch set.

Packaged Targets

  • aarch64-macos-none-baseline
  • x86_64-macos-none-baseline
  • x86_64-linux-gnu-baseline
  • aarch64-linux-gnu-baseline

Notes

  • All four packaged outputs were rebuilt from build trees that include the
    updated Mach-O and Xtensa patch hunks.
  • SHA256SUMS in this directory contains checksums for all four r2
    archives.