Skip to content

Pin the RISC-V toolchain to xPack GCC 14.3.0 - #54

Merged
fdesbiens merged 1 commit into
eclipse-threadx:devfrom
fdesbiens:fix/pin-riscv-gcc-14.3
Aug 31, 2026
Merged

Pin the RISC-V toolchain to xPack GCC 14.3.0#54
fdesbiens merged 1 commit into
eclipse-threadx:devfrom
fdesbiens:fix/pin-riscv-gcc-14.3

Conversation

@fdesbiens

Copy link
Copy Markdown
Contributor

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 published v14.3.0-1 on 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.

BeforeAfter
Releasev14.2.0-1v14.3.0-1
GCC14.2.014.3.0
SHA256a5eb7075…6200be1768ef…c726

No 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:

  • Clean build of polarfire_icicle_demo.elf.
  • Headless Renode suite passes, exit 0, with every startup self-test green — _sbrk bounds, 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.
  • Checksum verified against the value published in the release assets.

One pre-existing issue, deliberately not folded in

The build emits:

ld: warning: app/polarfire_icicle_demo.elf has a LOAD segment with RWX permissions

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.

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>
@fdesbiens
fdesbiens merged commit a166e86 into eclipse-threadx:devAug 31, 2026
5 checks passed
@fdesbiens
fdesbiens deleted the fix/pin-riscv-gcc-14.3 branch August 31, 2026 19:34
Sign up for freeto 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

