Skip to content

toolchain: set x86 as verification target and use no_std accross the project - #688

Merged
rikosellic merged 10 commits into
asterinas:mainfrom
rikosellic:sync-dv-and-fix-x86
Aug 4, 2026
Merged

toolchain: set x86 as verification target and use no_std accross the project#688
rikosellic merged 10 commits into
asterinas:mainfrom
rikosellic:sync-dv-and-fix-x86

Conversation

@rikosellic

@rikosellic rikosellic commented Aug 3, 2026

Copy link
Copy Markdown
Collaborator

After careful investigation of SMT files on different platforms, we find that the regression in macOS and aarch-linux verification performance is PARTLY caused by a mix of the platform on which Verus is running and the platform on which the verified Asterias version is supposed to run! Therefore, anyone using Verus on an ARM architecture machine (typically macOS with Apple silicon) previously would ignore any Verus code under [cfg(target_arch)].

This PR hardcodes x86_64 as the target Asterinas version to be verified. Consequently, disable any std usage in vstd, vstd_extra and ostd.

@rikosellic rikosellic added the verus-toolchain Nonbreaking change of toolchain, like using new features or version update label Aug 3, 2026
@rikosellic rikosellic changed the title toolchain: set x86 as verification target and disable std in vstd_extra toolchain: set x86 as verification target and use no_std accross the project Aug 3, 2026
@rikosellic rikosellic added the verification bug Unsoundness, verification panics, or unsupported features label Aug 3, 2026
@hiroki-chen

Copy link
Copy Markdown
Collaborator

I tested around the generated SMT2 files and used different Z3 backends and all had different behaviors. I'm trying different Z3 versions now.

@hiroki-chen

Copy link
Copy Markdown
Collaborator

The immediate remedy is to decompose the large proof function of lemma_frame_drop_pre_derivable into smaller pieces as we suspect that Z3 will instantiate quantifiers differently on different architecture and the internal algorithm might be flaky.

@Marsman1996

Copy link
Copy Markdown
Collaborator

The doc building error will be fixed with asterinas/rust-deductive-verifier#37

@rikosellic
rikosellic merged commit 5f6248d into asterinas:main Aug 4, 2026
4 checks passed
@rikosellic
rikosellic deleted the sync-dv-and-fix-x86 branch August 4, 2026 06:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

verification bug Unsoundness, verification panics, or unsupported features verus-toolchain Nonbreaking change of toolchain, like using new features or version update

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants