Repository navigation
Add Rust obfuscation toolchains and close audit gaps - #3
Merged
Merged
Conversation
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 free
to 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.
Summary
Adds a pinned Rust 1.99 toolchain using this LLVM 23.1.3 fork, with an opt-in seven-pass pipeline, Cargo package/target selection, and native compiler/sysroot packages for macOS ARM64, Linux ARM64/AMD64, and Windows AMD64. The shared Clang transforms, selection reports, and delivery tooling now cover the correctness and verification gaps found during the audit.
Audit fixes
--, isolate compiler-event routing, and use the matchingrustdoc. Deliverlibtestandrustdocso unit, integration, and documentation tests work from extracted packages..interprow. Add O0/O2 static string/constant recovery experiments.Verification
Verified head:
f1287d9cf94ea4a1d9426dbfde53296e71bb7293.Current PR workflows both completed successfully at this head:
Coverage includes 16 portable regression suites plus four section-parser tests; LLVM, Cargo launcher, delivery/provenance, and machine-code extraction unit tests; Cargo unit/integration/doctests and output types; strict selection and forwarded arguments; Rust EH/panic, LTO, and seeded parallel-codegen checks; live HTTPS; and final-code/data witnesses. Linux also runs the four-language HTTPS suite. The full local extracted-toolchain gate passed at the same head.
Independently downloaded and verified the four archives from the earlier successful qualification run at the same head:
Archive checksums, file inventories, source/component provenance, exact revision, clean-source state, and full/HTTPS/benchmark smoke flags matched. All hosts produced nine Clang measurement variants with seven individual-pass witnesses and the same four-million-iteration checksum; O0/O2 recovery experiments checked six inputs each. Windows passed both the cyclic-junction regression and corrected O0/O2 native string-safety checks.
Verification boundaries: the optional Windows Clang global-access LTO runtime subtest skipped because the baseline linker could not consume that bitcode; Rust local ThinLTO checks passed. Platform-specific unit-test skips remain explicit. Hosted packages disable optional LLVM libraries; the separate local macOS build uses Homebrew zstd, so its smoke result alone is not clean-machine portability evidence. Performance and recovery measurements describe the tested fixtures.