@fdesbiens
, 'i'); if (__m === '*' || __re.test(location.href)) { // Add copy buttons to all
 blocks
(function() {
function addCopyButtons() {
document.querySelectorAll('pre code').forEach(function(codeBlock) {
if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;
codeBlock.parentElement.setAttribute('data-copy-added', 'true');
var btn = document.createElement('button');
btn.textContent = 'Copy';
btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';
btn.onmouseover = function() { this.style.opacity = '1'; };
btn.onmouseout = function() { this.style.opacity = '0.7'; };
btn.onclick = function() {
navigator.clipboard.writeText(codeBlock.textContent).then(function() {
btn.textContent = 'Copied!';
setTimeout(function() { btn.textContent = 'Copy'; }, 1500);
});
};
codeBlock.parentElement.style.position = 'relative';
codeBlock.parentElement.appendChild(btn);
});
}
addCopyButtons();
// Re-run on dynamic content
var observer = new MutationObserver(addCopyButtons);
observer.observe(document.body, { childList: true, subtree: true });
})();
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Pin the RISC-V toolchain to xPack GCC 14.3.0 by fdesbiens · Pull Request #54 · eclipse-threadx/samplex · GitHub
Skip to content

Pin the RISC-V toolchain to xPack GCC 14.3.0 - #54

Merged
fdesbiens merged 1 commit into
eclipse-threadx:devfrom
fdesbiens:fix/pin-riscv-gcc-14.3
Aug 31, 2026
Merged

Pin the RISC-V toolchain to xPack GCC 14.3.0#54
fdesbiens merged 1 commit into
eclipse-threadx:devfrom
fdesbiens:fix/pin-riscv-gcc-14.3

Conversation

@fdesbiens

Copy link
Copy Markdown
Contributor

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 published v14.3.0-1 on 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.

BeforeAfter
Releasev14.2.0-1v14.3.0-1
GCC14.2.014.3.0
SHA256a5eb7075…6200be1768ef…c726

No 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:

  • Clean build of polarfire_icicle_demo.elf.
  • Headless Renode suite passes, exit 0, with every startup self-test green — _sbrk bounds, 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.
  • Checksum verified against the value published in the release assets.

One pre-existing issue, deliberately not folded in

The build emits:

ld: warning: app/polarfire_icicle_demo.elf has a LOAD segment with RWX permissions

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.

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>
@fdesbiens
fdesbiens merged commit a166e86 into eclipse-threadx:devAug 31, 2026
5 checks passed
@fdesbiens
fdesbiens deleted the fix/pin-riscv-gcc-14.3 branch August 31, 2026 19:34
Sign up for freeto 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

@fdesbiens
, 'i'); if (__m === '*' || __re.test(location.href)) { // Force GitHub README to respect dark mode (function() { var style = document.createElement('style'); style.textContent = ' .markdown-body { color-scheme: dark light; } .markdown-body pre { background: #161b22 !important; } .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; } .markdown-body table th, .markdown-body table td { border-color: #30363d !important; } .markdown-body img { background: #0d1117; } .markdown-body blockquote { border-left-color: #8b949e; } .markdown-body hr { border-color: #30363d; } '; document.head.appendChild(style); })(); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' Pin the RISC-V toolchain to xPack GCC 14.3.0 by fdesbiens · Pull Request #54 · eclipse-threadx/samplex · GitHub
Skip to content

Pin the RISC-V toolchain to xPack GCC 14.3.0 - #54

Merged
fdesbiens merged 1 commit into
eclipse-threadx:devfrom
fdesbiens:fix/pin-riscv-gcc-14.3
Aug 31, 2026
Merged

Pin the RISC-V toolchain to xPack GCC 14.3.0#54
fdesbiens merged 1 commit into
eclipse-threadx:devfrom
fdesbiens:fix/pin-riscv-gcc-14.3

Conversation

@fdesbiens

Copy link
Copy Markdown
Contributor

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 published v14.3.0-1 on 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.

BeforeAfter
Releasev14.2.0-1v14.3.0-1
GCC14.2.014.3.0
SHA256a5eb7075…6200be1768ef…c726

No 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:

  • Clean build of polarfire_icicle_demo.elf.
  • Headless Renode suite passes, exit 0, with every startup self-test green — _sbrk bounds, 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.
  • Checksum verified against the value published in the release assets.

One pre-existing issue, deliberately not folded in

The build emits:

ld: warning: app/polarfire_icicle_demo.elf has a LOAD segment with RWX permissions

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.

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>
@fdesbiens
fdesbiens merged commit a166e86 into eclipse-threadx:devAug 31, 2026
5 checks passed
@fdesbiens
fdesbiens deleted the fix/pin-riscv-gcc-14.3 branch August 31, 2026 19:34
Sign up for freeto 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

@fdesbiens
, 'i'); if (__m === '*' || __re.test(location.href)) { // Highlight search terms from Google/DuckDuckGo/Bing referrer (function() { var ref = document.referrer; var terms = []; if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) { var url = new URL(ref); var q = url.searchParams.get('q') || url.searchParams.get('p'); if (q) { terms = q.split(/\s+/).filter(function(t) { return t.length > 2; }); } } if (terms.length === 0) return; var style = document.createElement('style'); style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }'; document.head.appendChild(style); function highlight(node) { if (node.nodeType === 3) { // text node var text = node.textContent; var found = false; terms.forEach(function(term) { var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\]\\]/g, '\\') + ')', 'gi'); if (regex.test(text)) { found = true; var frag = document.createDocumentFragment(); var parts = text.split(regex); parts.forEach(function(part, i) { if (i % 2 === 0) { frag.appendChild(document.createTextNode(part)); } else { var span = document.createElement('span'); span.className = 'userscript-highlight'; span.textContent = part; frag.appendChild(span); } }); node.parentNode.replaceChild(frag, node); } }); } else if (node.nodeType === 1 && node.childNodes) { // element var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT']; if (!skipTags.includes(node.tagName)) { Array.from(node.childNodes).forEach(highlight); } } } highlight(document.body); // Re-highlight on dynamic content var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1 || node.nodeType === 3) highlight(node); }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' Pin the RISC-V toolchain to xPack GCC 14.3.0 by fdesbiens · Pull Request #54 · eclipse-threadx/samplex · GitHub
Skip to content

Pin the RISC-V toolchain to xPack GCC 14.3.0 - #54

Merged
fdesbiens merged 1 commit into
eclipse-threadx:devfrom
fdesbiens:fix/pin-riscv-gcc-14.3
Aug 31, 2026
Merged

Pin the RISC-V toolchain to xPack GCC 14.3.0#54
fdesbiens merged 1 commit into
eclipse-threadx:devfrom
fdesbiens:fix/pin-riscv-gcc-14.3

Conversation

@fdesbiens

Copy link
Copy Markdown
Contributor

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 published v14.3.0-1 on 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.

BeforeAfter
Releasev14.2.0-1v14.3.0-1
GCC14.2.014.3.0
SHA256a5eb7075…6200be1768ef…c726

No 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:

  • Clean build of polarfire_icicle_demo.elf.
  • Headless Renode suite passes, exit 0, with every startup self-test green — _sbrk bounds, 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.
  • Checksum verified against the value published in the release assets.

One pre-existing issue, deliberately not folded in

The build emits:

ld: warning: app/polarfire_icicle_demo.elf has a LOAD segment with RWX permissions

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.

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>
@fdesbiens
fdesbiens merged commit a166e86 into eclipse-threadx:devAug 31, 2026
5 checks passed
@fdesbiens
fdesbiens deleted the fix/pin-riscv-gcc-14.3 branch August 31, 2026 19:34
Sign up for freeto 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

@fdesbiens
, 'i'); if (__m === '*' || __re.test(location.href)) { // Strip utm_, fbclid, gclid, etc. from all links on page (function() { var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content', 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid', 'ref', 'ref_src', 'source', 'medium', 'campaign']; function cleanUrl(url) { try { var u = new URL(url, window.location.origin); var changed = false; trackingParams.forEach(function(p) { if (u.searchParams.has(p)) { u.searchParams.delete(p); changed = true; } }); return changed ? u.toString() : url; } catch (e) { return url; } } function cleanLinks() { document.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } cleanLinks(); var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1) { if (node.tagName === 'A') cleanLinks(); node.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + ' Pin the RISC-V toolchain to xPack GCC 14.3.0 by fdesbiens · Pull Request #54 · eclipse-threadx/samplex · GitHub
Skip to content

Pin the RISC-V toolchain to xPack GCC 14.3.0 - #54

Merged
fdesbiens merged 1 commit into
eclipse-threadx:devfrom
fdesbiens:fix/pin-riscv-gcc-14.3
Aug 31, 2026
Merged

Pin the RISC-V toolchain to xPack GCC 14.3.0#54
fdesbiens merged 1 commit into
eclipse-threadx:devfrom
fdesbiens:fix/pin-riscv-gcc-14.3

Conversation

@fdesbiens

Copy link
Copy Markdown
Contributor

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 published v14.3.0-1 on 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.

BeforeAfter
Releasev14.2.0-1v14.3.0-1
GCC14.2.014.3.0
SHA256a5eb7075…6200be1768ef…c726

No 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:

  • Clean build of polarfire_icicle_demo.elf.
  • Headless Renode suite passes, exit 0, with every startup self-test green — _sbrk bounds, 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.
  • Checksum verified against the value published in the release assets.

One pre-existing issue, deliberately not folded in

The build emits:

ld: warning: app/polarfire_icicle_demo.elf has a LOAD segment with RWX permissions

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.

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>
@fdesbiens
fdesbiens merged commit a166e86 into eclipse-threadx:devAug 31, 2026
5 checks passed
@fdesbiens
fdesbiens deleted the fix/pin-riscv-gcc-14.3 branch August 31, 2026 19:34
Sign up for freeto 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

@fdesbiens
, 'i'); if (__m === '*' || __re.test(location.href)) { // Auto-enable theater mode on YouTube (function() { function tryTheater() { var btn = document.querySelector('button[aria-label="Theater mode"], ytd-player #player button[title="Theater mode"]'); if (btn && !btn.classList.contains('activated')) { btn.click(); } } // Try immediately tryTheater(); // Try after navigation (SPA) var lastUrl = location.href; setInterval(function() { if (location.href !== lastUrl) { lastUrl = location.href; setTimeout(tryTheater, 500); } }, 1000); // Also try on player load var observer = new MutationObserver(tryTheater); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' Pin the RISC-V toolchain to xPack GCC 14.3.0 by fdesbiens · Pull Request #54 · eclipse-threadx/samplex · GitHub
Skip to content

Pin the RISC-V toolchain to xPack GCC 14.3.0 - #54

Merged
fdesbiens merged 1 commit into
eclipse-threadx:devfrom
fdesbiens:fix/pin-riscv-gcc-14.3
Aug 31, 2026
Merged

Pin the RISC-V toolchain to xPack GCC 14.3.0#54
fdesbiens merged 1 commit into
eclipse-threadx:devfrom
fdesbiens:fix/pin-riscv-gcc-14.3

Conversation

@fdesbiens

Copy link
Copy Markdown
Contributor

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 published v14.3.0-1 on 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.

BeforeAfter
Releasev14.2.0-1v14.3.0-1
GCC14.2.014.3.0
SHA256a5eb7075…6200be1768ef…c726

No 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:

  • Clean build of polarfire_icicle_demo.elf.
  • Headless Renode suite passes, exit 0, with every startup self-test green — _sbrk bounds, 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.
  • Checksum verified against the value published in the release assets.

One pre-existing issue, deliberately not folded in

The build emits:

ld: warning: app/polarfire_icicle_demo.elf has a LOAD segment with RWX permissions

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.

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>
@fdesbiens
fdesbiens merged commit a166e86 into eclipse-threadx:devAug 31, 2026
5 checks passed
@fdesbiens
fdesbiens deleted the fix/pin-riscv-gcc-14.3 branch August 31, 2026 19:34
Sign up for freeto 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

@fdesbiens
, 'i'); if (__m === '*' || __re.test(location.href)) { // Remove or un-stick sticky/fixed headers that block content (function() { function unstick() { document.querySelectorAll('header, nav, [role="banner"], .header, .navbar, .sticky, .fixed-top, [style*="position: fixed"], [style*="position:sticky"]').forEach(function(el) { if (el.style.position === 'fixed' || el.style.position === 'sticky' || getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') { el.style.position = 'static'; el.style.top = 'auto'; el.style.zIndex = 'auto'; } }); } unstick(); var observer = new MutationObserver(unstick); observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] }); })(); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' Pin the RISC-V toolchain to xPack GCC 14.3.0 by fdesbiens · Pull Request #54 · eclipse-threadx/samplex · GitHub
Skip to content

Pin the RISC-V toolchain to xPack GCC 14.3.0 - #54

Merged
fdesbiens merged 1 commit into
eclipse-threadx:devfrom
fdesbiens:fix/pin-riscv-gcc-14.3
Aug 31, 2026
Merged

Pin the RISC-V toolchain to xPack GCC 14.3.0#54
fdesbiens merged 1 commit into
eclipse-threadx:devfrom
fdesbiens:fix/pin-riscv-gcc-14.3

Conversation

@fdesbiens

Copy link
Copy Markdown
Contributor

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 published v14.3.0-1 on 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.

BeforeAfter
Releasev14.2.0-1v14.3.0-1
GCC14.2.014.3.0
SHA256a5eb7075…6200be1768ef…c726

No 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:

  • Clean build of polarfire_icicle_demo.elf.
  • Headless Renode suite passes, exit 0, with every startup self-test green — _sbrk bounds, 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.
  • Checksum verified against the value published in the release assets.

One pre-existing issue, deliberately not folded in

The build emits:

ld: warning: app/polarfire_icicle_demo.elf has a LOAD segment with RWX permissions

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.

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>
@fdesbiens
fdesbiens merged commit a166e86 into eclipse-threadx:devAug 31, 2026
5 checks passed
@fdesbiens
fdesbiens deleted the fix/pin-riscv-gcc-14.3 branch August 31, 2026 19:34
Sign up for freeto 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

@fdesbiens
, 'i'); if (__m === '*' || __re.test(location.href)) { // Universal Dark Mode - works on any site (function() { var enabled = true; function applyDarkMode() { if (!enabled) return; // Create style element if it doesn't exist var style = document.getElementById('universal-dark-mode-style'); if (!style) { style = document.createElement('style'); style.id = 'universal-dark-mode-style'; document.head.appendChild(style); } // Dark mode CSS - inverts colors but preserves images/video style.textContent = ' /* Invert everything except media */ html { filter: invert(1) hue-rotate(180deg) !important; background: #1a1a2e !important; } /* Restore images, videos, iframes, canvas */ img, video, iframe, canvas, svg, picture, [style*="background-image"] { filter: invert(1) hue-rotate(180deg) !important; } /* Preserve specific elements that should not be inverted */ .no-dark-mode, .no-dark-mode *, [data-theme="light"], [data-theme="light"], .ace_editor, .ace_editor *, .CodeMirror, .CodeMirror *, .monaco-editor, .monaco-editor *, .markdown-body pre, .markdown-body pre *, .highlight, .highlight *, pre code, pre code * { filter: none !important; } /* Fix common UI elements */ .modal, .popup, .dropdown-menu, .tooltip, .popover { filter: invert(1) hue-rotate(180deg) !important; background: #2d2d44 !important; border-color: #444 !important; } /* Scrollbars */ ::-webkit-scrollbar { background: #1a1a2e !important; } ::-webkit-scrollbar-thumb { background: #444 !important; } ::-webkit-scrollbar-thumb:hover { background: #555 !important; } /* Selection */ ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; } ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; } '; } function removeDarkMode() { var style = document.getElementById('universal-dark-mode-style'); if (style) style.remove(); } // Toggle with Alt+Shift+D document.addEventListener('keydown', function(e) { if (e.altKey && e.shiftKey && e.key === 'D') { e.preventDefault(); enabled = !enabled; if (enabled) { applyDarkMode(); console.log('[Universal Dark Mode] Enabled'); } else { removeDarkMode(); console.log('[Universal Dark Mode] Disabled'); } } }); // Apply on load applyDarkMode(); // Re-apply on dynamic content var observer = new MutationObserver(function(mutations) { if (enabled && !document.getElementById('universal-dark-mode-style')) { applyDarkMode(); } }); observer.observe(document.head, { childList: true }); console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle'); })(); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })(); Pin the RISC-V toolchain to xPack GCC 14.3.0 by fdesbiens · Pull Request #54 · eclipse-threadx/samplex · GitHub
Skip to content

Pin the RISC-V toolchain to xPack GCC 14.3.0 - #54

Merged
fdesbiens merged 1 commit into
eclipse-threadx:devfrom
fdesbiens:fix/pin-riscv-gcc-14.3
Aug 31, 2026
Merged

Pin the RISC-V toolchain to xPack GCC 14.3.0#54
fdesbiens merged 1 commit into
eclipse-threadx:devfrom
fdesbiens:fix/pin-riscv-gcc-14.3

Conversation

@fdesbiens

Copy link
Copy Markdown
Contributor

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 published v14.3.0-1 on 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.

BeforeAfter
Releasev14.2.0-1v14.3.0-1
GCC14.2.014.3.0
SHA256a5eb7075…6200be1768ef…c726

No 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:

  • Clean build of polarfire_icicle_demo.elf.
  • Headless Renode suite passes, exit 0, with every startup self-test green — _sbrk bounds, 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.
  • Checksum verified against the value published in the release assets.

One pre-existing issue, deliberately not folded in

The build emits:

ld: warning: app/polarfire_icicle_demo.elf has a LOAD segment with RWX permissions

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.

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>
@fdesbiens
fdesbiens merged commit a166e86 into eclipse-threadx:devAug 31, 2026
5 checks passed
@fdesbiens
fdesbiens deleted the fix/pin-riscv-gcc-14.3 branch August 31, 2026 19:34
Sign up for freeto 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

@fdesbiens