mirror of
https://github.com/vee1e/lancelot.git
synced 2026-09-01 18:57:09 +00:00
mirror of https://github.com/vee1e/lancelot - intel x86(-64) code analysis library that reconstructs contr
| .env | ||
| .github | ||
| bin | ||
| core | ||
| flirt | ||
| pyflirt | ||
| pylancelot | ||
| resources/evaluation/SoK | ||
| .envrc | ||
| .gitignore | ||
| .pre-commit-config.yaml | ||
| .rustfmt.toml | ||
| Cargo.toml | ||
| justfile | ||
| LICENSE | ||
| README.md | ||
| rust-toolchain.toml | ||
Lancelot
intel x86(-64) code analysis library that reconstructs control flow
dependencies
- make
- cmake
- pkg-config
Consider using cranelift during development:
$ rustup component add rustc-codegen-cranelift-preview --toolchain nightly
$ env CARGO_PROFILE_DEV_CODEGEN_BACKEND=cranelift cargo build -Zcodegen-backend
Also consider using mold:
$ mold -run cargo build
# or with cranelift:
$ env CARGO_PROFILE_DEV_CODEGEN_BACKEND=cranelift mold -run cargo build -Zcodegen-backend
If it doesn't work with your (read: Willi's) nix setup, use it just for incremental builds.
maintenance
$ rustup update # update rust compiler
$ cargo update # update dependencies, not crossing major versions
$ cargo outdated -x unicorn # find outdated major version dependencies
because we use an older version of unicorn thats easier to build with cargo, we want to ignore any old dependencies stemming from unicorn.
testing
$ pre-commit run --all-files --hook-stage manual