Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Does this tool must run on cargo environments and given toolchain version? #69

Open
Yinwhe opened this issue Nov 8, 2024 · 1 comment

Comments

@Yinwhe
Copy link

Yinwhe commented Nov 8, 2024

Hi, I got two questions about this tools:

  1. I notice that this tool use rustc_private feature and TyCtxt as the core structures for functionality. However, in some scenario we may not be able build the crates directly (for example, in FFI cases, we may use Makefile and rustc directly to build the projects), and thus, we can only have the MIR codes. Is it possible to use these MIR files for analysis?
  2. Similarly, if the target projects cannot be built using the given toolchain version, can this tool easily move to another version? What's the development overhead?
@hxuhack
Copy link
Contributor

hxuhack commented Nov 16, 2024

I notice that this tool use rustc_private feature and TyCtxt as the core structures for functionality. However, in some scenario we may not be able build the crates directly (for example, in FFI cases, we may use Makefile and rustc directly to build the projects), and thus, we can only have the MIR codes. Is it possible to use these MIR files for analysis?

Many projects with makefiles also employ Cargo build. You may search the Cargo.toml file within the project to run RAP. Can you give an example if this does not work for you?

Similarly, if the target projects cannot be built using the given toolchain version, can this tool easily move to another version? What's the development overhead?

Since Rustc maintains a good backward compatibility for existing Rust projects, we will continuously upgrade our tool based on the latest Rustc version.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants