Uh oh!
There was an error while loading. Please reload this page.
Pin the RISC-V toolchain to xPack GCC 14.3.0 - #54
Merged
Conversation
The PolarFire job pinned xPack riscv-none-elf-gcc 14.2.0-1 while the ARM job now pins Arm GNU Toolchain 14.3.Rel1, so the two cross-compilers in this pipeline were a minor release apart for no reason. xPack published v14.3.0-1 on 2025-10-23; moving to it puts both targets on GCC 14.3 and keeps the AGENTS.md GCC 14 requirement satisfied. The published SHA256 is updated alongside the version. The existing checksum verification is kept as it was: this job already verified its download, which is why it needed no other hardening. Verified locally with xPack GNU RISC-V Embedded GCC 14.3.0: - Clean build of polarfire_icicle_demo.elf. - Headless Renode suite passes, exit 0, with all startup self-tests green: _sbrk bounds, HWTimer catch-up clamp, PLIC Hart 1 configuration, the queue round-trip, ThreadX ticks, the LM75 alarm, and the PLIC RX interrupt. The linker warning about a LOAD segment with RWX permissions is unchanged by this bump. It is emitted identically by 14.2.0 in the current pipeline, so it predates this change and is left for separate treatment rather than folded in here. Assisted-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
Uh oh!
There was an error while loading. Please reload this page.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for freeto join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Pin the RISC-V toolchain to xPack GCC 14.3.0
Why
After #53 the ARM job pins Arm GNU Toolchain 14.3.Rel1, but the PolarFire job still pinned xPack
riscv-none-elf-gcc14.2.0-1 — leaving the two cross-compilers in one pipeline a minor release apart for no reason. xPack publishedv14.3.0-1on 2025-10-23, so both targets can sit on GCC 14.3 while still satisfying the AGENTS.md GCC 14 requirement.What changed
One step, three values: the release tag, the tarball name, and the published SHA256.
v14.2.0-1v14.3.0-1a5eb7075…6200be1768ef…c726No other hardening was needed here. Unlike the ARM step before #53, this job already verified its download with
sha256sum --check --strict, which is why #53's checksum fix did not apply to it.Verification
Installed xPack GNU RISC-V Embedded GCC 14.3.0 locally and ran the full pipeline by hand:
polarfire_icicle_demo.elf._sbrkbounds, the HWTimer catch-up clamp, PLIC Hart 1 configuration (IRQ 91 prio=1 en=0x08000000 thresh=0 mie=0x800), the queue round-trip, ThreadX ticks, the LM75 alarm, and the PLIC RX interrupt.One pre-existing issue, deliberately not folded in
The build emits:
I checked whether the bump introduced it: it did not. The current pipeline on 14.2.0 emits the identical warning (visible in the run 33430244827 build log, from
riscv-none-elf/14.2.0). It points at the PolarFire linker script placing writable and executable content in one segment, and deserves its own change rather than being buried in a version bump.Follow-up worth considering
The xPack and Renode downloads still re-fetch on every run — roughly 400 MB and 200 MB respectively, the latter in two separate jobs.
actions/cache, as #53 added for the ARM toolchain, would apply to all three.