diff options
| author | iximeow <me@iximeow.net> | 2026-02-19 02:14:57 +0000 |
|---|---|---|
| committer | iximeow <me@iximeow.net> | 2026-05-25 04:31:49 +0000 |
| commit | 87dc48adcce4e80aa98a2867edacc023579fc4c4 (patch) | |
| tree | 940bf543d76b8d294f3d2abb792fb0ff6fa7e296 /goodfile | |
| parent | 0ec3011a3d04de741be642e4d36e826174657fdc (diff) | |
add behavior information for x86_64 instructions
this is a squash of a few months' hacking, including but not limited to
what eventually got extracted into
https://git.iximeow.net/asmlinator/about/
the path here is generally not historically interesting, and the vast
majority of this diff is very particular static data tables
(BehaviorDigests and implicit operand lists)
`src/long_mode/behavior.rs` will more or less be directly adapted into
versions for x86-32 and x86-16, similar to the instruction decoders.
Diffstat (limited to 'goodfile')
| -rw-r--r-- | goodfile | 14 |
1 files changed, 13 insertions, 1 deletions
@@ -9,11 +9,23 @@ Step.start("crate") Step.push("build") Build.run({"cargo", "build"}) -- `run` automatically records stdout and stderr to log files named after the command Step.advance("test") -Build.run({"cargo", "test"}, {name="test stdlib/fmt"}) -- artifacts are stored under `name` if that's present +-- default features include "behavior" which gets the relatively slow (and KVM-requiring) behavior validation tests +Build.run({"cargo", "test", "--features", "_debug_internal_asserts", "--", "--skip", "kvm"}, {name="test stdlib/fmt"}) -- artifacts are stored under `name` if that's present +-- but no default features means these aren't built in! Build.run({"cargo", "test", "--no-default-features"}, {name="test nostdlib/nofmt"}) Build.run({"cargo", "test", "--no-default-features", "--features", "fmt"}, {name="test nostdlib/fmt"}) Build.run({"cargo", "test", "--no-default-features", "--features", "std"}, {name="test nostdlib/std"}) +Build.run({"cargo", "test", "--no-default-features", "--features", "unstable"}, {name="test nostdlib/unstable"}) Build.run({"cargo", "test", "--no-default-features", "--features", "std,fmt"}, {name="test nostdlib/std+fmt"}) +Build.run({"cargo", "test", "--no-default-features", "--features", "std,fmt,unstable"}, {name="test nostdlib/std+fmt+unstable"}) + +Step.advance("test-kvm") +Build.run({"cargo", "test", "--release", "--no-default-features", "--features", "behavior"}, {name="test nostdlib/behavior"}) +Build.run({"cargo", "test", "--release", "--no-default-features", "--features", "behavior,fmt"}, {name="test nostdlib/behavior+fmt"}) +Build.run({"cargo", "test", "--release", "--no-default-features", "--features", "behavior,std"}, {name="test nostdlib/behavior+std"}) +Build.run({"cargo", "test", "--release", "--no-default-features", "--features", "behavior,fmt,std,_debug_internal_asserts"}, {name="test nostdlib/behavior+fmt+std"}) +Build.run({"cargo", "test", "--release", "--no-default-features", "--features", "behavior,fmt,std,unstable,_debug_internal_asserts"}, {name="test nostdlib/behavior+fmt+std+unstable"}) + -- the interesting benchmarking happens through disas-bench, but the in-tree capstone bench isn't gone *quite* yet. Step.start("bench") |
