From b8ccc0f8a60ac16fdc00f4b2e36e1a5db8b78295 Mon Sep 17 00:00:00 2001 From: Matthew Kraai Date: Wed, 25 Dec 2019 11:56:19 -0800 Subject: [PATCH] Remove `compiler_builtins_lib` documentation Fixes #67593 --- .../src/language-features/lang-items.md | 6 +--- .../library-features/compiler-builtins-lib.md | 35 ------------------- 2 files changed, 1 insertion(+), 40 deletions(-) delete mode 100644 src/doc/unstable-book/src/library-features/compiler-builtins-lib.md diff --git a/src/doc/unstable-book/src/language-features/lang-items.md b/src/doc/unstable-book/src/language-features/lang-items.md index d4ad65e84b7b4..6f096e582f575 100644 --- a/src/doc/unstable-book/src/language-features/lang-items.md +++ b/src/doc/unstable-book/src/language-features/lang-items.md @@ -188,11 +188,7 @@ pub extern fn rust_begin_panic(info: &PanicInfo) -> ! { In many cases, you may need to manually link to the `compiler_builtins` crate when building a `no_std` binary. You may observe this via linker error messages -such as "```undefined reference to `__rust_probestack'```". Using this crate -also requires enabling the library feature `compiler_builtins_lib`. You can read -more about this [here][compiler-builtins-lib]. - -[compiler-builtins-lib]: ../library-features/compiler-builtins-lib.md +such as "```undefined reference to `__rust_probestack'```". ## More about the language items diff --git a/src/doc/unstable-book/src/library-features/compiler-builtins-lib.md b/src/doc/unstable-book/src/library-features/compiler-builtins-lib.md deleted file mode 100644 index 6c71c3f2ce191..0000000000000 --- a/src/doc/unstable-book/src/library-features/compiler-builtins-lib.md +++ /dev/null @@ -1,35 +0,0 @@ -# `compiler_builtins_lib` - -The tracking issue for this feature is: None. - ------------------------- - -This feature is required to link to the `compiler_builtins` crate which contains -"compiler intrinsics". Compiler intrinsics are software implementations of basic -operations like multiplication of `u64`s. These intrinsics are only required on -platforms where these operations don't directly map to a hardware instruction. - -You should never need to explicitly link to the `compiler_builtins` crate when -building "std" programs as `compiler_builtins` is already in the dependency -graph of `std`. But you may need it when building `no_std` **binary** crates. If -you get a *linker* error like: - -``` text -$PWD/src/main.rs:11: undefined reference to `__aeabi_lmul' -$PWD/src/main.rs:11: undefined reference to `__aeabi_uldivmod' -``` - -That means that you need to link to this crate. - -When you link to this crate, make sure it only appears once in your crate -dependency graph. Also, it doesn't matter where in the dependency graph you -place the `compiler_builtins` crate. - - - -``` rust,ignore -#![feature(compiler_builtins_lib)] -#![no_std] - -extern crate compiler_builtins; -```