diff --git a/README.md b/README.md index 4eeadb1..3d0ded1 100644 --- a/README.md +++ b/README.md @@ -12,6 +12,27 @@ See [rust-lang/rust#35437][0]. [0]: https://github.com/rust-lang/rust/issues/35437 +## When and how to use this crate? + +If you are working with a target that doesn't have binary releases of std available via rustup (this +probably means you are building the core crate yourself) and need compiler-rt intrinsics (i.e. you +are probably getting linker errors when building an executable: "undefined reference to +__aeabi_memcpy"), you can use this crate to get those intrinsics and solve the linker errors. To do +that, simply add this crate as a Cargo dependency (it doesn't matter where in the dependency graph +this crate ends up, as long as it's there): + +``` toml +[dependencies] +rustc-builtins = { git = "https://github.com/japaric/rustc-builtins" } +``` + +If you still get an "undefined reference to $INTRINSIC" error after that change, that means that we +haven't ported `$INTRINSIC` to Rust yet! Please open [an issue] with the name of the intrinsic and +the LLVM triple (e.g. thumbv7m-none-eabi) of the target you are using. That way we can prioritize +porting that particular intrinsic. + +[an issue]: https://github.com/japaric/rustc-builtins/issues + ## Contributing 1. Pick one or more intrinsics from the [pending list][#progress].