Skip to content

ferrocene: bump all artifact pins to ferrocene_toolchain_builder 1.3.1 - #35

Merged
dcalavrezo-qorix merged 1 commit into
mainfrom
dcalavrezo_ferrocene_131
Jul 31, 2026
Merged

ferrocene: bump all artifact pins to ferrocene_toolchain_builder 1.3.1#35
dcalavrezo-qorix merged 1 commit into
mainfrom
dcalavrezo_ferrocene_131

Conversation

@dcalavrezo-qorix

Copy link
Copy Markdown
Contributor

1.3.0 mixed artifacts from two different builds: the coverage-tools tarball was freshly rebuilt (ubuntu20-prof tree) while the main toolchain tarballs were carried over (ubuntu24-prof tree). The dynamically linked Rust tools (symbol-report/blanket) require the exact libstd of the build that produced them, so every consumer of the default toolchains failed the blanket coverage flow with 'symbol lookup error: undefined symbol: ..._3std...Mutex4wake' (seen on eclipse-score/lifecycle#369 and eclipse-score/baselibs#412).

1.3.1 rebuilds ALL artifacts from a single tree:

  • symbol-report/blanket ABI-match the shipped libstd again (verified: both carry std build Csi8ZjCaVeSd1)
  • miri-sysroots now include libprofiler_builtins, so coverage- instrumented compiles against the Miri sysroot no longer fail with E0463 (root fix; the --build_tests_only mitigation in cicd-workflows remains as defense in depth)
  • QNX toolchains are built with the profiler runtime for the first time
  • coverage-tools keep llvm-cov/llvm-profdata/llvm-cxxfilt (the 1.3.0 feature enabling Rust coverage instrumentation)

Validated against lifecycle with a local override: rust tests green under ferrocene-coverage, blanket report generated (94.25% line coverage), llvm tools and miri profiler_builtins present.

1.3.0 mixed artifacts from two different builds: the coverage-tools
tarball was freshly rebuilt (ubuntu20-prof tree) while the main
toolchain tarballs were carried over (ubuntu24-prof tree). The
dynamically linked Rust tools (symbol-report/blanket) require the exact
libstd of the build that produced them, so every consumer of the
default toolchains failed the blanket coverage flow with
'symbol lookup error: undefined symbol: ..._3std...Mutex4wake'
(seen on eclipse-score/lifecycle#369 and eclipse-score/baselibs#412).

1.3.1 rebuilds ALL artifacts from a single tree:
- symbol-report/blanket ABI-match the shipped libstd again (verified:
  both carry std build Csi8ZjCaVeSd1)
- miri-sysroots now include libprofiler_builtins, so coverage-
  instrumented compiles against the Miri sysroot no longer fail with
  E0463 (root fix; the --build_tests_only mitigation in cicd-workflows
  remains as defense in depth)
- QNX toolchains are built with the profiler runtime for the first time
- coverage-tools keep llvm-cov/llvm-profdata/llvm-cxxfilt (the 1.3.0
  feature enabling Rust coverage instrumentation)

Validated against lifecycle with a local override: rust tests green
under ferrocene-coverage, blanket report generated (94.25% line
coverage), llvm tools and miri profiler_builtins present.
@dcalavrezo-qorix
dcalavrezo-qorix merged commit 7f16930 into main Jul 31, 2026
5 checks passed
@dcalavrezo-qorix
dcalavrezo-qorix deleted the dcalavrezo_ferrocene_131 branch July 31, 2026 07:21
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.

2 participants