cargo-compiler-interrupts
cargo-compiler-interrupts provides you a seamless way to integrate the Compiler Interrupts to any Rust packages. Check out the Compiler Interrupts main repository for more info.
Requirements
- Rust 1.45.0 or later and LLVM 9 or later are required. Both must have the same LLVM version.
- You can check the LLVM version from Rust toolchain and LLVM toolchain by running
rustc -vVandllvm-config --versionrespectively. - x86-64 architecture with Linux or macOS is highly recommended. Other architectures and platforms have not been tested.
Installation
cargo-compiler-interrupts is a Cargo package and can be installed via cargo install.
You can also fetch the repo and install using --path.
Getting started
cargo-compiler-interrupts provides three subcommands:
cargo lib-ci— manage the Compiler Interrupts library.cargo build-ci— build and integrate the Compiler Interrupts to the package.cargo run-ci— run the integrated binary. You can specify which binary to run by passing--bin <BINARY>.
Make sure your program registers the Compiler Interrupts handler before running cargo build-ci. Compiler Interrupts APIs are provided through the compiler-interrupts package.
unsafe
For more detailed usages and internals, run the command with --help option and check out the documentation.
Contribution
All issue reports, feature requests, pull requests and GitHub stars are welcomed and much appreciated. Issues relating to the Compiler Interrupts integration should be reported to the main repository.
Author
Quan Tran (@quanshousio)
Acknowledgements
- My advisor Jakob Eriksson for the enormous support for this project.
- Nilanjana Basu for implementing the Compiler Interrupts.
License
cargo-compiler-interrupts is available under the MIT license. See the LICENSE file for more info.