Skip to content

Update default GCC to esp-16.1.0_20260609 - #605

Merged
SergioGasquez merged 2 commits into
esp-rs:mainfrom
SergioGasquez:feat/gcc-16.1.0
Oct 27, 2026
Merged

SergioGasquez merged 2 commits into
esp-rs:mainfrom
SergioGasquez:feat/gcc-16.1.0

Conversation

@SergioGasquez

Copy link
Copy Markdown
Member

Updates the default GCC / Crosstools version to esp-16.1.0_20260609. This is the first release that ships aarch64-w64-mingw32 builds, so ARM64 Windows hosts now get a native GCC.

#601 already maps aarch64-pc-windows-msvc to the aarch64-w64-mingw32 artifact. However, #602 reverted the default to esp-15.2.0_20250920, which has no ARM64 Windows build, so GCC installation on those hosts fails with 404 Not Found. This PR supersedes #604, which worked around the 404 by installing the emulated x86_64 build.

Why 16.1.0 and not 16.2.0

esp-16.2.0_20260914 was reverted (#602) because of esp-rs/esp-hal#6520: every link that uses an INCLUDEd linker script fails on Windows with linker script file '…memory.x (…linkall.x)' appears multiple times. That bug was introduced in binutils 2.47 by upstream commit 47071f8b14a0 ("same-inode.h: don't depend on _GL_WINDOWS_STAT_INODES"). It was fixed upstream in ab1830f63310 and afa6db16e650, which are not in any crosstool-NG release yet. 16.1.0 ships binutils 2.46 (esp-2.46.0_20260609), where SAME_INODE is still 0 on native Windows, so it isn't affected.

Testing

  • cargo fmt --check, cargo clippy --all-targets --all-features -- -D warnings, and cargo test pass.
  • All 12 artifacts espup can request (riscv32-esp-elf and xtensa-esp-elf × the 6 host builds) return HTTP 200.
  • The aarch64-w64-mingw32 zips use the same <arch>/bin layout as the x86_64-w64-mingw32 zips.
  • A freshly generated esp32 project (esp-hal 1.2.2) links with xtensa-esp32-elf-gcc 16.1.0 on aarch64-apple-darwin.
  • Not tested on a Windows host (x86_64 or ARM64).

Note that --crosstool-toolchain-version set to a release older than 20260609 still has no ARM64 Windows artifact.

@SergioGasquez
SergioGasquez merged commit b120ed1 into esp-rs:main Oct 27, 2026
22 checks passed
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.

1 participant