Skip to content

[AUTOMATED] Pin the fatstr-records witness to a runtime-indexed table (rustc 1.99 emits no record for println pieces) - #1275

Merged
mahaloz merged 1 commit into
mainfrom
fix-fatstr-witness-rustc199
Oct 26, 2026
Merged

mahaloz merged 1 commit into
mainfrom
fix-fatstr-witness-rustc199

Conversation

@mahaloz

@mahaloz mahaloz commented Oct 26, 2026

Copy link
Copy Markdown
Contributor

Main's workspace suite is red on verify_fatstr_records: CI runs rustc 1.99.1, whose format lowering no longer materializes a (ptr, len) record for a println! literal piece — no relocation and no pointer word reference the piece anywhere in the image (measured against 1.90.0, where the pieces record carries the relocated slot the e2e was pinned to). A bare static &str is likewise const-folded at -O.

The witness is now a runtime-indexed [&str; 3] table, which cannot fold and emits three records in .data.rel.ro under both toolchains (verified: RELATIVE slot plus the 21-byte length companion on 1.90.0 and 1.99.1). That is also the most common real-world shape the record pass feeds on. Test-only change; the test passes under both rustc versions locally.

🤖 Generated with Claude Code

https://claude.ai/code/session_01WoTv7T2Ep5hmbZcyYSMk1g

… (rustc 1.99 emits no record for println pieces)

CI runs rustc 1.99.1, whose format lowering no longer materializes a
(ptr,len) record for a println literal piece - no relocation and no pointer
word reference the piece anywhere in the image (measured against 1.90.0,
where the pieces record carries the relocated slot the e2e was pinned to).
A bare static &str is likewise const-folded into code at -O. The witness is
now a runtime-indexed [&str; 3] table, which cannot fold and emits three
records in .data.rel.ro under both toolchains (verified: RELATIVE slot with
the 21-byte length companion on 1.90.0 and 1.99.1); it is also the shape the
record pass most often feeds on in real binaries. Test-only change.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01WoTv7T2Ep5hmbZcyYSMk1g
@mahaloz mahaloz added the full-ci Run the full cargo workspace suite on this PR before merge (internal PRs skip it by default) label Oct 26, 2026
@mahaloz
mahaloz merged commit 2439608 into main Oct 26, 2026
10 of 11 checks passed
@mahaloz
mahaloz deleted the fix-fatstr-witness-rustc199 branch October 26, 2026 00:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

full-ci Run the full cargo workspace suite on this PR before merge (internal PRs skip it by default)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant