Releases: embed-zig/esp-zig-bootstrap
v0.15.2-r7
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.xzzig-v0.15.2-r7-aarch64-macos-none-baseline.tar.xzzig-v0.15.2-r7-aarch64-windows-gnu-baseline.tar.xzzig-v0.15.2-r7-x86_64-linux-gnu-baseline.tar.xzzig-v0.15.2-r7-x86_64-macos-none-baseline.tar.xzzig-v0.15.2-r7-x86_64-windows-gnu-baseline.tar.xz
v0.16.0-r4
Automated release for v0.16.0-r4.
Source commit: f351609a57870e9796ec41b9f38ca8cecc2e5edf
Highlights
- Updated to Zig toolchain version
0.16.0with 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.shhas been updated to include new test case references.
- The
- 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.xzzig-v0.16.0-r4-aarch64-macos-none-baseline.tar.xzzig-v0.16.0-r4-aarch64-windows-gnu-baseline.tar.xzzig-v0.16.0-r4-x86_64-linux-gnu-baseline.tar.xzzig-v0.16.0-r4-x86_64-macos-none-baseline.tar.xzzig-v0.16.0-r4-x86_64-windows-gnu-baseline.tar.xz
v0.16.0-r3
Automated release for v0.16.0-r3.
Source commit: e4847c181e96103f297ca9f31cc9546693392935
Highlights
- This release introduces Zig toolchain support for version
0.16.0with downstream ESP Xtensa enhancements. - C and C++ programming languages now support
__int128andunsigned __int128, enabling advanced data handling with new typedefs and built-in operations.
Changes
-
New Features:
- Implemented support for
__int128_tand__uint128_tin C and C++. - Added builtin functions to handle atomic operations and overflow with
__int128. - Included arithmetic operations for
unsigned __int128.
- Implemented support for
-
Regression Test Enhancements:
- Added comprehensive regression tests for
__int128, including atomic operations, arithmetic behavior, overflow checks, and its integration with C++.
- Added comprehensive regression tests for
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
__int128types and their operations.
Artifacts
zig-v0.16.0-r3-aarch64-linux-gnu-baseline.tar.xzzig-v0.16.0-r3-aarch64-macos-none-baseline.tar.xzzig-v0.16.0-r3-aarch64-windows-gnu-baseline.tar.xzzig-v0.16.0-r3-x86_64-linux-gnu-baseline.tar.xzzig-v0.16.0-r3-x86_64-macos-none-baseline.tar.xzzig-v0.16.0-r3-x86_64-windows-gnu-baseline.tar.xz
v0.15.2-r6
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
__int128and__uint128types in C, facilitating built-in operations for arithmetic, overflow detection, and atomic operations.
Changes
- C Int128 Feature: Implemented support for
__int128and__uint128types in the Xtensa compiler, enhancing C development capabilities. - New Regression Tests: Added a suite of regression tests to verify the correctness of
__int128and__uint128in 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.xzzig-v0.15.2-r6-aarch64-macos-none-baseline.tar.xzzig-v0.15.2-r6-aarch64-windows-gnu-baseline.tar.xzzig-v0.15.2-r6-x86_64-linux-gnu-baseline.tar.xzzig-v0.15.2-r6-x86_64-macos-none-baseline.tar.xzzig-v0.15.2-r6-x86_64-windows-gnu-baseline.tar.xz
v0.16.0-r2
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.xzzig-v0.16.0-r2-aarch64-macos-none-baseline.tar.xzzig-v0.16.0-r2-aarch64-windows-gnu-baseline.tar.xzzig-v0.16.0-r2-x86_64-linux-gnu-baseline.tar.xzzig-v0.16.0-r2-x86_64-macos-none-baseline.tar.xzzig-v0.16.0-r2-x86_64-windows-gnu-baseline.tar.xz
v0.15.2-r5
Automated release for v0.15.2-r5.
Source commit: 8955b97525dc9d76ac606b43d52bb6436b949c8d
Highlights
- Shipped Zig toolchain version:
v0.15.2-r5with 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.shto 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.xzzig-v0.15.2-r5-aarch64-macos-none-baseline.tar.xzzig-v0.15.2-r5-aarch64-windows-gnu-baseline.tar.xzzig-v0.15.2-r5-x86_64-linux-gnu-baseline.tar.xzzig-v0.15.2-r5-x86_64-macos-none-baseline.tar.xzzig-v0.15.2-r5-x86_64-windows-gnu-baseline.tar.xz
v0.16.0-r1
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.xzzig-v0.16.0-r1-aarch64-macos-none-baseline.tar.xzzig-v0.16.0-r1-aarch64-windows-gnu-baseline.tar.xzzig-v0.16.0-r1-x86_64-linux-gnu-baseline.tar.xzzig-v0.16.0-r1-x86_64-macos-none-baseline.tar.xzzig-v0.16.0-r1-x86_64-windows-gnu-baseline.tar.xz
v0.15.2-r4
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-gnuand
aarch64-windows-gnuhost packages now build and ship alongside the macOS
and Linux packages.
Packaged Targets
aarch64-macos-none-baselinex86_64-macos-none-baselineaarch64-linux-gnu-baselinex86_64-linux-gnu-baselinex86_64-windows-gnu-baselineaarch64-windows-gnu-baseline
Notes
SHA256SUMSin the release assets contains checksums for all sixr4archives.README.mdin the release assets mirrors the current0.15.2/README.md
patch catalog for the shipped bootstrap inputs.
v0.15.2-r3
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, includingLLVM ERROR: Cannot selectcrashes onv4i1
BUILD_VECTORpaths. - 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-baselinex86_64-macos-none-baselineaarch64-linux-gnu-baselinex86_64-linux-gnu-baseline
Notes
SHA256SUMSin this directory contains checksums for all fourr3archives.- The repository patch set was also reorganized into per-file patches for
maintainability, but the primary reason forr3is the Xtensa compiler fix in
the shipped Zig binaries.
v0.15.2-r2
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
arm64etarget aliases when matching macOS TBD entries so the
aarch64-macos-nonehost build works with newer Xcode SDK metadata. - Remove the Xtensa
ADDMIimmediate DAG fast path that could trigger
Cannot selectbackend crashes in optimized builds. - Keep the Xtensa text-literal default and register scavenging adjustments in
the bootstrap patch set.
Packaged Targets
aarch64-macos-none-baselinex86_64-macos-none-baselinex86_64-linux-gnu-baselineaarch64-linux-gnu-baseline
Notes
- All four packaged outputs were rebuilt from build trees that include the
updated Mach-O and Xtensa patch hunks. SHA256SUMSin this directory contains checksums for all fourr2
archives.